Struct machinery_api::plugins::shader_system::ShaderRepositoryApi[][src]

#[repr(C)]
pub struct ShaderRepositoryApi {
Show 31 fields pub create: Option<unsafe extern "C" fn(system_io: *mut ShaderSystemIoO, a: *mut AllocatorI, backend: *mut RendererBackendI, shader_compiler_api: *mut RendererShaderCompilerApi, tt: *mut TheTruthO) -> *mut ShaderRepositoryO>, pub destroy: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, resource_buffer: *mut RendererResourceCommandBufferO)>, pub set_the_truth: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, tt: *mut TheTruthO)>, pub create_truth_types: Option<unsafe extern "C" fn(tt: *mut TheTruthO)>, pub import_truth_declaration_from_config: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, config: *const ConfigI, pi: *const JsonParseInfoT, name: StrhashT, validity_hash: u64, time_stamp: *const FileTimeO, filename: *const c_char) -> TtIdT>, pub destroy_truth_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT)>, pub lookup_truth_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT) -> TtIdT>, pub lookup_declaration_validity_hash: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, id: TtIdT) -> u64>, pub load_shader_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, declaration: *mut ShaderDeclarationO, id: TtIdT)>, pub last_modified: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, id: TtIdT, modified: *mut FileTimeO)>, pub host_save_state: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, carray: *mut *mut c_char, a: *mut AllocatorI)>, pub client_load_state: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, tt: *mut TheTruthO, state: *mut *const c_char)>, pub create_shader_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, a: *mut AllocatorI) -> *mut ShaderDeclarationO>, pub destroy_shader_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, declaration: *mut ShaderDeclarationO)>, pub generate_system_includes: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, output_path: *const c_char)>, pub update_shaders_from_directory: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, dir: *const c_char, recursive: bool, allocator: *mut AllocatorI, res_buf: *mut RendererResourceCommandBufferO)>, pub allocator: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO) -> *mut AllocatorI>, pub refresh_truth_shaders: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO)>, pub lookup_or_create_shader: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT) -> *mut ShaderO>, pub lookup_or_create_system: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT) -> *mut ShaderSystemO>, pub create_shader_from_blob: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, res_buf: *mut RendererResourceCommandBufferO, shader_blob: *const ShaderBlobHeaderT) -> *mut ShaderO>, pub compile_shader: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, res_buf: *mut RendererResourceCommandBufferO, shader: *mut ShaderO, active_shader_stages: u32, active_systems_bitmask: u64, active_system_names: *const StrhashT, active_systems: *mut *const ShaderDeclarationO, num_active_systems: u32, declarations: *mut *const ShaderDeclarationO, num_declarations: u32, validity_hash: u64) -> bool>, pub create_from_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, res_buf: *mut RendererResourceCommandBufferO, declaration: TtIdT, name: StrhashT, generated_code: *mut ShaderDeclarationO, creation_graph_data: *const ShaderCreationGraphDataO) -> bool>, pub background_create_from_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, declaration: TtIdT, name: StrhashT, generated_code: *mut ShaderDeclarationO, creation_graph_data: *const ShaderCreationGraphDataO, callback: *const ShaderSystemBackgroundCreateI)>, pub destroy_shader: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT)>, pub destroy_system: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT)>, pub lookup_shader: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT) -> *mut ShaderO>, pub lookup_system: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT) -> *mut ShaderSystemO>, pub recycle_resources: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO)>, pub shader_state_override: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, state_override: ShaderStateOverrides) -> RendererHandleT>, pub lookup_shader_blob: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT, size: *mut u64) -> *const ShaderBlobHeaderT>,
}

Fields

create: Option<unsafe extern "C" fn(system_io: *mut ShaderSystemIoO, a: *mut AllocatorI, backend: *mut RendererBackendI, shader_compiler_api: *mut RendererShaderCompilerApi, tt: *mut TheTruthO) -> *mut ShaderRepositoryO>destroy: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, resource_buffer: *mut RendererResourceCommandBufferO)>set_the_truth: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, tt: *mut TheTruthO)>create_truth_types: Option<unsafe extern "C" fn(tt: *mut TheTruthO)>import_truth_declaration_from_config: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, config: *const ConfigI, pi: *const JsonParseInfoT, name: StrhashT, validity_hash: u64, time_stamp: *const FileTimeO, filename: *const c_char) -> TtIdT>destroy_truth_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT)>lookup_truth_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT) -> TtIdT>lookup_declaration_validity_hash: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, id: TtIdT) -> u64>load_shader_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, declaration: *mut ShaderDeclarationO, id: TtIdT)>last_modified: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, id: TtIdT, modified: *mut FileTimeO)>host_save_state: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, carray: *mut *mut c_char, a: *mut AllocatorI)>client_load_state: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, tt: *mut TheTruthO, state: *mut *const c_char)>create_shader_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, a: *mut AllocatorI) -> *mut ShaderDeclarationO>destroy_shader_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, declaration: *mut ShaderDeclarationO)>generate_system_includes: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, output_path: *const c_char)>update_shaders_from_directory: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, dir: *const c_char, recursive: bool, allocator: *mut AllocatorI, res_buf: *mut RendererResourceCommandBufferO)>allocator: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO) -> *mut AllocatorI>refresh_truth_shaders: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO)>lookup_or_create_shader: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT) -> *mut ShaderO>lookup_or_create_system: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT) -> *mut ShaderSystemO>create_shader_from_blob: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, res_buf: *mut RendererResourceCommandBufferO, shader_blob: *const ShaderBlobHeaderT) -> *mut ShaderO>compile_shader: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, res_buf: *mut RendererResourceCommandBufferO, shader: *mut ShaderO, active_shader_stages: u32, active_systems_bitmask: u64, active_system_names: *const StrhashT, active_systems: *mut *const ShaderDeclarationO, num_active_systems: u32, declarations: *mut *const ShaderDeclarationO, num_declarations: u32, validity_hash: u64) -> bool>create_from_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, res_buf: *mut RendererResourceCommandBufferO, declaration: TtIdT, name: StrhashT, generated_code: *mut ShaderDeclarationO, creation_graph_data: *const ShaderCreationGraphDataO) -> bool>background_create_from_declaration: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, declaration: TtIdT, name: StrhashT, generated_code: *mut ShaderDeclarationO, creation_graph_data: *const ShaderCreationGraphDataO, callback: *const ShaderSystemBackgroundCreateI)>destroy_shader: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT)>destroy_system: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT)>lookup_shader: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT) -> *mut ShaderO>lookup_system: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT) -> *mut ShaderSystemO>recycle_resources: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO)>shader_state_override: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, state_override: ShaderStateOverrides) -> RendererHandleT>lookup_shader_blob: Option<unsafe extern "C" fn(inst: *mut ShaderRepositoryO, name: StrhashT, size: *mut u64) -> *const ShaderBlobHeaderT>

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.