Struct ccthw::graphics::vulkan_api::raii::ShaderModule
source · pub struct ShaderModule { /* private fields */ }
Implementations§
source§impl ShaderModule
impl ShaderModule
sourcepub unsafe fn new(
render_device: Arc<RenderDevice>,
create_info: &ShaderModuleCreateInfo
) -> Result<Self, GraphicsError>
pub unsafe fn new( render_device: Arc<RenderDevice>, create_info: &ShaderModuleCreateInfo ) -> Result<Self, GraphicsError>
Create a new Vulkan resource which is automatically destroyed when dropped.
Safety
Unsafe because:
- The application must not drop the resource while it is in use by the GPU.
sourcepub fn set_debug_name(&self, name: impl Into<String>)
pub fn set_debug_name(&self, name: impl Into<String>)
Set the debug name for how this resource appears in Vulkan logs.
sourcepub fn raw(&self) -> ShaderModule
pub fn raw(&self) -> ShaderModule
Get the raw Vulkan ImageView handle.
source§impl ShaderModule
impl ShaderModule
sourcepub unsafe fn new_from_bytes(
render_device: Arc<RenderDevice>,
source_bytes: &[u8]
) -> Result<Self, GraphicsError>
pub unsafe fn new_from_bytes( render_device: Arc<RenderDevice>, source_bytes: &[u8] ) -> Result<Self, GraphicsError>
Build a shader module from the given source bytes.
Params
render_device
- the device used to create Vulkan resources.source_bytes
- the raw SPIRV bytes for a compiled shader.
Safety
Unsafe because:
- the application must destroy the shader module before exit
- the shader module can be destroyed once the pipeline using it has been created
Trait Implementations§
source§impl Debug for ShaderModule
impl Debug for ShaderModule
Auto Trait Implementations§
impl RefUnwindSafe for ShaderModule
impl !Send for ShaderModule
impl !Sync for ShaderModule
impl Unpin for ShaderModule
impl UnwindSafe for ShaderModule
Blanket Implementations§
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read moresource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.