Struct vulkano::pipeline::shader::ShaderModule
[−]
[src]
pub struct ShaderModule { // some 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>
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 vertex_shader_entry_point<'a, S, V, L>(&'a self, name: &'a CStr, layout: L, vertex_input: V) -> VertexShaderEntryPoint<'a, S, V, L>
unsafe fn tess_control_shader_entry_point<'a, S, I, O, L>(&'a self, name: &'a CStr, layout: L) -> TessControlShaderEntryPoint<'a, S, I, O, L>
unsafe fn tess_evaluation_shader_entry_point<'a, S, I, O, L>(&'a self, name: &'a CStr, layout: L) -> TessEvaluationShaderEntryPoint<'a, S, I, O, L>
unsafe fn geometry_shader_entry_point<'a, S, I, O, L>(&'a self, name: &'a CStr, primitives: GeometryShaderExecutionMode, layout: L) -> GeometryShaderEntryPoint<'a, S, I, O, L>
unsafe fn fragment_shader_entry_point<'a, S, F, L>(&'a self, name: &'a CStr, layout: L) -> FragmentShaderEntryPoint<'a, S, F, 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.
- Calling this function also determines the template parameters associated to the
EntryPoint
struct. Therefore care must be taken that the values there are correct.
unsafe fn compute_shader_entry_point<'a, S, L>(&'a self, name: &'a CStr, layout: L) -> ComputeShaderEntryPoint<'a, S, L>
Trait Implementations
impl VulkanObject for ShaderModule
[src]
type Object = ShaderModule
The type of the object.
fn internal_object(&self) -> ShaderModule
Returns a reference to the object.