#[repr(C)]
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct __BindgenBitfieldUnit<Storage> {
storage: Storage,
}
impl<Storage> __BindgenBitfieldUnit<Storage> {
#[inline]
pub const fn new(storage: Storage) -> Self {
Self { storage }
}
}
impl<Storage> __BindgenBitfieldUnit<Storage>
where
Storage: AsRef<[u8]> + AsMut<[u8]>,
{
#[inline]
pub fn get_bit(&self, index: usize) -> bool {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = self.storage.as_ref()[byte_index];
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
byte & mask == mask
}
#[inline]
pub fn set_bit(&mut self, index: usize, val: bool) {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = &mut self.storage.as_mut()[byte_index];
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
if val {
*byte |= mask;
} else {
*byte &= !mask;
}
}
#[inline]
pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
let mut val = 0;
for i in 0..(bit_width as usize) {
if self.get_bit(i + bit_offset) {
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
val |= 1 << index;
}
}
val
}
#[inline]
pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
for i in 0..(bit_width as usize) {
let mask = 1 << i;
let val_bit_is_set = val & mask == mask;
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
self.set_bit(index + bit_offset, val_bit_is_set);
}
}
}
pub const SHRT_WIDTH: u32 = 16;
pub type khronos_uint64_t = u64;
pub type std_array_value_type = u8;
pub type std_array_pointer = u8;
pub type std_array_const_pointer = u8;
pub type std_array_reference = u8;
pub type std_array_const_reference = u8;
pub type std_array_iterator = u8;
pub type std_array_const_iterator = u8;
pub type std_array_size_type = u64;
pub type std_array_difference_type = u64;
pub type std_array_reverse_iterator = u8;
pub type std_array_const_reverse_iterator = u8;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum ShShaderSpec {
SH_GLES2_SPEC = 0,
SH_WEBGL_SPEC = 1,
SH_GLES3_SPEC = 2,
SH_WEBGL2_SPEC = 3,
SH_GLES3_1_SPEC = 4,
SH_WEBGL3_SPEC = 5,
SH_GLES3_2_SPEC = 6,
SH_GL_CORE_SPEC = 7,
SH_GL_COMPATIBILITY_SPEC = 8,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum ShShaderOutput {
SH_ESSL_OUTPUT = 35653,
SH_GLSL_COMPATIBILITY_OUTPUT = 35654,
SH_GLSL_130_OUTPUT = 35655,
SH_GLSL_140_OUTPUT = 35712,
SH_GLSL_150_CORE_OUTPUT = 35713,
SH_GLSL_330_CORE_OUTPUT = 35714,
SH_GLSL_400_CORE_OUTPUT = 35715,
SH_GLSL_410_CORE_OUTPUT = 35716,
SH_GLSL_420_CORE_OUTPUT = 35717,
SH_GLSL_430_CORE_OUTPUT = 35718,
SH_GLSL_440_CORE_OUTPUT = 35719,
SH_GLSL_450_CORE_OUTPUT = 35720,
SH_HLSL_3_0_OUTPUT = 35656,
SH_HLSL_4_1_OUTPUT = 35657,
SH_HLSL_4_0_FL9_3_OUTPUT = 35658,
SH_SPIRV_VULKAN_OUTPUT = 35659,
SH_SPIRV_METAL_OUTPUT = 35660,
SH_MSL_METAL_OUTPUT = 35661,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum ShPixelLocalStorageType {
NotSupported = 0,
ImageStoreR32PackedFormats = 1,
ImageStoreNativeFormats = 2,
FramebufferFetch = 3,
}
impl ShFragmentSynchronizationType {
pub const EnumCount: ShFragmentSynchronizationType = ShFragmentSynchronizationType::InvalidEnum;
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum ShFragmentSynchronizationType {
NotSupported = 0,
Automatic = 1,
FragmentShaderInterlock_NV_GL = 2,
FragmentShaderOrdering_INTEL_GL = 3,
FragmentShaderInterlock_ARB_GL = 4,
RasterizerOrderViews_D3D = 5,
RasterOrderGroups_Metal = 6,
InvalidEnum = 7,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ShCompileOptionsMetal {
pub driverUniformsBindingIndex: ::std::os::raw::c_int,
pub defaultUniformsBindingIndex: ::std::os::raw::c_int,
pub UBOArgumentBufferBindingIndex: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_ShCompileOptionsMetal() {
const UNINIT: ::std::mem::MaybeUninit<ShCompileOptionsMetal> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ShCompileOptionsMetal>(),
12usize,
concat!("Size of: ", stringify!(ShCompileOptionsMetal))
);
assert_eq!(
::std::mem::align_of::<ShCompileOptionsMetal>(),
4usize,
concat!("Alignment of ", stringify!(ShCompileOptionsMetal))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).driverUniformsBindingIndex) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ShCompileOptionsMetal),
"::",
stringify!(driverUniformsBindingIndex)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).defaultUniformsBindingIndex) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ShCompileOptionsMetal),
"::",
stringify!(defaultUniformsBindingIndex)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UBOArgumentBufferBindingIndex) as usize - ptr as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(ShCompileOptionsMetal),
"::",
stringify!(UBOArgumentBufferBindingIndex)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ShCompileOptionsPLS {
pub type_: ShPixelLocalStorageType,
pub fragmentSynchronizationType: ShFragmentSynchronizationType,
}
#[test]
fn bindgen_test_layout_ShCompileOptionsPLS() {
const UNINIT: ::std::mem::MaybeUninit<ShCompileOptionsPLS> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ShCompileOptionsPLS>(),
8usize,
concat!("Size of: ", stringify!(ShCompileOptionsPLS))
);
assert_eq!(
::std::mem::align_of::<ShCompileOptionsPLS>(),
4usize,
concat!("Alignment of ", stringify!(ShCompileOptionsPLS))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ShCompileOptionsPLS),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fragmentSynchronizationType) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ShCompileOptionsPLS),
"::",
stringify!(fragmentSynchronizationType)
)
);
}
#[repr(C)]
#[repr(align(8))]
#[derive(Debug, Copy, Clone)]
pub struct ShCompileOptions {
pub _bitfield_align_1: [u8; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
pub metal: ShCompileOptionsMetal,
pub pls: ShCompileOptionsPLS,
}
#[test]
fn bindgen_test_layout_ShCompileOptions() {
const UNINIT: ::std::mem::MaybeUninit<ShCompileOptions> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ShCompileOptions>(),
32usize,
concat!("Size of: ", stringify!(ShCompileOptions))
);
assert_eq!(
::std::mem::align_of::<ShCompileOptions>(),
8usize,
concat!("Alignment of ", stringify!(ShCompileOptions))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).metal) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(ShCompileOptions),
"::",
stringify!(metal)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pls) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(ShCompileOptions),
"::",
stringify!(pls)
)
);
}
extern "C" {
#[link_name = "\u{1}_ZN16ShCompileOptionsC1Ev"]
pub fn ShCompileOptions_ShCompileOptions(this: *mut ShCompileOptions);
}
extern "C" {
#[link_name = "\u{1}_ZN16ShCompileOptionsC1ERKS_"]
pub fn ShCompileOptions_ShCompileOptions1(
this: *mut ShCompileOptions,
other: *const ShCompileOptions,
);
}
impl ShCompileOptions {
#[inline]
pub fn objectCode(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
}
#[inline]
pub fn set_objectCode(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub fn variables(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
}
#[inline]
pub fn set_variables(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(1usize, 1u8, val as u64)
}
}
#[inline]
pub fn sourcePath(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
}
#[inline]
pub fn set_sourcePath(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(2usize, 1u8, val as u64)
}
}
#[inline]
pub fn intermediateTree(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
}
#[inline]
pub fn set_intermediateTree(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(3usize, 1u8, val as u64)
}
}
#[inline]
pub fn validateAST(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
}
#[inline]
pub fn set_validateAST(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(4usize, 1u8, val as u64)
}
}
#[inline]
pub fn validateLoopIndexing(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
}
#[inline]
pub fn set_validateLoopIndexing(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(5usize, 1u8, val as u64)
}
}
#[inline]
pub fn lineDirectives(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u64) }
}
#[inline]
pub fn set_lineDirectives(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(6usize, 1u8, val as u64)
}
}
#[inline]
pub fn removeInvariantAndCentroidForESSL3(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u64) }
}
#[inline]
pub fn set_removeInvariantAndCentroidForESSL3(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(7usize, 1u8, val as u64)
}
}
#[inline]
pub fn emulateAbsIntFunction(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u64) }
}
#[inline]
pub fn set_emulateAbsIntFunction(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(8usize, 1u8, val as u64)
}
}
#[inline]
pub fn enforcePackingRestrictions(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u64) }
}
#[inline]
pub fn set_enforcePackingRestrictions(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(9usize, 1u8, val as u64)
}
}
#[inline]
pub fn clampIndirectArrayBounds(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u64) }
}
#[inline]
pub fn set_clampIndirectArrayBounds(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(10usize, 1u8, val as u64)
}
}
#[inline]
pub fn limitExpressionComplexity(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u64) }
}
#[inline]
pub fn set_limitExpressionComplexity(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(11usize, 1u8, val as u64)
}
}
#[inline]
pub fn limitCallStackDepth(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u64) }
}
#[inline]
pub fn set_limitCallStackDepth(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(12usize, 1u8, val as u64)
}
}
#[inline]
pub fn initGLPosition(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u64) }
}
#[inline]
pub fn set_initGLPosition(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(13usize, 1u8, val as u64)
}
}
#[inline]
pub fn initGLPointSize(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u64) }
}
#[inline]
pub fn set_initGLPointSize(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(14usize, 1u8, val as u64)
}
}
#[inline]
pub fn unfoldShortCircuit(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u64) }
}
#[inline]
pub fn set_unfoldShortCircuit(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(15usize, 1u8, val as u64)
}
}
#[inline]
pub fn initOutputVariables(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u64) }
}
#[inline]
pub fn set_initOutputVariables(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(16usize, 1u8, val as u64)
}
}
#[inline]
pub fn scalarizeVecAndMatConstructorArgs(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u64) }
}
#[inline]
pub fn set_scalarizeVecAndMatConstructorArgs(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(17usize, 1u8, val as u64)
}
}
#[inline]
pub fn regenerateStructNames(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) }
}
#[inline]
pub fn set_regenerateStructNames(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(18usize, 1u8, val as u64)
}
}
#[inline]
pub fn rewriteDoWhileLoops(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u64) }
}
#[inline]
pub fn set_rewriteDoWhileLoops(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(19usize, 1u8, val as u64)
}
}
#[inline]
pub fn expandSelectHLSLIntegerPowExpressions(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u64) }
}
#[inline]
pub fn set_expandSelectHLSLIntegerPowExpressions(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(20usize, 1u8, val as u64)
}
}
#[inline]
pub fn flattenPragmaSTDGLInvariantAll(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u64) }
}
#[inline]
pub fn set_flattenPragmaSTDGLInvariantAll(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(21usize, 1u8, val as u64)
}
}
#[inline]
pub fn HLSLGetDimensionsIgnoresBaseLevel(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u64) }
}
#[inline]
pub fn set_HLSLGetDimensionsIgnoresBaseLevel(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(22usize, 1u8, val as u64)
}
}
#[inline]
pub fn rewriteTexelFetchOffsetToTexelFetch(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u64) }
}
#[inline]
pub fn set_rewriteTexelFetchOffsetToTexelFetch(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(23usize, 1u8, val as u64)
}
}
#[inline]
pub fn addAndTrueToLoopCondition(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u64) }
}
#[inline]
pub fn set_addAndTrueToLoopCondition(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(24usize, 1u8, val as u64)
}
}
#[inline]
pub fn rewriteIntegerUnaryMinusOperator(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u64) }
}
#[inline]
pub fn set_rewriteIntegerUnaryMinusOperator(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(25usize, 1u8, val as u64)
}
}
#[inline]
pub fn emulateIsnanFloatFunction(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u64) }
}
#[inline]
pub fn set_emulateIsnanFloatFunction(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(26usize, 1u8, val as u64)
}
}
#[inline]
pub fn useUnusedStandardSharedBlocks(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u64) }
}
#[inline]
pub fn set_useUnusedStandardSharedBlocks(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(27usize, 1u8, val as u64)
}
}
#[inline]
pub fn rewriteFloatUnaryMinusOperator(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u64) }
}
#[inline]
pub fn set_rewriteFloatUnaryMinusOperator(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(28usize, 1u8, val as u64)
}
}
#[inline]
pub fn emulateAtan2FloatFunction(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u64) }
}
#[inline]
pub fn set_emulateAtan2FloatFunction(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(29usize, 1u8, val as u64)
}
}
#[inline]
pub fn initializeUninitializedLocals(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u64) }
}
#[inline]
pub fn set_initializeUninitializedLocals(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(30usize, 1u8, val as u64)
}
}
#[inline]
pub fn initializeBuiltinsForInstancedMultiview(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u64) }
}
#[inline]
pub fn set_initializeBuiltinsForInstancedMultiview(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(31usize, 1u8, val as u64)
}
}
#[inline]
pub fn selectViewInNvGLSLVertexShader(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u64) }
}
#[inline]
pub fn set_selectViewInNvGLSLVertexShader(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(32usize, 1u8, val as u64)
}
}
#[inline]
pub fn clampPointSize(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u64) }
}
#[inline]
pub fn set_clampPointSize(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(33usize, 1u8, val as u64)
}
}
#[inline]
pub fn addAdvancedBlendEquationsEmulation(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(34usize, 1u8) as u64) }
}
#[inline]
pub fn set_addAdvancedBlendEquationsEmulation(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(34usize, 1u8, val as u64)
}
}
#[inline]
pub fn dontUseLoopsToInitializeVariables(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(35usize, 1u8) as u64) }
}
#[inline]
pub fn set_dontUseLoopsToInitializeVariables(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(35usize, 1u8, val as u64)
}
}
#[inline]
pub fn skipD3DConstantRegisterZero(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(36usize, 1u8) as u64) }
}
#[inline]
pub fn set_skipD3DConstantRegisterZero(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(36usize, 1u8, val as u64)
}
}
#[inline]
pub fn clampFragDepth(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u64) }
}
#[inline]
pub fn set_clampFragDepth(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(37usize, 1u8, val as u64)
}
}
#[inline]
pub fn rewriteRepeatedAssignToSwizzled(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(38usize, 1u8) as u64) }
}
#[inline]
pub fn set_rewriteRepeatedAssignToSwizzled(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(38usize, 1u8, val as u64)
}
}
#[inline]
pub fn emulateGLDrawID(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(39usize, 1u8) as u64) }
}
#[inline]
pub fn set_emulateGLDrawID(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(39usize, 1u8, val as u64)
}
}
#[inline]
pub fn initSharedVariables(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 1u8) as u64) }
}
#[inline]
pub fn set_initSharedVariables(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(40usize, 1u8, val as u64)
}
}
#[inline]
pub fn forceAtomicValueResolution(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(41usize, 1u8) as u64) }
}
#[inline]
pub fn set_forceAtomicValueResolution(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(41usize, 1u8, val as u64)
}
}
#[inline]
pub fn emulateGLBaseVertexBaseInstance(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(42usize, 1u8) as u64) }
}
#[inline]
pub fn set_emulateGLBaseVertexBaseInstance(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(42usize, 1u8, val as u64)
}
}
#[inline]
pub fn emulateSeamfulCubeMapSampling(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(43usize, 1u8) as u64) }
}
#[inline]
pub fn set_emulateSeamfulCubeMapSampling(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(43usize, 1u8, val as u64)
}
}
#[inline]
pub fn takeVideoTextureAsExternalOES(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(44usize, 1u8) as u64) }
}
#[inline]
pub fn set_takeVideoTextureAsExternalOES(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(44usize, 1u8, val as u64)
}
}
#[inline]
pub fn addBaseVertexToVertexID(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(45usize, 1u8) as u64) }
}
#[inline]
pub fn set_addBaseVertexToVertexID(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(45usize, 1u8, val as u64)
}
}
#[inline]
pub fn removeDynamicIndexingOfSwizzledVector(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(46usize, 1u8) as u64) }
}
#[inline]
pub fn set_removeDynamicIndexingOfSwizzledVector(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(46usize, 1u8, val as u64)
}
}
#[inline]
pub fn allowTranslateUniformBlockToStructuredBuffer(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(47usize, 1u8) as u64) }
}
#[inline]
pub fn set_allowTranslateUniformBlockToStructuredBuffer(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(47usize, 1u8, val as u64)
}
}
#[inline]
pub fn addVulkanYUVLayoutQualifier(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(48usize, 1u8) as u64) }
}
#[inline]
pub fn set_addVulkanYUVLayoutQualifier(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(48usize, 1u8, val as u64)
}
}
#[inline]
pub fn disableARBTextureRectangle(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(49usize, 1u8) as u64) }
}
#[inline]
pub fn set_disableARBTextureRectangle(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(49usize, 1u8, val as u64)
}
}
#[inline]
pub fn rewriteRowMajorMatrices(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(50usize, 1u8) as u64) }
}
#[inline]
pub fn set_rewriteRowMajorMatrices(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(50usize, 1u8, val as u64)
}
}
#[inline]
pub fn ignorePrecisionQualifiers(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(51usize, 1u8) as u64) }
}
#[inline]
pub fn set_ignorePrecisionQualifiers(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(51usize, 1u8, val as u64)
}
}
#[inline]
pub fn addVulkanDepthCorrection(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(52usize, 1u8) as u64) }
}
#[inline]
pub fn set_addVulkanDepthCorrection(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(52usize, 1u8, val as u64)
}
}
#[inline]
pub fn forceShaderPrecisionHighpToMediump(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(53usize, 1u8) as u64) }
}
#[inline]
pub fn set_forceShaderPrecisionHighpToMediump(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(53usize, 1u8, val as u64)
}
}
#[inline]
pub fn useSpecializationConstant(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(54usize, 1u8) as u64) }
}
#[inline]
pub fn set_useSpecializationConstant(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(54usize, 1u8, val as u64)
}
}
#[inline]
pub fn addVulkanXfbEmulationSupportCode(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(55usize, 1u8) as u64) }
}
#[inline]
pub fn set_addVulkanXfbEmulationSupportCode(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(55usize, 1u8, val as u64)
}
}
#[inline]
pub fn addVulkanXfbExtensionSupportCode(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(56usize, 1u8) as u64) }
}
#[inline]
pub fn set_addVulkanXfbExtensionSupportCode(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(56usize, 1u8, val as u64)
}
}
#[inline]
pub fn initFragmentOutputVariables(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(57usize, 1u8) as u64) }
}
#[inline]
pub fn set_initFragmentOutputVariables(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(57usize, 1u8, val as u64)
}
}
#[inline]
pub fn generateSpirvThroughGlslang(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(58usize, 1u8) as u64) }
}
#[inline]
pub fn set_generateSpirvThroughGlslang(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(58usize, 1u8, val as u64)
}
}
#[inline]
pub fn addExplicitBoolCasts(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(59usize, 1u8) as u64) }
}
#[inline]
pub fn set_addExplicitBoolCasts(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(59usize, 1u8, val as u64)
}
}
#[inline]
pub fn roundOutputAfterDithering(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(60usize, 1u8) as u64) }
}
#[inline]
pub fn set_roundOutputAfterDithering(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(60usize, 1u8, val as u64)
}
}
#[inline]
pub fn precisionSafeDivision(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(61usize, 1u8) as u64) }
}
#[inline]
pub fn set_precisionSafeDivision(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(61usize, 1u8, val as u64)
}
}
#[inline]
pub fn passHighpToPackUnormSnormBuiltins(&self) -> u64 {
unsafe { ::std::mem::transmute(self._bitfield_1.get(62usize, 1u8) as u64) }
}
#[inline]
pub fn set_passHighpToPackUnormSnormBuiltins(&mut self, val: u64) {
unsafe {
let val: u64 = ::std::mem::transmute(val);
self._bitfield_1.set(62usize, 1u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
objectCode: u64,
variables: u64,
sourcePath: u64,
intermediateTree: u64,
validateAST: u64,
validateLoopIndexing: u64,
lineDirectives: u64,
removeInvariantAndCentroidForESSL3: u64,
emulateAbsIntFunction: u64,
enforcePackingRestrictions: u64,
clampIndirectArrayBounds: u64,
limitExpressionComplexity: u64,
limitCallStackDepth: u64,
initGLPosition: u64,
initGLPointSize: u64,
unfoldShortCircuit: u64,
initOutputVariables: u64,
scalarizeVecAndMatConstructorArgs: u64,
regenerateStructNames: u64,
rewriteDoWhileLoops: u64,
expandSelectHLSLIntegerPowExpressions: u64,
flattenPragmaSTDGLInvariantAll: u64,
HLSLGetDimensionsIgnoresBaseLevel: u64,
rewriteTexelFetchOffsetToTexelFetch: u64,
addAndTrueToLoopCondition: u64,
rewriteIntegerUnaryMinusOperator: u64,
emulateIsnanFloatFunction: u64,
useUnusedStandardSharedBlocks: u64,
rewriteFloatUnaryMinusOperator: u64,
emulateAtan2FloatFunction: u64,
initializeUninitializedLocals: u64,
initializeBuiltinsForInstancedMultiview: u64,
selectViewInNvGLSLVertexShader: u64,
clampPointSize: u64,
addAdvancedBlendEquationsEmulation: u64,
dontUseLoopsToInitializeVariables: u64,
skipD3DConstantRegisterZero: u64,
clampFragDepth: u64,
rewriteRepeatedAssignToSwizzled: u64,
emulateGLDrawID: u64,
initSharedVariables: u64,
forceAtomicValueResolution: u64,
emulateGLBaseVertexBaseInstance: u64,
emulateSeamfulCubeMapSampling: u64,
takeVideoTextureAsExternalOES: u64,
addBaseVertexToVertexID: u64,
removeDynamicIndexingOfSwizzledVector: u64,
allowTranslateUniformBlockToStructuredBuffer: u64,
addVulkanYUVLayoutQualifier: u64,
disableARBTextureRectangle: u64,
rewriteRowMajorMatrices: u64,
ignorePrecisionQualifiers: u64,
addVulkanDepthCorrection: u64,
forceShaderPrecisionHighpToMediump: u64,
useSpecializationConstant: u64,
addVulkanXfbEmulationSupportCode: u64,
addVulkanXfbExtensionSupportCode: u64,
initFragmentOutputVariables: u64,
generateSpirvThroughGlslang: u64,
addExplicitBoolCasts: u64,
roundOutputAfterDithering: u64,
precisionSafeDivision: u64,
passHighpToPackUnormSnormBuiltins: u64,
) -> __BindgenBitfieldUnit<[u8; 8usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let objectCode: u64 = unsafe { ::std::mem::transmute(objectCode) };
objectCode as u64
});
__bindgen_bitfield_unit.set(1usize, 1u8, {
let variables: u64 = unsafe { ::std::mem::transmute(variables) };
variables as u64
});
__bindgen_bitfield_unit.set(2usize, 1u8, {
let sourcePath: u64 = unsafe { ::std::mem::transmute(sourcePath) };
sourcePath as u64
});
__bindgen_bitfield_unit.set(3usize, 1u8, {
let intermediateTree: u64 = unsafe { ::std::mem::transmute(intermediateTree) };
intermediateTree as u64
});
__bindgen_bitfield_unit.set(4usize, 1u8, {
let validateAST: u64 = unsafe { ::std::mem::transmute(validateAST) };
validateAST as u64
});
__bindgen_bitfield_unit.set(5usize, 1u8, {
let validateLoopIndexing: u64 = unsafe { ::std::mem::transmute(validateLoopIndexing) };
validateLoopIndexing as u64
});
__bindgen_bitfield_unit.set(6usize, 1u8, {
let lineDirectives: u64 = unsafe { ::std::mem::transmute(lineDirectives) };
lineDirectives as u64
});
__bindgen_bitfield_unit.set(7usize, 1u8, {
let removeInvariantAndCentroidForESSL3: u64 =
unsafe { ::std::mem::transmute(removeInvariantAndCentroidForESSL3) };
removeInvariantAndCentroidForESSL3 as u64
});
__bindgen_bitfield_unit.set(8usize, 1u8, {
let emulateAbsIntFunction: u64 =
unsafe { ::std::mem::transmute(emulateAbsIntFunction) };
emulateAbsIntFunction as u64
});
__bindgen_bitfield_unit.set(9usize, 1u8, {
let enforcePackingRestrictions: u64 =
unsafe { ::std::mem::transmute(enforcePackingRestrictions) };
enforcePackingRestrictions as u64
});
__bindgen_bitfield_unit.set(10usize, 1u8, {
let clampIndirectArrayBounds: u64 =
unsafe { ::std::mem::transmute(clampIndirectArrayBounds) };
clampIndirectArrayBounds as u64
});
__bindgen_bitfield_unit.set(11usize, 1u8, {
let limitExpressionComplexity: u64 =
unsafe { ::std::mem::transmute(limitExpressionComplexity) };
limitExpressionComplexity as u64
});
__bindgen_bitfield_unit.set(12usize, 1u8, {
let limitCallStackDepth: u64 = unsafe { ::std::mem::transmute(limitCallStackDepth) };
limitCallStackDepth as u64
});
__bindgen_bitfield_unit.set(13usize, 1u8, {
let initGLPosition: u64 = unsafe { ::std::mem::transmute(initGLPosition) };
initGLPosition as u64
});
__bindgen_bitfield_unit.set(14usize, 1u8, {
let initGLPointSize: u64 = unsafe { ::std::mem::transmute(initGLPointSize) };
initGLPointSize as u64
});
__bindgen_bitfield_unit.set(15usize, 1u8, {
let unfoldShortCircuit: u64 = unsafe { ::std::mem::transmute(unfoldShortCircuit) };
unfoldShortCircuit as u64
});
__bindgen_bitfield_unit.set(16usize, 1u8, {
let initOutputVariables: u64 = unsafe { ::std::mem::transmute(initOutputVariables) };
initOutputVariables as u64
});
__bindgen_bitfield_unit.set(17usize, 1u8, {
let scalarizeVecAndMatConstructorArgs: u64 =
unsafe { ::std::mem::transmute(scalarizeVecAndMatConstructorArgs) };
scalarizeVecAndMatConstructorArgs as u64
});
__bindgen_bitfield_unit.set(18usize, 1u8, {
let regenerateStructNames: u64 =
unsafe { ::std::mem::transmute(regenerateStructNames) };
regenerateStructNames as u64
});
__bindgen_bitfield_unit.set(19usize, 1u8, {
let rewriteDoWhileLoops: u64 = unsafe { ::std::mem::transmute(rewriteDoWhileLoops) };
rewriteDoWhileLoops as u64
});
__bindgen_bitfield_unit.set(20usize, 1u8, {
let expandSelectHLSLIntegerPowExpressions: u64 =
unsafe { ::std::mem::transmute(expandSelectHLSLIntegerPowExpressions) };
expandSelectHLSLIntegerPowExpressions as u64
});
__bindgen_bitfield_unit.set(21usize, 1u8, {
let flattenPragmaSTDGLInvariantAll: u64 =
unsafe { ::std::mem::transmute(flattenPragmaSTDGLInvariantAll) };
flattenPragmaSTDGLInvariantAll as u64
});
__bindgen_bitfield_unit.set(22usize, 1u8, {
let HLSLGetDimensionsIgnoresBaseLevel: u64 =
unsafe { ::std::mem::transmute(HLSLGetDimensionsIgnoresBaseLevel) };
HLSLGetDimensionsIgnoresBaseLevel as u64
});
__bindgen_bitfield_unit.set(23usize, 1u8, {
let rewriteTexelFetchOffsetToTexelFetch: u64 =
unsafe { ::std::mem::transmute(rewriteTexelFetchOffsetToTexelFetch) };
rewriteTexelFetchOffsetToTexelFetch as u64
});
__bindgen_bitfield_unit.set(24usize, 1u8, {
let addAndTrueToLoopCondition: u64 =
unsafe { ::std::mem::transmute(addAndTrueToLoopCondition) };
addAndTrueToLoopCondition as u64
});
__bindgen_bitfield_unit.set(25usize, 1u8, {
let rewriteIntegerUnaryMinusOperator: u64 =
unsafe { ::std::mem::transmute(rewriteIntegerUnaryMinusOperator) };
rewriteIntegerUnaryMinusOperator as u64
});
__bindgen_bitfield_unit.set(26usize, 1u8, {
let emulateIsnanFloatFunction: u64 =
unsafe { ::std::mem::transmute(emulateIsnanFloatFunction) };
emulateIsnanFloatFunction as u64
});
__bindgen_bitfield_unit.set(27usize, 1u8, {
let useUnusedStandardSharedBlocks: u64 =
unsafe { ::std::mem::transmute(useUnusedStandardSharedBlocks) };
useUnusedStandardSharedBlocks as u64
});
__bindgen_bitfield_unit.set(28usize, 1u8, {
let rewriteFloatUnaryMinusOperator: u64 =
unsafe { ::std::mem::transmute(rewriteFloatUnaryMinusOperator) };
rewriteFloatUnaryMinusOperator as u64
});
__bindgen_bitfield_unit.set(29usize, 1u8, {
let emulateAtan2FloatFunction: u64 =
unsafe { ::std::mem::transmute(emulateAtan2FloatFunction) };
emulateAtan2FloatFunction as u64
});
__bindgen_bitfield_unit.set(30usize, 1u8, {
let initializeUninitializedLocals: u64 =
unsafe { ::std::mem::transmute(initializeUninitializedLocals) };
initializeUninitializedLocals as u64
});
__bindgen_bitfield_unit.set(31usize, 1u8, {
let initializeBuiltinsForInstancedMultiview: u64 =
unsafe { ::std::mem::transmute(initializeBuiltinsForInstancedMultiview) };
initializeBuiltinsForInstancedMultiview as u64
});
__bindgen_bitfield_unit.set(32usize, 1u8, {
let selectViewInNvGLSLVertexShader: u64 =
unsafe { ::std::mem::transmute(selectViewInNvGLSLVertexShader) };
selectViewInNvGLSLVertexShader as u64
});
__bindgen_bitfield_unit.set(33usize, 1u8, {
let clampPointSize: u64 = unsafe { ::std::mem::transmute(clampPointSize) };
clampPointSize as u64
});
__bindgen_bitfield_unit.set(34usize, 1u8, {
let addAdvancedBlendEquationsEmulation: u64 =
unsafe { ::std::mem::transmute(addAdvancedBlendEquationsEmulation) };
addAdvancedBlendEquationsEmulation as u64
});
__bindgen_bitfield_unit.set(35usize, 1u8, {
let dontUseLoopsToInitializeVariables: u64 =
unsafe { ::std::mem::transmute(dontUseLoopsToInitializeVariables) };
dontUseLoopsToInitializeVariables as u64
});
__bindgen_bitfield_unit.set(36usize, 1u8, {
let skipD3DConstantRegisterZero: u64 =
unsafe { ::std::mem::transmute(skipD3DConstantRegisterZero) };
skipD3DConstantRegisterZero as u64
});
__bindgen_bitfield_unit.set(37usize, 1u8, {
let clampFragDepth: u64 = unsafe { ::std::mem::transmute(clampFragDepth) };
clampFragDepth as u64
});
__bindgen_bitfield_unit.set(38usize, 1u8, {
let rewriteRepeatedAssignToSwizzled: u64 =
unsafe { ::std::mem::transmute(rewriteRepeatedAssignToSwizzled) };
rewriteRepeatedAssignToSwizzled as u64
});
__bindgen_bitfield_unit.set(39usize, 1u8, {
let emulateGLDrawID: u64 = unsafe { ::std::mem::transmute(emulateGLDrawID) };
emulateGLDrawID as u64
});
__bindgen_bitfield_unit.set(40usize, 1u8, {
let initSharedVariables: u64 = unsafe { ::std::mem::transmute(initSharedVariables) };
initSharedVariables as u64
});
__bindgen_bitfield_unit.set(41usize, 1u8, {
let forceAtomicValueResolution: u64 =
unsafe { ::std::mem::transmute(forceAtomicValueResolution) };
forceAtomicValueResolution as u64
});
__bindgen_bitfield_unit.set(42usize, 1u8, {
let emulateGLBaseVertexBaseInstance: u64 =
unsafe { ::std::mem::transmute(emulateGLBaseVertexBaseInstance) };
emulateGLBaseVertexBaseInstance as u64
});
__bindgen_bitfield_unit.set(43usize, 1u8, {
let emulateSeamfulCubeMapSampling: u64 =
unsafe { ::std::mem::transmute(emulateSeamfulCubeMapSampling) };
emulateSeamfulCubeMapSampling as u64
});
__bindgen_bitfield_unit.set(44usize, 1u8, {
let takeVideoTextureAsExternalOES: u64 =
unsafe { ::std::mem::transmute(takeVideoTextureAsExternalOES) };
takeVideoTextureAsExternalOES as u64
});
__bindgen_bitfield_unit.set(45usize, 1u8, {
let addBaseVertexToVertexID: u64 =
unsafe { ::std::mem::transmute(addBaseVertexToVertexID) };
addBaseVertexToVertexID as u64
});
__bindgen_bitfield_unit.set(46usize, 1u8, {
let removeDynamicIndexingOfSwizzledVector: u64 =
unsafe { ::std::mem::transmute(removeDynamicIndexingOfSwizzledVector) };
removeDynamicIndexingOfSwizzledVector as u64
});
__bindgen_bitfield_unit.set(47usize, 1u8, {
let allowTranslateUniformBlockToStructuredBuffer: u64 =
unsafe { ::std::mem::transmute(allowTranslateUniformBlockToStructuredBuffer) };
allowTranslateUniformBlockToStructuredBuffer as u64
});
__bindgen_bitfield_unit.set(48usize, 1u8, {
let addVulkanYUVLayoutQualifier: u64 =
unsafe { ::std::mem::transmute(addVulkanYUVLayoutQualifier) };
addVulkanYUVLayoutQualifier as u64
});
__bindgen_bitfield_unit.set(49usize, 1u8, {
let disableARBTextureRectangle: u64 =
unsafe { ::std::mem::transmute(disableARBTextureRectangle) };
disableARBTextureRectangle as u64
});
__bindgen_bitfield_unit.set(50usize, 1u8, {
let rewriteRowMajorMatrices: u64 =
unsafe { ::std::mem::transmute(rewriteRowMajorMatrices) };
rewriteRowMajorMatrices as u64
});
__bindgen_bitfield_unit.set(51usize, 1u8, {
let ignorePrecisionQualifiers: u64 =
unsafe { ::std::mem::transmute(ignorePrecisionQualifiers) };
ignorePrecisionQualifiers as u64
});
__bindgen_bitfield_unit.set(52usize, 1u8, {
let addVulkanDepthCorrection: u64 =
unsafe { ::std::mem::transmute(addVulkanDepthCorrection) };
addVulkanDepthCorrection as u64
});
__bindgen_bitfield_unit.set(53usize, 1u8, {
let forceShaderPrecisionHighpToMediump: u64 =
unsafe { ::std::mem::transmute(forceShaderPrecisionHighpToMediump) };
forceShaderPrecisionHighpToMediump as u64
});
__bindgen_bitfield_unit.set(54usize, 1u8, {
let useSpecializationConstant: u64 =
unsafe { ::std::mem::transmute(useSpecializationConstant) };
useSpecializationConstant as u64
});
__bindgen_bitfield_unit.set(55usize, 1u8, {
let addVulkanXfbEmulationSupportCode: u64 =
unsafe { ::std::mem::transmute(addVulkanXfbEmulationSupportCode) };
addVulkanXfbEmulationSupportCode as u64
});
__bindgen_bitfield_unit.set(56usize, 1u8, {
let addVulkanXfbExtensionSupportCode: u64 =
unsafe { ::std::mem::transmute(addVulkanXfbExtensionSupportCode) };
addVulkanXfbExtensionSupportCode as u64
});
__bindgen_bitfield_unit.set(57usize, 1u8, {
let initFragmentOutputVariables: u64 =
unsafe { ::std::mem::transmute(initFragmentOutputVariables) };
initFragmentOutputVariables as u64
});
__bindgen_bitfield_unit.set(58usize, 1u8, {
let generateSpirvThroughGlslang: u64 =
unsafe { ::std::mem::transmute(generateSpirvThroughGlslang) };
generateSpirvThroughGlslang as u64
});
__bindgen_bitfield_unit.set(59usize, 1u8, {
let addExplicitBoolCasts: u64 = unsafe { ::std::mem::transmute(addExplicitBoolCasts) };
addExplicitBoolCasts as u64
});
__bindgen_bitfield_unit.set(60usize, 1u8, {
let roundOutputAfterDithering: u64 =
unsafe { ::std::mem::transmute(roundOutputAfterDithering) };
roundOutputAfterDithering as u64
});
__bindgen_bitfield_unit.set(61usize, 1u8, {
let precisionSafeDivision: u64 =
unsafe { ::std::mem::transmute(precisionSafeDivision) };
precisionSafeDivision as u64
});
__bindgen_bitfield_unit.set(62usize, 1u8, {
let passHighpToPackUnormSnormBuiltins: u64 =
unsafe { ::std::mem::transmute(passHighpToPackUnormSnormBuiltins) };
passHighpToPackUnormSnormBuiltins as u64
});
__bindgen_bitfield_unit
}
#[inline]
pub unsafe fn new() -> Self {
let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
ShCompileOptions_ShCompileOptions(__bindgen_tmp.as_mut_ptr());
__bindgen_tmp.assume_init()
}
#[inline]
pub unsafe fn new1(other: *const ShCompileOptions) -> Self {
let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
ShCompileOptions_ShCompileOptions1(__bindgen_tmp.as_mut_ptr(), other);
__bindgen_tmp.assume_init()
}
}
pub type ShHashFunction64 = ::std::option::Option<
unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char, arg2: usize) -> khronos_uint64_t,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ShBuiltInResources {
pub MaxVertexAttribs: ::std::os::raw::c_int,
pub MaxVertexUniformVectors: ::std::os::raw::c_int,
pub MaxVaryingVectors: ::std::os::raw::c_int,
pub MaxVertexTextureImageUnits: ::std::os::raw::c_int,
pub MaxCombinedTextureImageUnits: ::std::os::raw::c_int,
pub MaxTextureImageUnits: ::std::os::raw::c_int,
pub MaxFragmentUniformVectors: ::std::os::raw::c_int,
pub MaxDrawBuffers: ::std::os::raw::c_int,
pub OES_standard_derivatives: ::std::os::raw::c_int,
pub OES_EGL_image_external: ::std::os::raw::c_int,
pub OES_EGL_image_external_essl3: ::std::os::raw::c_int,
pub NV_EGL_stream_consumer_external: ::std::os::raw::c_int,
pub ARB_texture_rectangle: ::std::os::raw::c_int,
pub EXT_blend_func_extended: ::std::os::raw::c_int,
pub EXT_draw_buffers: ::std::os::raw::c_int,
pub EXT_frag_depth: ::std::os::raw::c_int,
pub EXT_shader_texture_lod: ::std::os::raw::c_int,
pub EXT_shader_framebuffer_fetch: ::std::os::raw::c_int,
pub EXT_shader_framebuffer_fetch_non_coherent: ::std::os::raw::c_int,
pub NV_shader_framebuffer_fetch: ::std::os::raw::c_int,
pub NV_shader_noperspective_interpolation: ::std::os::raw::c_int,
pub ARM_shader_framebuffer_fetch: ::std::os::raw::c_int,
pub OVR_multiview: ::std::os::raw::c_int,
pub OVR_multiview2: ::std::os::raw::c_int,
pub EXT_multisampled_render_to_texture: ::std::os::raw::c_int,
pub EXT_multisampled_render_to_texture2: ::std::os::raw::c_int,
pub EXT_YUV_target: ::std::os::raw::c_int,
pub EXT_geometry_shader: ::std::os::raw::c_int,
pub OES_geometry_shader: ::std::os::raw::c_int,
pub OES_shader_io_blocks: ::std::os::raw::c_int,
pub EXT_shader_io_blocks: ::std::os::raw::c_int,
pub EXT_gpu_shader5: ::std::os::raw::c_int,
pub EXT_shader_non_constant_global_initializers: ::std::os::raw::c_int,
pub OES_texture_storage_multisample_2d_array: ::std::os::raw::c_int,
pub OES_texture_3D: ::std::os::raw::c_int,
pub ANGLE_shader_pixel_local_storage: ::std::os::raw::c_int,
pub ANGLE_texture_multisample: ::std::os::raw::c_int,
pub ANGLE_multi_draw: ::std::os::raw::c_int,
pub ANGLE_base_vertex_base_instance: ::std::os::raw::c_int,
pub WEBGL_video_texture: ::std::os::raw::c_int,
pub APPLE_clip_distance: ::std::os::raw::c_int,
pub OES_texture_cube_map_array: ::std::os::raw::c_int,
pub EXT_texture_cube_map_array: ::std::os::raw::c_int,
pub EXT_shadow_samplers: ::std::os::raw::c_int,
pub OES_shader_multisample_interpolation: ::std::os::raw::c_int,
pub OES_shader_image_atomic: ::std::os::raw::c_int,
pub EXT_tessellation_shader: ::std::os::raw::c_int,
pub OES_texture_buffer: ::std::os::raw::c_int,
pub EXT_texture_buffer: ::std::os::raw::c_int,
pub OES_sample_variables: ::std::os::raw::c_int,
pub EXT_clip_cull_distance: ::std::os::raw::c_int,
pub EXT_primitive_bounding_box: ::std::os::raw::c_int,
pub OES_primitive_bounding_box: ::std::os::raw::c_int,
pub ANGLE_base_vertex_base_instance_shader_builtin: ::std::os::raw::c_int,
pub ANDROID_extension_pack_es31a: ::std::os::raw::c_int,
pub KHR_blend_equation_advanced: ::std::os::raw::c_int,
pub NV_draw_buffers: ::std::os::raw::c_int,
pub FragmentPrecisionHigh: ::std::os::raw::c_int,
pub MaxVertexOutputVectors: ::std::os::raw::c_int,
pub MaxFragmentInputVectors: ::std::os::raw::c_int,
pub MinProgramTexelOffset: ::std::os::raw::c_int,
pub MaxProgramTexelOffset: ::std::os::raw::c_int,
pub MaxDualSourceDrawBuffers: ::std::os::raw::c_int,
pub MaxViewsOVR: ::std::os::raw::c_int,
pub HashFunction: ShHashFunction64,
pub MaxExpressionComplexity: ::std::os::raw::c_int,
pub MaxCallStackDepth: ::std::os::raw::c_int,
pub MaxFunctionParameters: ::std::os::raw::c_int,
pub MinProgramTextureGatherOffset: ::std::os::raw::c_int,
pub MaxProgramTextureGatherOffset: ::std::os::raw::c_int,
pub MaxImageUnits: ::std::os::raw::c_int,
pub MaxSamples: ::std::os::raw::c_int,
pub MaxVertexImageUniforms: ::std::os::raw::c_int,
pub MaxFragmentImageUniforms: ::std::os::raw::c_int,
pub MaxComputeImageUniforms: ::std::os::raw::c_int,
pub MaxCombinedImageUniforms: ::std::os::raw::c_int,
pub MaxUniformLocations: ::std::os::raw::c_int,
pub MaxCombinedShaderOutputResources: ::std::os::raw::c_int,
pub MaxComputeWorkGroupCount: [u32; 3usize],
pub MaxComputeWorkGroupSize: [u32; 3usize],
pub MaxComputeUniformComponents: ::std::os::raw::c_int,
pub MaxComputeTextureImageUnits: ::std::os::raw::c_int,
pub MaxComputeAtomicCounters: ::std::os::raw::c_int,
pub MaxComputeAtomicCounterBuffers: ::std::os::raw::c_int,
pub MaxVertexAtomicCounters: ::std::os::raw::c_int,
pub MaxFragmentAtomicCounters: ::std::os::raw::c_int,
pub MaxCombinedAtomicCounters: ::std::os::raw::c_int,
pub MaxAtomicCounterBindings: ::std::os::raw::c_int,
pub MaxVertexAtomicCounterBuffers: ::std::os::raw::c_int,
pub MaxFragmentAtomicCounterBuffers: ::std::os::raw::c_int,
pub MaxCombinedAtomicCounterBuffers: ::std::os::raw::c_int,
pub MaxAtomicCounterBufferSize: ::std::os::raw::c_int,
pub MaxUniformBufferBindings: ::std::os::raw::c_int,
pub MaxShaderStorageBufferBindings: ::std::os::raw::c_int,
pub MaxPointSize: f32,
pub MaxGeometryUniformComponents: ::std::os::raw::c_int,
pub MaxGeometryUniformBlocks: ::std::os::raw::c_int,
pub MaxGeometryInputComponents: ::std::os::raw::c_int,
pub MaxGeometryOutputComponents: ::std::os::raw::c_int,
pub MaxGeometryOutputVertices: ::std::os::raw::c_int,
pub MaxGeometryTotalOutputComponents: ::std::os::raw::c_int,
pub MaxGeometryTextureImageUnits: ::std::os::raw::c_int,
pub MaxGeometryAtomicCounterBuffers: ::std::os::raw::c_int,
pub MaxGeometryAtomicCounters: ::std::os::raw::c_int,
pub MaxGeometryShaderStorageBlocks: ::std::os::raw::c_int,
pub MaxGeometryShaderInvocations: ::std::os::raw::c_int,
pub MaxGeometryImageUniforms: ::std::os::raw::c_int,
pub MaxTessControlInputComponents: ::std::os::raw::c_int,
pub MaxTessControlOutputComponents: ::std::os::raw::c_int,
pub MaxTessControlTextureImageUnits: ::std::os::raw::c_int,
pub MaxTessControlUniformComponents: ::std::os::raw::c_int,
pub MaxTessControlTotalOutputComponents: ::std::os::raw::c_int,
pub MaxTessControlImageUniforms: ::std::os::raw::c_int,
pub MaxTessControlAtomicCounters: ::std::os::raw::c_int,
pub MaxTessControlAtomicCounterBuffers: ::std::os::raw::c_int,
pub MaxTessPatchComponents: ::std::os::raw::c_int,
pub MaxPatchVertices: ::std::os::raw::c_int,
pub MaxTessGenLevel: ::std::os::raw::c_int,
pub MaxTessEvaluationInputComponents: ::std::os::raw::c_int,
pub MaxTessEvaluationOutputComponents: ::std::os::raw::c_int,
pub MaxTessEvaluationTextureImageUnits: ::std::os::raw::c_int,
pub MaxTessEvaluationUniformComponents: ::std::os::raw::c_int,
pub MaxTessEvaluationImageUniforms: ::std::os::raw::c_int,
pub MaxTessEvaluationAtomicCounters: ::std::os::raw::c_int,
pub MaxTessEvaluationAtomicCounterBuffers: ::std::os::raw::c_int,
pub SubPixelBits: ::std::os::raw::c_int,
pub MaxClipDistances: ::std::os::raw::c_int,
pub MaxCullDistances: ::std::os::raw::c_int,
pub MaxCombinedClipAndCullDistances: ::std::os::raw::c_int,
pub MaxPixelLocalStoragePlanes: ::std::os::raw::c_int,
pub MaxColorAttachmentsWithActivePixelLocalStorage: ::std::os::raw::c_int,
pub MaxCombinedDrawBuffersAndPixelLocalStoragePlanes: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_ShBuiltInResources() {
const UNINIT: ::std::mem::MaybeUninit<ShBuiltInResources> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ShBuiltInResources>(),
552usize,
concat!("Size of: ", stringify!(ShBuiltInResources))
);
assert_eq!(
::std::mem::align_of::<ShBuiltInResources>(),
8usize,
concat!("Alignment of ", stringify!(ShBuiltInResources))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxVertexAttribs) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxVertexAttribs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxVertexUniformVectors) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxVertexUniformVectors)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxVaryingVectors) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxVaryingVectors)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxVertexTextureImageUnits) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxVertexTextureImageUnits)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxCombinedTextureImageUnits) as usize - ptr as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxCombinedTextureImageUnits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxTextureImageUnits) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTextureImageUnits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxFragmentUniformVectors) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxFragmentUniformVectors)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxDrawBuffers) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxDrawBuffers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).OES_standard_derivatives) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OES_standard_derivatives)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).OES_EGL_image_external) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OES_EGL_image_external)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).OES_EGL_image_external_essl3) as usize - ptr as usize
},
40usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OES_EGL_image_external_essl3)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).NV_EGL_stream_consumer_external) as usize - ptr as usize
},
44usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(NV_EGL_stream_consumer_external)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ARB_texture_rectangle) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(ARB_texture_rectangle)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_blend_func_extended) as usize - ptr as usize },
52usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_blend_func_extended)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_draw_buffers) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_draw_buffers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_frag_depth) as usize - ptr as usize },
60usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_frag_depth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_shader_texture_lod) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_shader_texture_lod)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).EXT_shader_framebuffer_fetch) as usize - ptr as usize
},
68usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_shader_framebuffer_fetch)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).EXT_shader_framebuffer_fetch_non_coherent) as usize
- ptr as usize
},
72usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_shader_framebuffer_fetch_non_coherent)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).NV_shader_framebuffer_fetch) as usize - ptr as usize },
76usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(NV_shader_framebuffer_fetch)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).NV_shader_noperspective_interpolation) as usize
- ptr as usize
},
80usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(NV_shader_noperspective_interpolation)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).ARM_shader_framebuffer_fetch) as usize - ptr as usize
},
84usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(ARM_shader_framebuffer_fetch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).OVR_multiview) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OVR_multiview)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).OVR_multiview2) as usize - ptr as usize },
92usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OVR_multiview2)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).EXT_multisampled_render_to_texture) as usize - ptr as usize
},
96usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_multisampled_render_to_texture)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).EXT_multisampled_render_to_texture2) as usize - ptr as usize
},
100usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_multisampled_render_to_texture2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_YUV_target) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_YUV_target)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_geometry_shader) as usize - ptr as usize },
108usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_geometry_shader)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).OES_geometry_shader) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OES_geometry_shader)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).OES_shader_io_blocks) as usize - ptr as usize },
116usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OES_shader_io_blocks)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_shader_io_blocks) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_shader_io_blocks)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_gpu_shader5) as usize - ptr as usize },
124usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_gpu_shader5)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).EXT_shader_non_constant_global_initializers) as usize
- ptr as usize
},
128usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_shader_non_constant_global_initializers)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).OES_texture_storage_multisample_2d_array) as usize
- ptr as usize
},
132usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OES_texture_storage_multisample_2d_array)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).OES_texture_3D) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OES_texture_3D)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).ANGLE_shader_pixel_local_storage) as usize - ptr as usize
},
140usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(ANGLE_shader_pixel_local_storage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ANGLE_texture_multisample) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(ANGLE_texture_multisample)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ANGLE_multi_draw) as usize - ptr as usize },
148usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(ANGLE_multi_draw)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).ANGLE_base_vertex_base_instance) as usize - ptr as usize
},
152usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(ANGLE_base_vertex_base_instance)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WEBGL_video_texture) as usize - ptr as usize },
156usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(WEBGL_video_texture)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).APPLE_clip_distance) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(APPLE_clip_distance)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).OES_texture_cube_map_array) as usize - ptr as usize },
164usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OES_texture_cube_map_array)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_texture_cube_map_array) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_texture_cube_map_array)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_shadow_samplers) as usize - ptr as usize },
172usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_shadow_samplers)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).OES_shader_multisample_interpolation) as usize
- ptr as usize
},
176usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OES_shader_multisample_interpolation)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).OES_shader_image_atomic) as usize - ptr as usize },
180usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OES_shader_image_atomic)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_tessellation_shader) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_tessellation_shader)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).OES_texture_buffer) as usize - ptr as usize },
188usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OES_texture_buffer)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_texture_buffer) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_texture_buffer)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).OES_sample_variables) as usize - ptr as usize },
196usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OES_sample_variables)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_clip_cull_distance) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_clip_cull_distance)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).EXT_primitive_bounding_box) as usize - ptr as usize },
204usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(EXT_primitive_bounding_box)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).OES_primitive_bounding_box) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(OES_primitive_bounding_box)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).ANGLE_base_vertex_base_instance_shader_builtin) as usize
- ptr as usize
},
212usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(ANGLE_base_vertex_base_instance_shader_builtin)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).ANDROID_extension_pack_es31a) as usize - ptr as usize
},
216usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(ANDROID_extension_pack_es31a)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).KHR_blend_equation_advanced) as usize - ptr as usize },
220usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(KHR_blend_equation_advanced)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).NV_draw_buffers) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(NV_draw_buffers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FragmentPrecisionHigh) as usize - ptr as usize },
228usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(FragmentPrecisionHigh)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxVertexOutputVectors) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxVertexOutputVectors)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxFragmentInputVectors) as usize - ptr as usize },
236usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxFragmentInputVectors)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MinProgramTexelOffset) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MinProgramTexelOffset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxProgramTexelOffset) as usize - ptr as usize },
244usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxProgramTexelOffset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxDualSourceDrawBuffers) as usize - ptr as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxDualSourceDrawBuffers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxViewsOVR) as usize - ptr as usize },
252usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxViewsOVR)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).HashFunction) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(HashFunction)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxExpressionComplexity) as usize - ptr as usize },
264usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxExpressionComplexity)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxCallStackDepth) as usize - ptr as usize },
268usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxCallStackDepth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxFunctionParameters) as usize - ptr as usize },
272usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxFunctionParameters)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MinProgramTextureGatherOffset) as usize - ptr as usize
},
276usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MinProgramTextureGatherOffset)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxProgramTextureGatherOffset) as usize - ptr as usize
},
280usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxProgramTextureGatherOffset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxImageUnits) as usize - ptr as usize },
284usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxImageUnits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxSamples) as usize - ptr as usize },
288usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxSamples)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxVertexImageUniforms) as usize - ptr as usize },
292usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxVertexImageUniforms)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxFragmentImageUniforms) as usize - ptr as usize },
296usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxFragmentImageUniforms)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxComputeImageUniforms) as usize - ptr as usize },
300usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxComputeImageUniforms)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxCombinedImageUniforms) as usize - ptr as usize },
304usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxCombinedImageUniforms)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxUniformLocations) as usize - ptr as usize },
308usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxUniformLocations)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxCombinedShaderOutputResources) as usize - ptr as usize
},
312usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxCombinedShaderOutputResources)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxComputeWorkGroupCount) as usize - ptr as usize },
316usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxComputeWorkGroupCount)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxComputeWorkGroupSize) as usize - ptr as usize },
328usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxComputeWorkGroupSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxComputeUniformComponents) as usize - ptr as usize },
340usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxComputeUniformComponents)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxComputeTextureImageUnits) as usize - ptr as usize },
344usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxComputeTextureImageUnits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxComputeAtomicCounters) as usize - ptr as usize },
348usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxComputeAtomicCounters)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxComputeAtomicCounterBuffers) as usize - ptr as usize
},
352usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxComputeAtomicCounterBuffers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxVertexAtomicCounters) as usize - ptr as usize },
356usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxVertexAtomicCounters)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxFragmentAtomicCounters) as usize - ptr as usize },
360usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxFragmentAtomicCounters)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxCombinedAtomicCounters) as usize - ptr as usize },
364usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxCombinedAtomicCounters)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxAtomicCounterBindings) as usize - ptr as usize },
368usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxAtomicCounterBindings)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxVertexAtomicCounterBuffers) as usize - ptr as usize
},
372usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxVertexAtomicCounterBuffers)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxFragmentAtomicCounterBuffers) as usize - ptr as usize
},
376usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxFragmentAtomicCounterBuffers)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxCombinedAtomicCounterBuffers) as usize - ptr as usize
},
380usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxCombinedAtomicCounterBuffers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxAtomicCounterBufferSize) as usize - ptr as usize },
384usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxAtomicCounterBufferSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxUniformBufferBindings) as usize - ptr as usize },
388usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxUniformBufferBindings)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxShaderStorageBufferBindings) as usize - ptr as usize
},
392usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxShaderStorageBufferBindings)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxPointSize) as usize - ptr as usize },
396usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxPointSize)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxGeometryUniformComponents) as usize - ptr as usize
},
400usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxGeometryUniformComponents)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxGeometryUniformBlocks) as usize - ptr as usize },
404usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxGeometryUniformBlocks)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxGeometryInputComponents) as usize - ptr as usize },
408usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxGeometryInputComponents)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxGeometryOutputComponents) as usize - ptr as usize },
412usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxGeometryOutputComponents)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxGeometryOutputVertices) as usize - ptr as usize },
416usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxGeometryOutputVertices)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxGeometryTotalOutputComponents) as usize - ptr as usize
},
420usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxGeometryTotalOutputComponents)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxGeometryTextureImageUnits) as usize - ptr as usize
},
424usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxGeometryTextureImageUnits)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxGeometryAtomicCounterBuffers) as usize - ptr as usize
},
428usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxGeometryAtomicCounterBuffers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxGeometryAtomicCounters) as usize - ptr as usize },
432usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxGeometryAtomicCounters)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxGeometryShaderStorageBlocks) as usize - ptr as usize
},
436usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxGeometryShaderStorageBlocks)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxGeometryShaderInvocations) as usize - ptr as usize
},
440usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxGeometryShaderInvocations)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxGeometryImageUniforms) as usize - ptr as usize },
444usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxGeometryImageUniforms)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessControlInputComponents) as usize - ptr as usize
},
448usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessControlInputComponents)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessControlOutputComponents) as usize - ptr as usize
},
452usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessControlOutputComponents)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessControlTextureImageUnits) as usize - ptr as usize
},
456usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessControlTextureImageUnits)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessControlUniformComponents) as usize - ptr as usize
},
460usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessControlUniformComponents)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessControlTotalOutputComponents) as usize - ptr as usize
},
464usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessControlTotalOutputComponents)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxTessControlImageUniforms) as usize - ptr as usize },
468usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessControlImageUniforms)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessControlAtomicCounters) as usize - ptr as usize
},
472usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessControlAtomicCounters)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessControlAtomicCounterBuffers) as usize - ptr as usize
},
476usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessControlAtomicCounterBuffers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxTessPatchComponents) as usize - ptr as usize },
480usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessPatchComponents)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxPatchVertices) as usize - ptr as usize },
484usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxPatchVertices)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxTessGenLevel) as usize - ptr as usize },
488usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessGenLevel)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessEvaluationInputComponents) as usize - ptr as usize
},
492usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessEvaluationInputComponents)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessEvaluationOutputComponents) as usize - ptr as usize
},
496usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessEvaluationOutputComponents)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessEvaluationTextureImageUnits) as usize - ptr as usize
},
500usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessEvaluationTextureImageUnits)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessEvaluationUniformComponents) as usize - ptr as usize
},
504usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessEvaluationUniformComponents)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessEvaluationImageUniforms) as usize - ptr as usize
},
508usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessEvaluationImageUniforms)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessEvaluationAtomicCounters) as usize - ptr as usize
},
512usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessEvaluationAtomicCounters)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxTessEvaluationAtomicCounterBuffers) as usize
- ptr as usize
},
516usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxTessEvaluationAtomicCounterBuffers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).SubPixelBits) as usize - ptr as usize },
520usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(SubPixelBits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxClipDistances) as usize - ptr as usize },
524usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxClipDistances)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxCullDistances) as usize - ptr as usize },
528usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxCullDistances)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxCombinedClipAndCullDistances) as usize - ptr as usize
},
532usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxCombinedClipAndCullDistances)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).MaxPixelLocalStoragePlanes) as usize - ptr as usize },
536usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxPixelLocalStoragePlanes)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxColorAttachmentsWithActivePixelLocalStorage) as usize
- ptr as usize
},
540usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxColorAttachmentsWithActivePixelLocalStorage)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).MaxCombinedDrawBuffersAndPixelLocalStoragePlanes) as usize
- ptr as usize
},
544usize,
concat!(
"Offset of field: ",
stringify!(ShBuiltInResources),
"::",
stringify!(MaxCombinedDrawBuffersAndPixelLocalStoragePlanes)
)
);
}
extern "C" {
#[link_name = "\u{1}_ZN18ShBuiltInResourcesC1Ev"]
pub fn ShBuiltInResources_ShBuiltInResources(this: *mut ShBuiltInResources);
}
extern "C" {
#[link_name = "\u{1}_ZN18ShBuiltInResourcesC1ERKS_"]
pub fn ShBuiltInResources_ShBuiltInResources1(
this: *mut ShBuiltInResources,
other: *const ShBuiltInResources,
);
}
impl ShBuiltInResources {
#[inline]
pub unsafe fn new() -> Self {
let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
ShBuiltInResources_ShBuiltInResources(__bindgen_tmp.as_mut_ptr());
__bindgen_tmp.assume_init()
}
#[inline]
pub unsafe fn new1(other: *const ShBuiltInResources) -> Self {
let mut __bindgen_tmp = ::std::mem::MaybeUninit::uninit();
ShBuiltInResources_ShBuiltInResources1(__bindgen_tmp.as_mut_ptr(), other);
__bindgen_tmp.assume_init()
}
}
pub type ShHandle = *mut ::std::os::raw::c_void;
extern "C" {
pub fn GLSLangInitialize() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GLSLangFinalize() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GLSLangInitBuiltInResources(resources: *mut ShBuiltInResources);
}
extern "C" {
pub fn GLSLangConstructCompiler(
type_: ::std::os::raw::c_uint,
spec: ::std::os::raw::c_uint,
output: ::std::os::raw::c_uint,
resources: *const ShBuiltInResources,
) -> ShHandle;
}
extern "C" {
pub fn GLSLangDestructCompiler(handle: ShHandle);
}
extern "C" {
pub fn GLSLangCompile(
handle: ShHandle,
shaderStrings: *const *const ::std::os::raw::c_char,
numStrings: usize,
compileOptions: *const ShCompileOptions,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GLSLangClearResults(handle: ShHandle);
}
extern "C" {
pub fn GLSLangGetShaderVersion(handle: ShHandle) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GLSLangGetShaderOutputType(handle: ShHandle) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn GLSLangGetInfoLog(handle: ShHandle) -> *const ::std::os::raw::c_char;
}
extern "C" {
pub fn GLSLangGetObjectCode(handle: ShHandle) -> *const ::std::os::raw::c_char;
}
pub type StrPairFunction = ::std::option::Option<
unsafe extern "C" fn(
arg1: *mut ::std::os::raw::c_void,
arg2: *const ::std::os::raw::c_char,
arg3: usize,
arg4: *const ::std::os::raw::c_char,
arg5: usize,
),
>;
extern "C" {
pub fn GLSLangIterUniformNameMapping(
handle: ShHandle,
each: StrPairFunction,
closure_each: *mut ::std::os::raw::c_void,
);
}
extern "C" {
pub fn GLSLangGetNumUnpackedVaryingVectors(handle: ShHandle) -> ::std::os::raw::c_int;
}