Struct vulkano::pipeline::shader::ShaderModule
[−]
[src]
pub struct ShaderModule { /* fields omitted */ }
Contains SPIR-V code with one or more entry points.
Note that it is advised to wrap around a ShaderModule
with a struct that is different for
each shader.
Methods
impl ShaderModule
[src]
unsafe fn new(
device: Arc<Device>,
spirv: &[u8]
) -> Result<Arc<ShaderModule>, OomError>
device: Arc<Device>,
spirv: &[u8]
) -> Result<Arc<ShaderModule>, OomError>
Builds a new shader module from SPIR-V.
Safety
- The SPIR-V code is not validated.
- The SPIR-V code may require some features that are not enabled. This isn't checked by this function either.
unsafe fn graphics_entry_point<'a, S, I, O, L>(
&'a self,
name: &'a CStr,
input: I,
output: O,
layout: L,
ty: GraphicsShaderType
) -> GraphicsEntryPoint<'a, S, I, O, L>
&'a self,
name: &'a CStr,
input: I,
output: O,
layout: L,
ty: GraphicsShaderType
) -> GraphicsEntryPoint<'a, S, I, O, L>
Gets access to an entry point contained in this module.
This is purely a logical operation. It returns a struct that represents the entry point but doesn't actually do anything.
Safety
- The user must check that the entry point exists in the module, as this is not checked by Vulkan.
- The input, output and layout must correctly describe the input, output and layout used by this stage.
unsafe fn compute_entry_point<'a, S, L>(
&'a self,
name: &'a CStr,
layout: L
) -> ComputeEntryPoint<'a, S, L>
&'a self,
name: &'a CStr,
layout: L
) -> ComputeEntryPoint<'a, S, L>
Gets access to an entry point contained in this module.
This is purely a logical operation. It returns a struct that represents the entry point but doesn't actually do anything.
Safety
- The user must check that the entry point exists in the module, as this is not checked by Vulkan.
- The layout must correctly describe the layout used by this stage.
Trait Implementations
impl Debug for ShaderModule
[src]
impl VulkanObject for ShaderModule
[src]
type Object = ShaderModule
The type of the object.
fn internal_object(&self) -> ShaderModule
Returns a reference to the object.