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.

impl Drop for ShaderModule
[src]

fn drop(&mut self)

A method called when the value goes out of scope. Read more