#[repr(C)]pub struct tm_shader_repository_api {Show 31 fields
pub create: Option<unsafe extern "C" fn(*mut tm_shader_system_io_o, *mut tm_allocator_i, *mut tm_renderer_backend_i, *mut tm_renderer_shader_compiler_api, *mut tm_the_truth_o) -> *mut tm_shader_repository_o>,
pub destroy: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_renderer_resource_command_buffer_o)>,
pub set_the_truth: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_the_truth_o)>,
pub create_truth_types: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>,
pub import_truth_declaration_from_config: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *const tm_config_i, *const tm_json_parse_info_t, u64, u64, *const tm_file_time_o, *const i8) -> tm_tt_id_t>,
pub destroy_truth_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64)>,
pub lookup_truth_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64) -> tm_tt_id_t>,
pub lookup_declaration_validity_hash: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, tm_tt_id_t) -> u64>,
pub load_shader_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_shader_declaration_o, tm_tt_id_t)>,
pub last_modified: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, tm_tt_id_t, *mut tm_file_time_o)>,
pub host_save_state: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut *mut i8, *mut tm_allocator_i)>,
pub client_load_state: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_the_truth_o, *mut *const i8)>,
pub create_shader_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_allocator_i) -> *mut tm_shader_declaration_o>,
pub destroy_shader_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_shader_declaration_o)>,
pub generate_system_includes: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *const i8)>,
pub update_shaders_from_directory: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *const i8, bool, *mut tm_allocator_i, *mut tm_renderer_resource_command_buffer_o)>,
pub allocator: Option<unsafe extern "C" fn(*mut tm_shader_repository_o) -> *mut tm_allocator_i>,
pub refresh_truth_shaders: Option<unsafe extern "C" fn(*mut tm_shader_repository_o)>,
pub lookup_or_create_shader: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64) -> *mut tm_shader_o>,
pub lookup_or_create_system: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64) -> *mut tm_shader_system_o>,
pub create_shader_from_blob: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_renderer_resource_command_buffer_o, *const tm_shader_blob_header_t) -> *mut tm_shader_o>,
pub compile_shader: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_renderer_resource_command_buffer_o, *mut tm_shader_o, u32, u64, *const u64, *mut *const tm_shader_declaration_o, u32, *mut *const tm_shader_declaration_o, u32, u64) -> bool>,
pub create_from_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_renderer_resource_command_buffer_o, tm_tt_id_t, u64, *mut tm_shader_declaration_o, *const tm_shader_creation_graph_data_o) -> bool>,
pub background_create_from_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, tm_tt_id_t, u64, *mut tm_shader_declaration_o, *const tm_shader_creation_graph_data_o, *const tm_shader_system_background_create_i)>,
pub destroy_shader: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64)>,
pub destroy_system: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64)>,
pub lookup_shader: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64) -> *mut tm_shader_o>,
pub lookup_system: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64) -> *mut tm_shader_system_o>,
pub recycle_resources: Option<unsafe extern "C" fn(*mut tm_shader_repository_o)>,
pub shader_state_override: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, i32) -> u32>,
pub lookup_shader_blob: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64, *mut u64) -> *const tm_shader_blob_header_t>,
}Fields§
§create: Option<unsafe extern "C" fn(*mut tm_shader_system_io_o, *mut tm_allocator_i, *mut tm_renderer_backend_i, *mut tm_renderer_shader_compiler_api, *mut tm_the_truth_o) -> *mut tm_shader_repository_o>§destroy: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_renderer_resource_command_buffer_o)>§set_the_truth: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_the_truth_o)>§create_truth_types: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>§import_truth_declaration_from_config: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *const tm_config_i, *const tm_json_parse_info_t, u64, u64, *const tm_file_time_o, *const i8) -> tm_tt_id_t>§destroy_truth_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64)>§lookup_truth_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64) -> tm_tt_id_t>§lookup_declaration_validity_hash: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, tm_tt_id_t) -> u64>§load_shader_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_shader_declaration_o, tm_tt_id_t)>§last_modified: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, tm_tt_id_t, *mut tm_file_time_o)>§host_save_state: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut *mut i8, *mut tm_allocator_i)>§client_load_state: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_the_truth_o, *mut *const i8)>§create_shader_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_allocator_i) -> *mut tm_shader_declaration_o>§destroy_shader_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_shader_declaration_o)>§generate_system_includes: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *const i8)>§update_shaders_from_directory: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *const i8, bool, *mut tm_allocator_i, *mut tm_renderer_resource_command_buffer_o)>§allocator: Option<unsafe extern "C" fn(*mut tm_shader_repository_o) -> *mut tm_allocator_i>§refresh_truth_shaders: Option<unsafe extern "C" fn(*mut tm_shader_repository_o)>§lookup_or_create_shader: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64) -> *mut tm_shader_o>§lookup_or_create_system: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64) -> *mut tm_shader_system_o>§create_shader_from_blob: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_renderer_resource_command_buffer_o, *const tm_shader_blob_header_t) -> *mut tm_shader_o>§compile_shader: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_renderer_resource_command_buffer_o, *mut tm_shader_o, u32, u64, *const u64, *mut *const tm_shader_declaration_o, u32, *mut *const tm_shader_declaration_o, u32, u64) -> bool>§create_from_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, *mut tm_renderer_resource_command_buffer_o, tm_tt_id_t, u64, *mut tm_shader_declaration_o, *const tm_shader_creation_graph_data_o) -> bool>§background_create_from_declaration: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, tm_tt_id_t, u64, *mut tm_shader_declaration_o, *const tm_shader_creation_graph_data_o, *const tm_shader_system_background_create_i)>§destroy_shader: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64)>§destroy_system: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64)>§lookup_shader: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64) -> *mut tm_shader_o>§lookup_system: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64) -> *mut tm_shader_system_o>§recycle_resources: Option<unsafe extern "C" fn(*mut tm_shader_repository_o)>§shader_state_override: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, i32) -> u32>§lookup_shader_blob: Option<unsafe extern "C" fn(*mut tm_shader_repository_o, u64, *mut u64) -> *const tm_shader_blob_header_t>Trait Implementations§
Source§impl Clone for tm_shader_repository_api
impl Clone for tm_shader_repository_api
Source§fn clone(&self) -> tm_shader_repository_api
fn clone(&self) -> tm_shader_repository_api
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for tm_shader_repository_api
Auto Trait Implementations§
impl Freeze for tm_shader_repository_api
impl RefUnwindSafe for tm_shader_repository_api
impl Send for tm_shader_repository_api
impl Sync for tm_shader_repository_api
impl Unpin for tm_shader_repository_api
impl UnwindSafe for tm_shader_repository_api
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more