Struct machinery_api::plugins::shader_system::ShaderApi [−][src]
#[repr(C)]pub struct ShaderApi {}Show 22 fields
pub create_constant_buffer_instances: Option<unsafe extern "C" fn(io: *mut ShaderIoO, num_instances: u32, result: *mut ShaderConstantBufferInstanceT)>, pub create_constant_buffer_instances_from_template: Option<unsafe extern "C" fn(io: *mut ShaderIoO, resource_buffer: *mut RendererResourceCommandBufferO, num_instances: u32, result: *mut ShaderConstantBufferInstanceT, cbuf_template: ShaderConstantBufferInstanceT)>, pub destroy_constant_buffer_instances: Option<unsafe extern "C" fn(io: *mut ShaderIoO, instances: *mut ShaderConstantBufferInstanceT, num_instances: u32)>, pub create_resource_binder_instances: Option<unsafe extern "C" fn(io: *mut ShaderIoO, num_instances: u32, result: *mut ShaderResourceBinderInstanceT)>, pub destroy_resource_binder_instances: Option<unsafe extern "C" fn(io: *mut ShaderIoO, instances: *mut ShaderResourceBinderInstanceT, num_instances: u32)>, pub reflect_constants: Option<unsafe extern "C" fn(io: *mut ShaderIoO, num_constants: *mut u32, constants: *mut ShaderConstantT, constant_offsets: *mut u32)>, pub lookup_constant: Option<unsafe extern "C" fn(io: *mut ShaderIoO, name: StrhashT, constant: *mut ShaderConstantT, constant_offset: *mut u32) -> bool>, pub update_constants: Option<unsafe extern "C" fn(io: *mut ShaderIoO, resource_buffer: *mut RendererResourceCommandBufferO, constant_updates: *const ShaderConstantUpdateT, num_updates: u32)>, pub update_constants_raw: Option<unsafe extern "C" fn(io: *mut ShaderIoO, resource_buffer: *mut RendererResourceCommandBufferO, instance_ids: *const u32, data: *mut *const c_void, offset: u32, size: u32, num_updates: u32)>, pub update_constant_buffer_instances_from_template: Option<unsafe extern "C" fn(io: *mut ShaderIoO, resource_buffer: *mut RendererResourceCommandBufferO, num_instances: u32, instances: *mut ShaderConstantBufferInstanceT, cbuf_template: ShaderConstantBufferInstanceT)>, pub read_constant_buffer: Option<unsafe extern "C" fn(io: *mut ShaderIoO, instance: ShaderConstantBufferInstanceT) -> *const c_void>, pub reflect_resources: Option<unsafe extern "C" fn(io: *mut ShaderIoO, num_resources: *mut u32, resources: *mut ShaderResourceT, resource_slots: *mut u32)>, pub lookup_resource: Option<unsafe extern "C" fn(io: *mut ShaderIoO, name: StrhashT, resource: *mut ShaderResourceT, resource_slot: *mut u32) -> bool>, pub update_resources: Option<unsafe extern "C" fn(io: *mut ShaderIoO, resource_buffer: *mut RendererResourceCommandBufferO, resource_updates: *const ShaderResourceUpdateT, num_updates: u32)>, pub read_resource_slot: Option<unsafe extern "C" fn(io: *mut ShaderIoO, instance: ShaderResourceBinderInstanceT, slot: u32, aspects: *mut *const u32) -> *const RendererHandleT>, pub max_passes: Option<unsafe extern "C" fn(shader: *mut ShaderO) -> u8>, pub assemble_shader_infos: Option<unsafe extern "C" fn(shader: *mut ShaderO, state_override_blocks: *const RendererHandleT, num_state_override_blocks: u32, context: *const ShaderSystemContextO, visibility_context: StrhashT, resource_buffer: *mut RendererResourceCommandBufferO, cbuf_instances: *const ShaderConstantBufferInstanceT, rbinder_instances: *const ShaderResourceBinderInstanceT, num_shaders: u32, results: *mut RendererShaderInfoT) -> u8>, pub shader_io: Option<unsafe extern "C" fn(shader: *mut ShaderO) -> *mut ShaderIoO>, pub system_io: Option<unsafe extern "C" fn(system: *mut ShaderSystemO) -> *mut ShaderIoO>, pub name: Option<unsafe extern "C" fn(shader: *const ShaderO) -> StrhashT>, pub shader_version: Option<unsafe extern "C" fn(shader: *const ShaderO) -> u32>, pub system_version: Option<unsafe extern "C" fn(system: *const ShaderSystemO) -> u32>,
Fields
create_constant_buffer_instances: Option<unsafe extern "C" fn(io: *mut ShaderIoO, num_instances: u32, result: *mut ShaderConstantBufferInstanceT)>create_constant_buffer_instances_from_template: Option<unsafe extern "C" fn(io: *mut ShaderIoO, resource_buffer: *mut RendererResourceCommandBufferO, num_instances: u32, result: *mut ShaderConstantBufferInstanceT, cbuf_template: ShaderConstantBufferInstanceT)>destroy_constant_buffer_instances: Option<unsafe extern "C" fn(io: *mut ShaderIoO, instances: *mut ShaderConstantBufferInstanceT, num_instances: u32)>create_resource_binder_instances: Option<unsafe extern "C" fn(io: *mut ShaderIoO, num_instances: u32, result: *mut ShaderResourceBinderInstanceT)>destroy_resource_binder_instances: Option<unsafe extern "C" fn(io: *mut ShaderIoO, instances: *mut ShaderResourceBinderInstanceT, num_instances: u32)>reflect_constants: Option<unsafe extern "C" fn(io: *mut ShaderIoO, num_constants: *mut u32, constants: *mut ShaderConstantT, constant_offsets: *mut u32)>lookup_constant: Option<unsafe extern "C" fn(io: *mut ShaderIoO, name: StrhashT, constant: *mut ShaderConstantT, constant_offset: *mut u32) -> bool>update_constants: Option<unsafe extern "C" fn(io: *mut ShaderIoO, resource_buffer: *mut RendererResourceCommandBufferO, constant_updates: *const ShaderConstantUpdateT, num_updates: u32)>update_constants_raw: Option<unsafe extern "C" fn(io: *mut ShaderIoO, resource_buffer: *mut RendererResourceCommandBufferO, instance_ids: *const u32, data: *mut *const c_void, offset: u32, size: u32, num_updates: u32)>update_constant_buffer_instances_from_template: Option<unsafe extern "C" fn(io: *mut ShaderIoO, resource_buffer: *mut RendererResourceCommandBufferO, num_instances: u32, instances: *mut ShaderConstantBufferInstanceT, cbuf_template: ShaderConstantBufferInstanceT)>read_constant_buffer: Option<unsafe extern "C" fn(io: *mut ShaderIoO, instance: ShaderConstantBufferInstanceT) -> *const c_void>reflect_resources: Option<unsafe extern "C" fn(io: *mut ShaderIoO, num_resources: *mut u32, resources: *mut ShaderResourceT, resource_slots: *mut u32)>lookup_resource: Option<unsafe extern "C" fn(io: *mut ShaderIoO, name: StrhashT, resource: *mut ShaderResourceT, resource_slot: *mut u32) -> bool>update_resources: Option<unsafe extern "C" fn(io: *mut ShaderIoO, resource_buffer: *mut RendererResourceCommandBufferO, resource_updates: *const ShaderResourceUpdateT, num_updates: u32)>read_resource_slot: Option<unsafe extern "C" fn(io: *mut ShaderIoO, instance: ShaderResourceBinderInstanceT, slot: u32, aspects: *mut *const u32) -> *const RendererHandleT>max_passes: Option<unsafe extern "C" fn(shader: *mut ShaderO) -> u8>assemble_shader_infos: Option<unsafe extern "C" fn(shader: *mut ShaderO, state_override_blocks: *const RendererHandleT, num_state_override_blocks: u32, context: *const ShaderSystemContextO, visibility_context: StrhashT, resource_buffer: *mut RendererResourceCommandBufferO, cbuf_instances: *const ShaderConstantBufferInstanceT, rbinder_instances: *const ShaderResourceBinderInstanceT, num_shaders: u32, results: *mut RendererShaderInfoT) -> u8>shader_io: Option<unsafe extern "C" fn(shader: *mut ShaderO) -> *mut ShaderIoO>system_io: Option<unsafe extern "C" fn(system: *mut ShaderSystemO) -> *mut ShaderIoO>name: Option<unsafe extern "C" fn(shader: *const ShaderO) -> StrhashT>shader_version: Option<unsafe extern "C" fn(shader: *const ShaderO) -> u32>system_version: Option<unsafe extern "C" fn(system: *const ShaderSystemO) -> u32>Implementations
pub unsafe fn create_constant_buffer_instances(
&self,
io: *mut ShaderIoO,
num_instances: u32,
result: *mut ShaderConstantBufferInstanceT
)
pub unsafe fn create_constant_buffer_instances_from_template(
&self,
io: *mut ShaderIoO,
resource_buffer: *mut RendererResourceCommandBufferO,
num_instances: u32,
result: *mut ShaderConstantBufferInstanceT,
cbuf_template: ShaderConstantBufferInstanceT
)
pub unsafe fn destroy_constant_buffer_instances(
&self,
io: *mut ShaderIoO,
instances: *mut ShaderConstantBufferInstanceT,
num_instances: u32
)
pub unsafe fn create_resource_binder_instances(
&self,
io: *mut ShaderIoO,
num_instances: u32,
result: *mut ShaderResourceBinderInstanceT
)
pub unsafe fn destroy_resource_binder_instances(
&self,
io: *mut ShaderIoO,
instances: *mut ShaderResourceBinderInstanceT,
num_instances: u32
)
pub unsafe fn reflect_constants(
&self,
io: *mut ShaderIoO,
num_constants: *mut u32,
constants: *mut ShaderConstantT,
constant_offsets: *mut u32
)
pub unsafe fn lookup_constant(
&self,
io: *mut ShaderIoO,
name: StrhashT,
constant: *mut ShaderConstantT,
constant_offset: *mut u32
) -> bool
pub unsafe fn update_constants(
&self,
io: *mut ShaderIoO,
resource_buffer: *mut RendererResourceCommandBufferO,
constant_updates: *const ShaderConstantUpdateT,
num_updates: u32
)
pub unsafe fn update_constants_raw(
&self,
io: *mut ShaderIoO,
resource_buffer: *mut RendererResourceCommandBufferO,
instance_ids: *const u32,
data: *mut *const c_void,
offset: u32,
size: u32,
num_updates: u32
)
pub unsafe fn update_constant_buffer_instances_from_template(
&self,
io: *mut ShaderIoO,
resource_buffer: *mut RendererResourceCommandBufferO,
num_instances: u32,
instances: *mut ShaderConstantBufferInstanceT,
cbuf_template: ShaderConstantBufferInstanceT
)
pub unsafe fn read_constant_buffer(
&self,
io: *mut ShaderIoO,
instance: ShaderConstantBufferInstanceT
) -> *const c_void
pub unsafe fn reflect_resources(
&self,
io: *mut ShaderIoO,
num_resources: *mut u32,
resources: *mut ShaderResourceT,
resource_slots: *mut u32
)
pub unsafe fn lookup_resource(
&self,
io: *mut ShaderIoO,
name: StrhashT,
resource: *mut ShaderResourceT,
resource_slot: *mut u32
) -> bool
pub unsafe fn update_resources(
&self,
io: *mut ShaderIoO,
resource_buffer: *mut RendererResourceCommandBufferO,
resource_updates: *const ShaderResourceUpdateT,
num_updates: u32
)
pub unsafe fn read_resource_slot(
&self,
io: *mut ShaderIoO,
instance: ShaderResourceBinderInstanceT,
slot: u32,
aspects: *mut *const u32
) -> *const RendererHandleT
pub unsafe fn assemble_shader_infos(
&self,
shader: *mut ShaderO,
state_override_blocks: *const RendererHandleT,
num_state_override_blocks: u32,
context: *const ShaderSystemContextO,
visibility_context: StrhashT,
resource_buffer: *mut RendererResourceCommandBufferO,
cbuf_instances: *const ShaderConstantBufferInstanceT,
rbinder_instances: *const ShaderResourceBinderInstanceT,
num_shaders: u32,
results: *mut RendererShaderInfoT
) -> u8
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for ShaderApi
impl UnwindSafe for ShaderApi
Blanket Implementations
Mutably borrows from an owned value. Read more