#[allow(unused_imports)] use crate::*;
use crate::ctypes::*;
use crate::d3d::*;
use winapi::shared::minwindef::LPVOID;
use winapi::um::d3d11shader::*;
use std::ptr::*;
#[allow(missing_docs)]
#[derive(Clone, Copy, Debug)]
#[repr(C)] pub struct ShaderVariableDesc<'s> {
pub name: CStrPtr<'s>, pub start_offset: u32,
pub size: u32,
pub flags: ShaderVariableFlags,
pub default_value: LPVOID, pub start_texture: u32,
pub texture_size: u32,
pub start_sampler: u32,
pub sampler_size: u32,
}
impl Default for ShaderVariableDesc<'static> {
fn default() -> Self {
Self {
name: Default::default(),
start_offset: 0,
size: 0,
flags: ShaderVariableFlags::None,
default_value: null_mut(),
start_texture: 0,
texture_size: 0,
start_sampler: 0,
sampler_size: 0,
}
}
}
impl ShaderVariableDesc<'_> {
pub(crate) fn as_mut_ptr(&mut self) -> *mut D3D11_SHADER_VARIABLE_DESC {
self as *const Self as *mut Self as *mut _
}
}
test_layout! { ShaderVariableDesc => D3D11_SHADER_VARIABLE_DESC {
name => Name,
start_offset => StartOffset,
size => Size,
flags => uFlags,
default_value => DefaultValue,
start_texture => StartTexture,
texture_size => TextureSize,
start_sampler => StartSampler,
sampler_size => SamplerSize,
}}