#[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§
Source§impl ShaderRepositoryApi
impl ShaderRepositoryApi
pub unsafe fn create( &self, system_io: *mut ShaderSystemIoO, a: *mut AllocatorI, backend: *mut RendererBackendI, shader_compiler_api: *mut RendererShaderCompilerApi, tt: *mut TheTruthO, ) -> *mut ShaderRepositoryO
pub unsafe fn destroy( &self, inst: *mut ShaderRepositoryO, resource_buffer: *mut RendererResourceCommandBufferO, )
pub unsafe fn set_the_truth( &self, inst: *mut ShaderRepositoryO, tt: *mut TheTruthO, )
pub unsafe fn create_truth_types(&self, tt: *mut TheTruthO)
pub unsafe fn import_truth_declaration_from_config( &self, inst: *mut ShaderRepositoryO, config: *const ConfigI, pi: *const JsonParseInfoT, name: StrhashT, validity_hash: u64, time_stamp: *const FileTimeO, filename: *const c_char, ) -> TtIdT
pub unsafe fn destroy_truth_declaration( &self, inst: *mut ShaderRepositoryO, name: StrhashT, )
pub unsafe fn lookup_truth_declaration( &self, inst: *mut ShaderRepositoryO, name: StrhashT, ) -> TtIdT
pub unsafe fn lookup_declaration_validity_hash( &self, inst: *mut ShaderRepositoryO, id: TtIdT, ) -> u64
pub unsafe fn load_shader_declaration( &self, inst: *mut ShaderRepositoryO, declaration: *mut ShaderDeclarationO, id: TtIdT, )
pub unsafe fn last_modified( &self, inst: *mut ShaderRepositoryO, id: TtIdT, modified: *mut FileTimeO, )
pub unsafe fn host_save_state( &self, inst: *mut ShaderRepositoryO, carray: *mut *mut c_char, a: *mut AllocatorI, )
pub unsafe fn client_load_state( &self, inst: *mut ShaderRepositoryO, tt: *mut TheTruthO, state: *mut *const c_char, )
pub unsafe fn create_shader_declaration( &self, inst: *mut ShaderRepositoryO, a: *mut AllocatorI, ) -> *mut ShaderDeclarationO
pub unsafe fn destroy_shader_declaration( &self, inst: *mut ShaderRepositoryO, declaration: *mut ShaderDeclarationO, )
pub unsafe fn generate_system_includes( &self, inst: *mut ShaderRepositoryO, output_path: *const c_char, )
pub unsafe fn update_shaders_from_directory( &self, inst: *mut ShaderRepositoryO, dir: *const c_char, recursive: bool, allocator: *mut AllocatorI, res_buf: *mut RendererResourceCommandBufferO, )
pub unsafe fn allocator(&self, inst: *mut ShaderRepositoryO) -> *mut AllocatorI
pub unsafe fn refresh_truth_shaders(&self, inst: *mut ShaderRepositoryO)
pub unsafe fn lookup_or_create_shader( &self, inst: *mut ShaderRepositoryO, name: StrhashT, ) -> *mut ShaderO
pub unsafe fn lookup_or_create_system( &self, inst: *mut ShaderRepositoryO, name: StrhashT, ) -> *mut ShaderSystemO
pub unsafe fn create_shader_from_blob( &self, inst: *mut ShaderRepositoryO, res_buf: *mut RendererResourceCommandBufferO, shader_blob: *const ShaderBlobHeaderT, ) -> *mut ShaderO
pub unsafe fn compile_shader( &self, 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 unsafe fn create_from_declaration( &self, inst: *mut ShaderRepositoryO, res_buf: *mut RendererResourceCommandBufferO, declaration: TtIdT, name: StrhashT, generated_code: *mut ShaderDeclarationO, creation_graph_data: *const ShaderCreationGraphDataO, ) -> bool
pub unsafe fn background_create_from_declaration( &self, inst: *mut ShaderRepositoryO, declaration: TtIdT, name: StrhashT, generated_code: *mut ShaderDeclarationO, creation_graph_data: *const ShaderCreationGraphDataO, callback: *const ShaderSystemBackgroundCreateI, )
pub unsafe fn destroy_shader( &self, inst: *mut ShaderRepositoryO, name: StrhashT, )
pub unsafe fn destroy_system( &self, inst: *mut ShaderRepositoryO, name: StrhashT, )
pub unsafe fn lookup_shader( &self, inst: *mut ShaderRepositoryO, name: StrhashT, ) -> *mut ShaderO
pub unsafe fn lookup_system( &self, inst: *mut ShaderRepositoryO, name: StrhashT, ) -> *mut ShaderSystemO
pub unsafe fn recycle_resources(&self, inst: *mut ShaderRepositoryO)
pub unsafe fn shader_state_override( &self, inst: *mut ShaderRepositoryO, state_override: ShaderStateOverrides, ) -> RendererHandleT
pub unsafe fn lookup_shader_blob( &self, inst: *mut ShaderRepositoryO, name: StrhashT, size: *mut u64, ) -> *const ShaderBlobHeaderT
Trait Implementations§
Source§impl Clone for ShaderRepositoryApi
impl Clone for ShaderRepositoryApi
Source§fn clone(&self) -> ShaderRepositoryApi
fn clone(&self) -> ShaderRepositoryApi
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 moreSource§impl Default for ShaderRepositoryApi
impl Default for ShaderRepositoryApi
Source§fn default() -> ShaderRepositoryApi
fn default() -> ShaderRepositoryApi
Returns the “default value” for a type. Read more
impl Copy for ShaderRepositoryApi
Auto Trait Implementations§
impl Freeze for ShaderRepositoryApi
impl RefUnwindSafe for ShaderRepositoryApi
impl Send for ShaderRepositoryApi
impl Sync for ShaderRepositoryApi
impl Unpin for ShaderRepositoryApi
impl UnwindSafe for ShaderRepositoryApi
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