[−][src]Struct vulkano::pipeline::shader::ShaderModule
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]
pub unsafe fn new(
device: Arc<Device>,
spirv: &[u8]
) -> Result<Arc<ShaderModule>, OomError>
[src]
device: Arc<Device>,
spirv: &[u8]
) -> Result<Arc<ShaderModule>, OomError>
Builds a new shader module from SPIR-V bytes.
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.
pub unsafe fn from_words(
device: Arc<Device>,
spirv: &[u32]
) -> Result<Arc<ShaderModule>, OomError>
[src]
device: Arc<Device>,
spirv: &[u32]
) -> Result<Arc<ShaderModule>, OomError>
Builds a new shader module from SPIR-V 32-bit words.
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.
pub 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>
[src]
&'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.
pub unsafe fn compute_entry_point<'a, S, L>(
&'a self,
name: &'a CStr,
layout: L
) -> ComputeEntryPoint<'a, S, L>
[src]
&'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 VulkanObject for ShaderModule
[src]
type Object = ShaderModule
The type of the object.
const TYPE: DebugReportObjectTypeEXT
[src]
fn internal_object(&self) -> ShaderModule
[src]
impl Drop for ShaderModule
[src]
impl Debug for ShaderModule
[src]
Auto Trait Implementations
impl Send for ShaderModule
impl Unpin for ShaderModule
impl Sync for ShaderModule
impl UnwindSafe for ShaderModule
impl RefUnwindSafe for ShaderModule
Blanket Implementations
impl<T> Content for T
[src]
fn ref_from_ptr(*mut c_void, usize) -> Option<*mut T>
[src]
fn is_size_suitable(usize) -> bool
[src]
fn indiv_size() -> usize
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,