From c07ff56eeb29d9607d043d08e6c87ae38a817c9e Mon Sep 17 00:00:00 2001 From: spencer-lunarg Date: Mon, 25 Dec 2023 23:28:01 +0900 Subject: [PATCH] Add Spec Constant API --- common/output_stream.cpp | 9 + spirv_reflect.c | 55 +- spirv_reflect.h | 49 + tests/16bit/vert_in_out_16.spv.yaml | 2 + .../array_length_from_access_chain.spv.yaml | 2 + .../cbuffer_unused_001.spv.yaml | 2 + .../entry_exec_mode/comp_local_size.spv.yaml | 2 + .../geom_inv_out_vert.spv.yaml | 2 + tests/execution_mode/local_size_id.spv.yaml | 2 + .../local_size_id_spec.spv.yaml | 2 + tests/glsl/buffer_handle_0.spv.yaml | 2 + tests/glsl/buffer_handle_1.spv.yaml | 2 + tests/glsl/buffer_handle_2.spv.yaml | 2 + tests/glsl/buffer_handle_3.spv.yaml | 2 + tests/glsl/buffer_handle_4.spv.yaml | 2 + tests/glsl/buffer_handle_5.spv.yaml | 2 + tests/glsl/buffer_handle_6.spv.yaml | 2 + tests/glsl/buffer_handle_7.spv.yaml | 2 + tests/glsl/buffer_handle_8.spv.yaml | 2 + tests/glsl/buffer_pointer.spv.yaml | 2 + tests/glsl/built_in_format.spv.yaml | 2 + tests/glsl/fn_struct_param.spv.yaml | 2 + tests/glsl/frag_array_input.spv.yaml | 2 + tests/glsl/frag_barycentric.spv.yaml | 2 + tests/glsl/input_attachment.spv.yaml | 2 + tests/glsl/io_vars_vs.spv.yaml | 2 + tests/glsl/matrix_major_order_glsl.spv.yaml | 2 + tests/glsl/non_writable_image.spv.yaml | 2 + .../runtime_array_of_array_of_struct.spv.yaml | 2 + tests/glsl/storage_buffer.spv.yaml | 2 + tests/glsl/texel_buffer.spv.yaml | 2 + tests/hlsl/append_consume.spv.yaml | 2 + .../hlsl/array_of_structured_buffer.spv.yaml | 2 + tests/hlsl/binding_array.spv.yaml | 2 + tests/hlsl/binding_types.spv.yaml | 2 + tests/hlsl/cbuffer.spv.yaml | 2 + tests/hlsl/constantbuffer.spv.yaml | 2 + .../constantbuffer_nested_structs.spv.yaml | 2 + tests/hlsl/counter_buffers.spv.yaml | 2 + tests/hlsl/localsize.spv.yaml | 2 + tests/hlsl/matrix_major_order_hlsl.spv.yaml | 2 + tests/hlsl/pushconstant.spv.yaml | 2 + tests/hlsl/semantics.spv.yaml | 2 + tests/hlsl/structuredbuffer.spv.yaml | 2 + .../geom_input_builtin_array.spv.yaml | 2 + .../vertex_input_builtin_block.spv.yaml | 2 + .../vertex_input_builtin_non_block.spv.yaml | 2 + tests/issues/178/vertex_input_struct.spv.yaml | 2 + .../issues/178/vertex_input_struct2.spv.yaml | 2 + tests/issues/227/null_node.spv.yaml | 2 + tests/issues/77/hlsl/array_from_ubo.spv.yaml | 2 + .../77/hlsl/array_from_ubo_with_O0.spv.yaml | 2 + tests/issues/77/hlsl/rocketz.spv.yaml | 2 + .../mesh_shader_ext.mesh.hlsl.spv.yaml | 2 + .../mesh_shader_ext.task.hlsl.spv.yaml | 2 + .../multi_entrypoint.spv.yaml | 2 + .../non_zero_block_offset.spv.yaml | 2 + tests/raytrace/rayquery_equal.cs.spv.yaml | 2 + tests/raytrace/rayquery_init_ds.spv.yaml | 2 + tests/raytrace/rayquery_init_gs.spv.yaml | 2 + tests/raytrace/rayquery_init_hs.spv.yaml | 2 + tests/raytrace/rayquery_init_ps.spv.yaml | 2 + tests/raytrace/rayquery_init_rahit.spv.yaml | 2 + tests/raytrace/rayquery_init_rcall.spv.yaml | 2 + tests/raytrace/rayquery_init_rchit.spv.yaml | 2 + tests/raytrace/rayquery_init_rgen.spv.yaml | 2 + tests/raytrace/rayquery_init_rmiss.spv.yaml | 2 + ...raytracing.acceleration-structure.spv.yaml | 2 + .../raytracing.khr.closesthit.spv.yaml | 2 + ...tracing.nv.acceleration-structure.spv.yaml | 2 + tests/raytrace/raytracing.nv.anyhit.spv.yaml | 2 + .../raytrace/raytracing.nv.callable.spv.yaml | 2 + .../raytracing.nv.closesthit.spv.yaml | 2 + tests/raytrace/raytracing.nv.enum.spv.yaml | 2 + .../raytracing.nv.intersection.spv.yaml | 2 + tests/raytrace/raytracing.nv.library.spv.yaml | 2 + tests/raytrace/raytracing.nv.miss.spv.yaml | 2 + tests/raytrace/raytracing.nv.raygen.spv.yaml | 2 + tests/spec_constants/basic.comp | 13 + tests/spec_constants/basic.spv | Bin 0 -> 584 bytes tests/spec_constants/basic.spv.yaml | 150 + tests/spec_constants/convert.comp | 34 + tests/spec_constants/convert.spv | Bin 0 -> 2024 bytes tests/spec_constants/convert.spv.yaml | 510 +++ tests/spec_constants/local_size_id.comp | 7 + tests/spec_constants/local_size_id_10.spv | Bin 0 -> 344 bytes .../spec_constants/local_size_id_10.spv.yaml | 31 + tests/spec_constants/local_size_id_13.spv | Bin 0 -> 392 bytes .../spec_constants/local_size_id_13.spv.yaml | 35 + tests/spec_constants/ssbo_array.glsl | 12 + tests/spec_constants/ssbo_array.spv | Bin 0 -> 716 bytes tests/spec_constants/ssbo_array.spv.yaml | 152 + tests/spec_constants/test_32bit.comp | 310 ++ tests/spec_constants/test_32bit.spv | Bin 0 -> 11832 bytes tests/spec_constants/test_32bit.spv.yaml | 3706 +++++++++++++++++ tests/spec_constants/test_64bit.spv | Bin 0 -> 11944 bytes tests/spec_constants/test_64bit.spv.yaml | 3706 +++++++++++++++++ tests/spirv15/VertexShader.spv.yaml | 2 + tests/variable_access/copy_memory.spv.yaml | 2 + 99 files changed, 8929 insertions(+), 4 deletions(-) create mode 100644 tests/spec_constants/basic.comp create mode 100644 tests/spec_constants/basic.spv create mode 100644 tests/spec_constants/basic.spv.yaml create mode 100644 tests/spec_constants/convert.comp create mode 100644 tests/spec_constants/convert.spv create mode 100644 tests/spec_constants/convert.spv.yaml create mode 100644 tests/spec_constants/local_size_id.comp create mode 100644 tests/spec_constants/local_size_id_10.spv create mode 100644 tests/spec_constants/local_size_id_10.spv.yaml create mode 100644 tests/spec_constants/local_size_id_13.spv create mode 100644 tests/spec_constants/local_size_id_13.spv.yaml create mode 100644 tests/spec_constants/ssbo_array.glsl create mode 100644 tests/spec_constants/ssbo_array.spv create mode 100644 tests/spec_constants/ssbo_array.spv.yaml create mode 100644 tests/spec_constants/test_32bit.comp create mode 100644 tests/spec_constants/test_32bit.spv create mode 100644 tests/spec_constants/test_32bit.spv.yaml create mode 100644 tests/spec_constants/test_64bit.spv create mode 100644 tests/spec_constants/test_64bit.spv.yaml diff --git a/common/output_stream.cpp b/common/output_stream.cpp index be89f751..7bc02bcf 100644 --- a/common/output_stream.cpp +++ b/common/output_stream.cpp @@ -2172,6 +2172,15 @@ void SpvReflectToYaml::Write(std::ostream& os) { os << t2 << "- *bv" << itor->second << " # " << SafeString(sm_.push_constant_blocks[i].name) << std::endl; } + // uint32_t spec_constant_count; + os << t1 << "specialization_constant_count: " << sm_.spec_constant_count << ",\n"; + // SpvReflectSpecializationConstant* spec_constants; + os << t1 << "specialization_constants:" << std::endl; + for (uint32_t i = 0; i < sm_.spec_constant_count; ++i) { + os << t3 << "spirv_id: " << sm_.spec_constants[i].spirv_id << std::endl; + os << t3 << "constant_id: " << sm_.spec_constants[i].constant_id << std::endl; + } + if (verbosity_ >= 2) { // struct Internal { os << t1 << "_internal:" << std::endl; diff --git a/spirv_reflect.c b/spirv_reflect.c index bdabf301..867afb6a 100644 --- a/spirv_reflect.c +++ b/spirv_reflect.c @@ -1352,7 +1352,8 @@ static SpvReflectResult ParseNames(SpvReflectPrvParser* p_parser) { return SPV_REFLECT_RESULT_SUCCESS; } -static SpvReflectResult ParseDecorations(SpvReflectPrvParser* p_parser) { +static SpvReflectResult ParseDecorations(SpvReflectPrvParser* p_parser, SpvReflectShaderModule* p_module) { + uint32_t spec_constant_count = 0; for (uint32_t i = 0; i < p_parser->node_count; ++i) { SpvReflectPrvNode* p_node = &(p_parser->nodes[i]); @@ -1538,8 +1539,7 @@ static SpvReflectResult ParseDecorations(SpvReflectPrvParser* p_parser) { } break; case SpvDecorationSpecId: { - uint32_t word_offset = p_node->word_offset + member_offset + 3; - CHECKED_READU32(p_parser, word_offset, p_target_decorations->spec_id); + spec_constant_count++; } break; case SpvDecorationHlslCounterBufferGOOGLE: { @@ -1563,6 +1563,27 @@ static SpvReflectResult ParseDecorations(SpvReflectPrvParser* p_parser) { } break; } } + + if (spec_constant_count > 0) { + p_module->spec_constants = (SpvReflectSpecializationConstant*)calloc(spec_constant_count, sizeof(*p_module->spec_constants)); + if (IsNull(p_module->spec_constants)) { + return SPV_REFLECT_RESULT_ERROR_ALLOC_FAILED; + } + } + for (uint32_t i = 0; i < p_parser->node_count; ++i) { + SpvReflectPrvNode* p_node = &(p_parser->nodes[i]); + if (p_node->op == SpvOpDecorate) { + uint32_t decoration = (uint32_t)INVALID_VALUE; + CHECKED_READU32(p_parser, p_node->word_offset + 2, decoration); + if (decoration == SpvDecorationSpecId) { + const uint32_t count = p_module->spec_constant_count; + CHECKED_READU32(p_parser, p_node->word_offset + 1, p_module->spec_constants[count].constant_id); + CHECKED_READU32(p_parser, p_node->word_offset + 3, p_module->spec_constants[count].spirv_id); + p_module->spec_constant_count++; + } + } + } + return SPV_REFLECT_RESULT_SUCCESS; } @@ -3861,7 +3882,7 @@ static SpvReflectResult CreateShaderModule(uint32_t flags, size_t size, const vo SPV_REFLECT_ASSERT(result == SPV_REFLECT_RESULT_SUCCESS); } if (result == SPV_REFLECT_RESULT_SUCCESS) { - result = ParseDecorations(&parser); + result = ParseDecorations(&parser, p_module); SPV_REFLECT_ASSERT(result == SPV_REFLECT_RESULT_SUCCESS); } @@ -4050,6 +4071,7 @@ void spvReflectDestroyShaderModule(SpvReflectShaderModule* p_module) { } SafeFree(p_module->capabilities); SafeFree(p_module->entry_points); + SafeFree(p_module->spec_constants); // Push constants for (size_t i = 0; i < p_module->push_constant_block_count; ++i) { @@ -4455,6 +4477,31 @@ SpvReflectResult spvReflectEnumerateEntryPointPushConstantBlocks(const SpvReflec return SPV_REFLECT_RESULT_SUCCESS; } +SpvReflectResult spvReflectEnumerateSpecializationConstants(const SpvReflectShaderModule* p_module, uint32_t* p_count, + SpvReflectSpecializationConstant** pp_constants) { + if (IsNull(p_module)) { + return SPV_REFLECT_RESULT_ERROR_NULL_POINTER; + } + if (IsNull(p_count)) { + return SPV_REFLECT_RESULT_ERROR_NULL_POINTER; + } + + if (IsNotNull(pp_constants)) { + if (*p_count != p_module->spec_constant_count) { + return SPV_REFLECT_RESULT_ERROR_COUNT_MISMATCH; + } + + for (uint32_t index = 0; index < *p_count; ++index) { + SpvReflectSpecializationConstant* p_constant = (SpvReflectSpecializationConstant*)&p_module->spec_constants[index]; + pp_constants[index] = p_constant; + } + } else { + *p_count = p_module->spec_constant_count; + } + + return SPV_REFLECT_RESULT_SUCCESS; +} + const SpvReflectDescriptorBinding* spvReflectGetDescriptorBinding(const SpvReflectShaderModule* p_module, uint32_t binding_number, uint32_t set_number, SpvReflectResult* p_result) { const SpvReflectDescriptorBinding* p_descriptor = NULL; diff --git a/spirv_reflect.h b/spirv_reflect.h index 77b691d3..76fa967b 100644 --- a/spirv_reflect.h +++ b/spirv_reflect.h @@ -519,6 +519,15 @@ typedef struct SpvReflectCapability { uint32_t word_offset; } SpvReflectCapability; + +/*! @struct SpvReflectSpecId + +*/ +typedef struct SpvReflectSpecializationConstant { + uint32_t spirv_id; + uint32_t constant_id; +} SpvReflectSpecializationConstant; + /*! @struct SpvReflectShaderModule */ @@ -548,6 +557,8 @@ typedef struct SpvReflectShaderModule { SpvReflectInterfaceVariable* interface_variables; // Uses value(s) from first entry point uint32_t push_constant_block_count; // Uses value(s) from first entry point SpvReflectBlockVariable* push_constant_blocks; // Uses value(s) from first entry point + uint32_t spec_constant_count; // Uses value(s) from first entry point + SpvReflectSpecializationConstant* spec_constants; // Uses value(s) from first entry point struct Internal { SpvReflectModuleFlags module_flags; @@ -959,6 +970,25 @@ SpvReflectResult spvReflectEnumerateEntryPointPushConstantBlocks( ); +/*! @fn spvReflectEnumerateSpecializationConstants + @param p_module Pointer to an instance of SpvReflectShaderModule. + @param p_count If pp_blocks is NULL, the module's specialization constant + count will be stored here. If pp_blocks is not NULL, *p_count + must contain the module's specialization constant count. + @param pp_constants If NULL, the module's specialization constant count + will be written to *p_count. If non-NULL, pp_blocks must + point to an array with *p_count entries, where pointers to + the module's specialization constant blocks will be written. + The caller must not free the variables written to this array. + @return If successful, returns SPV_REFLECT_RESULT_SUCCESS. + Otherwise, the error code indicates the cause of the failure. +*/ +SpvReflectResult spvReflectEnumerateSpecializationConstants( + const SpvReflectShaderModule* p_module, + uint32_t* p_count, + SpvReflectSpecializationConstant** pp_constants +); + /*! @fn spvReflectGetDescriptorBinding @param p_module Pointer to an instance of SpvReflectShaderModule. @@ -1549,6 +1579,7 @@ class ShaderModule { SpvReflectResult EnumeratePushConstants(uint32_t* p_count, SpvReflectBlockVariable** pp_blocks) const { return EnumeratePushConstantBlocks(p_count, pp_blocks); } + SpvReflectResult EnumerateSpecializationConstants(uint32_t* p_count, SpvReflectSpecializationConstant** pp_constants) const; const SpvReflectDescriptorBinding* GetDescriptorBinding(uint32_t binding_number, uint32_t set_number, SpvReflectResult* p_result = nullptr) const; const SpvReflectDescriptorBinding* GetEntryPointDescriptorBinding(const char* entry_point, uint32_t binding_number, uint32_t set_number, SpvReflectResult* p_result = nullptr) const; @@ -1996,6 +2027,24 @@ inline SpvReflectResult ShaderModule::EnumeratePushConstantBlocks( return m_result; } +/*! @fn EnumerateSpecializationConstants + @param p_count + @param pp_constants + @return +*/ +inline SpvReflectResult ShaderModule::EnumerateSpecializationConstants( + uint32_t* p_count, + SpvReflectSpecializationConstant** pp_constants +) const +{ + m_result = spvReflectEnumerateSpecializationConstants( + &m_module, + p_count, + pp_constants + ); + return m_result; +} + /*! @fn EnumerateEntryPointPushConstantBlocks @param entry_point diff --git a/tests/16bit/vert_in_out_16.spv.yaml b/tests/16bit/vert_in_out_16.spv.yaml index bf45b643..8f262ab7 100644 --- a/tests/16bit/vert_in_out_16.spv.yaml +++ b/tests/16bit/vert_in_out_16.spv.yaml @@ -352,4 +352,6 @@ module: - *iv11 # "_f" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/access_chains/array_length_from_access_chain.spv.yaml b/tests/access_chains/array_length_from_access_chain.spv.yaml index bcd8ff69..96e05c42 100644 --- a/tests/access_chains/array_length_from_access_chain.spv.yaml +++ b/tests/access_chains/array_length_from_access_chain.spv.yaml @@ -143,4 +143,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/cbuffer_unused/cbuffer_unused_001.spv.yaml b/tests/cbuffer_unused/cbuffer_unused_001.spv.yaml index 6c73f5ca..1402023a 100644 --- a/tests/cbuffer_unused/cbuffer_unused_001.spv.yaml +++ b/tests/cbuffer_unused/cbuffer_unused_001.spv.yaml @@ -3393,4 +3393,6 @@ module: - *iv1 # push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/entry_exec_mode/comp_local_size.spv.yaml b/tests/entry_exec_mode/comp_local_size.spv.yaml index 763ef251..de82445c 100644 --- a/tests/entry_exec_mode/comp_local_size.spv.yaml +++ b/tests/entry_exec_mode/comp_local_size.spv.yaml @@ -109,4 +109,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/entry_exec_mode/geom_inv_out_vert.spv.yaml b/tests/entry_exec_mode/geom_inv_out_vert.spv.yaml index fec4d3aa..dee63e34 100644 --- a/tests/entry_exec_mode/geom_inv_out_vert.spv.yaml +++ b/tests/entry_exec_mode/geom_inv_out_vert.spv.yaml @@ -390,4 +390,6 @@ module: - *iv9 # "" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/execution_mode/local_size_id.spv.yaml b/tests/execution_mode/local_size_id.spv.yaml index 163e9664..87e5ee5a 100644 --- a/tests/execution_mode/local_size_id.spv.yaml +++ b/tests/execution_mode/local_size_id.spv.yaml @@ -22,4 +22,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/execution_mode/local_size_id_spec.spv.yaml b/tests/execution_mode/local_size_id_spec.spv.yaml index 163e9664..87e5ee5a 100644 --- a/tests/execution_mode/local_size_id_spec.spv.yaml +++ b/tests/execution_mode/local_size_id_spec.spv.yaml @@ -22,4 +22,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/buffer_handle_0.spv.yaml b/tests/glsl/buffer_handle_0.spv.yaml index a4c47fce..d6a22aa2 100644 --- a/tests/glsl/buffer_handle_0.spv.yaml +++ b/tests/glsl/buffer_handle_0.spv.yaml @@ -1299,4 +1299,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/buffer_handle_1.spv.yaml b/tests/glsl/buffer_handle_1.spv.yaml index 2378087e..fc12708f 100644 --- a/tests/glsl/buffer_handle_1.spv.yaml +++ b/tests/glsl/buffer_handle_1.spv.yaml @@ -688,4 +688,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/buffer_handle_2.spv.yaml b/tests/glsl/buffer_handle_2.spv.yaml index ea49f3c9..69d36be7 100644 --- a/tests/glsl/buffer_handle_2.spv.yaml +++ b/tests/glsl/buffer_handle_2.spv.yaml @@ -820,4 +820,6 @@ module: push_constant_count: 1, push_constants: - *bv8 # "pc" + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/buffer_handle_3.spv.yaml b/tests/glsl/buffer_handle_3.spv.yaml index c6b2a092..4d73f704 100644 --- a/tests/glsl/buffer_handle_3.spv.yaml +++ b/tests/glsl/buffer_handle_3.spv.yaml @@ -427,4 +427,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/buffer_handle_4.spv.yaml b/tests/glsl/buffer_handle_4.spv.yaml index 3b5724f0..d476baf8 100644 --- a/tests/glsl/buffer_handle_4.spv.yaml +++ b/tests/glsl/buffer_handle_4.spv.yaml @@ -334,4 +334,6 @@ module: push_constant_count: 1, push_constants: - *bv5 # "params" + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/buffer_handle_5.spv.yaml b/tests/glsl/buffer_handle_5.spv.yaml index 383ff20c..da5ed98d 100644 --- a/tests/glsl/buffer_handle_5.spv.yaml +++ b/tests/glsl/buffer_handle_5.spv.yaml @@ -229,4 +229,6 @@ module: push_constant_count: 1, push_constants: - *bv3 # "params" + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/buffer_handle_6.spv.yaml b/tests/glsl/buffer_handle_6.spv.yaml index b0e0137d..5d7c81f3 100644 --- a/tests/glsl/buffer_handle_6.spv.yaml +++ b/tests/glsl/buffer_handle_6.spv.yaml @@ -280,4 +280,6 @@ module: push_constant_count: 1, push_constants: - *bv4 # "g_GlobalsBDAPushConstant_0" + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/buffer_handle_7.spv.yaml b/tests/glsl/buffer_handle_7.spv.yaml index 9d2034f4..65b918fe 100644 --- a/tests/glsl/buffer_handle_7.spv.yaml +++ b/tests/glsl/buffer_handle_7.spv.yaml @@ -334,4 +334,6 @@ module: push_constant_count: 1, push_constants: - *bv4 # "params" + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/buffer_handle_8.spv.yaml b/tests/glsl/buffer_handle_8.spv.yaml index 3d8100a4..77603c61 100644 --- a/tests/glsl/buffer_handle_8.spv.yaml +++ b/tests/glsl/buffer_handle_8.spv.yaml @@ -183,4 +183,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/buffer_pointer.spv.yaml b/tests/glsl/buffer_pointer.spv.yaml index 26c3e43a..0f158bec 100644 --- a/tests/glsl/buffer_pointer.spv.yaml +++ b/tests/glsl/buffer_pointer.spv.yaml @@ -278,4 +278,6 @@ module: push_constant_count: 1, push_constants: - *bv4 # "push" + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/built_in_format.spv.yaml b/tests/glsl/built_in_format.spv.yaml index 3c899031..d8b5ac76 100644 --- a/tests/glsl/built_in_format.spv.yaml +++ b/tests/glsl/built_in_format.spv.yaml @@ -278,4 +278,6 @@ module: - *iv6 # "texcoord" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/fn_struct_param.spv.yaml b/tests/glsl/fn_struct_param.spv.yaml index e0566878..7b7cd2b9 100644 --- a/tests/glsl/fn_struct_param.spv.yaml +++ b/tests/glsl/fn_struct_param.spv.yaml @@ -179,4 +179,6 @@ module: - *iv0 # "outColor" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/frag_array_input.spv.yaml b/tests/glsl/frag_array_input.spv.yaml index 2163a219..b04da18c 100644 --- a/tests/glsl/frag_array_input.spv.yaml +++ b/tests/glsl/frag_array_input.spv.yaml @@ -755,4 +755,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/frag_barycentric.spv.yaml b/tests/glsl/frag_barycentric.spv.yaml index 3db473a4..fce82b63 100644 --- a/tests/glsl/frag_barycentric.spv.yaml +++ b/tests/glsl/frag_barycentric.spv.yaml @@ -149,4 +149,6 @@ module: - *iv3 # "value" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/input_attachment.spv.yaml b/tests/glsl/input_attachment.spv.yaml index ba226b2a..be6dee7b 100644 --- a/tests/glsl/input_attachment.spv.yaml +++ b/tests/glsl/input_attachment.spv.yaml @@ -177,4 +177,6 @@ module: - *iv0 # "oColor" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/io_vars_vs.spv.yaml b/tests/glsl/io_vars_vs.spv.yaml index 0587425f..fbdb20a3 100644 --- a/tests/glsl/io_vars_vs.spv.yaml +++ b/tests/glsl/io_vars_vs.spv.yaml @@ -350,4 +350,6 @@ module: - *iv8 # "normals" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/matrix_major_order_glsl.spv.yaml b/tests/glsl/matrix_major_order_glsl.spv.yaml index 34a18032..b8726869 100644 --- a/tests/glsl/matrix_major_order_glsl.spv.yaml +++ b/tests/glsl/matrix_major_order_glsl.spv.yaml @@ -1048,4 +1048,6 @@ module: - *iv1 # "my_output" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/non_writable_image.spv.yaml b/tests/glsl/non_writable_image.spv.yaml index 2c94bba7..5663bf12 100644 --- a/tests/glsl/non_writable_image.spv.yaml +++ b/tests/glsl/non_writable_image.spv.yaml @@ -144,4 +144,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/runtime_array_of_array_of_struct.spv.yaml b/tests/glsl/runtime_array_of_array_of_struct.spv.yaml index 40014c4b..329a2282 100644 --- a/tests/glsl/runtime_array_of_array_of_struct.spv.yaml +++ b/tests/glsl/runtime_array_of_array_of_struct.spv.yaml @@ -365,4 +365,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/storage_buffer.spv.yaml b/tests/glsl/storage_buffer.spv.yaml index 915badd5..bab51b9b 100644 --- a/tests/glsl/storage_buffer.spv.yaml +++ b/tests/glsl/storage_buffer.spv.yaml @@ -229,4 +229,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/glsl/texel_buffer.spv.yaml b/tests/glsl/texel_buffer.spv.yaml index 5ba245b5..8590910e 100644 --- a/tests/glsl/texel_buffer.spv.yaml +++ b/tests/glsl/texel_buffer.spv.yaml @@ -345,4 +345,6 @@ module: - *iv5 # "" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/hlsl/append_consume.spv.yaml b/tests/hlsl/append_consume.spv.yaml index f2246f43..ef2d6e49 100644 --- a/tests/hlsl/append_consume.spv.yaml +++ b/tests/hlsl/append_consume.spv.yaml @@ -453,4 +453,6 @@ module: - *iv1 # "out.var.SV_TARGET" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/hlsl/array_of_structured_buffer.spv.yaml b/tests/hlsl/array_of_structured_buffer.spv.yaml index 153d939b..fb2d4eed 100644 --- a/tests/hlsl/array_of_structured_buffer.spv.yaml +++ b/tests/hlsl/array_of_structured_buffer.spv.yaml @@ -229,4 +229,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/hlsl/binding_array.spv.yaml b/tests/hlsl/binding_array.spv.yaml index 5ebf1804..ee01e419 100644 --- a/tests/hlsl/binding_array.spv.yaml +++ b/tests/hlsl/binding_array.spv.yaml @@ -180,4 +180,6 @@ module: - *iv1 # "out.var.SV_TARGET" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/hlsl/binding_types.spv.yaml b/tests/hlsl/binding_types.spv.yaml index 027027cf..3ec7148f 100644 --- a/tests/hlsl/binding_types.spv.yaml +++ b/tests/hlsl/binding_types.spv.yaml @@ -1905,4 +1905,6 @@ module: - *iv1 # "out.var.SV_TARGET" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/hlsl/cbuffer.spv.yaml b/tests/hlsl/cbuffer.spv.yaml index 000553a3..e87d8cdc 100644 --- a/tests/hlsl/cbuffer.spv.yaml +++ b/tests/hlsl/cbuffer.spv.yaml @@ -946,4 +946,6 @@ module: - *iv1 # push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/hlsl/constantbuffer.spv.yaml b/tests/hlsl/constantbuffer.spv.yaml index 3dfad448..88f5f937 100644 --- a/tests/hlsl/constantbuffer.spv.yaml +++ b/tests/hlsl/constantbuffer.spv.yaml @@ -1111,4 +1111,6 @@ module: - *iv5 # "gl_PerVertexOut" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/hlsl/constantbuffer_nested_structs.spv.yaml b/tests/hlsl/constantbuffer_nested_structs.spv.yaml index 3ee26c58..337c545d 100644 --- a/tests/hlsl/constantbuffer_nested_structs.spv.yaml +++ b/tests/hlsl/constantbuffer_nested_structs.spv.yaml @@ -6755,4 +6755,6 @@ module: - *iv5 # "gl_PerVertexOut" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/hlsl/counter_buffers.spv.yaml b/tests/hlsl/counter_buffers.spv.yaml index 34e7f2cd..58084319 100644 --- a/tests/hlsl/counter_buffers.spv.yaml +++ b/tests/hlsl/counter_buffers.spv.yaml @@ -517,4 +517,6 @@ module: - *iv1 # "out.var.SV_TARGET0" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/hlsl/localsize.spv.yaml b/tests/hlsl/localsize.spv.yaml index ccd1bf0e..67cec531 100644 --- a/tests/hlsl/localsize.spv.yaml +++ b/tests/hlsl/localsize.spv.yaml @@ -22,4 +22,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/hlsl/matrix_major_order_hlsl.spv.yaml b/tests/hlsl/matrix_major_order_hlsl.spv.yaml index dcd24413..dbe6c6d2 100644 --- a/tests/hlsl/matrix_major_order_hlsl.spv.yaml +++ b/tests/hlsl/matrix_major_order_hlsl.spv.yaml @@ -1048,4 +1048,6 @@ module: - *iv1 # "out.var.SV_TARGET" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/hlsl/pushconstant.spv.yaml b/tests/hlsl/pushconstant.spv.yaml index 2b860519..84d06a0d 100644 --- a/tests/hlsl/pushconstant.spv.yaml +++ b/tests/hlsl/pushconstant.spv.yaml @@ -193,4 +193,6 @@ module: push_constant_count: 1, push_constants: - *bv3 # "g_PushConstants" + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/hlsl/semantics.spv.yaml b/tests/hlsl/semantics.spv.yaml index 00e7a2d2..2ea32b47 100644 --- a/tests/hlsl/semantics.spv.yaml +++ b/tests/hlsl/semantics.spv.yaml @@ -619,4 +619,6 @@ module: - *iv16 # "out.var.SV_TARGET7" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/hlsl/structuredbuffer.spv.yaml b/tests/hlsl/structuredbuffer.spv.yaml index 0523713a..fc636fee 100644 --- a/tests/hlsl/structuredbuffer.spv.yaml +++ b/tests/hlsl/structuredbuffer.spv.yaml @@ -621,4 +621,6 @@ module: - *iv0 # "out.var.SV_Target" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/interface/geom_input_builtin_array.spv.yaml b/tests/interface/geom_input_builtin_array.spv.yaml index 8a890c80..d40f2c0f 100644 --- a/tests/interface/geom_input_builtin_array.spv.yaml +++ b/tests/interface/geom_input_builtin_array.spv.yaml @@ -205,4 +205,6 @@ module: - *iv4 # "" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/interface/vertex_input_builtin_block.spv.yaml b/tests/interface/vertex_input_builtin_block.spv.yaml index 0adc801e..f6ea7b3d 100644 --- a/tests/interface/vertex_input_builtin_block.spv.yaml +++ b/tests/interface/vertex_input_builtin_block.spv.yaml @@ -242,4 +242,6 @@ module: - *iv5 # push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/interface/vertex_input_builtin_non_block.spv.yaml b/tests/interface/vertex_input_builtin_non_block.spv.yaml index d63667a1..151dc257 100644 --- a/tests/interface/vertex_input_builtin_non_block.spv.yaml +++ b/tests/interface/vertex_input_builtin_non_block.spv.yaml @@ -187,4 +187,6 @@ module: - *iv4 # "" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/issues/178/vertex_input_struct.spv.yaml b/tests/issues/178/vertex_input_struct.spv.yaml index 8f1de81a..19384831 100644 --- a/tests/issues/178/vertex_input_struct.spv.yaml +++ b/tests/issues/178/vertex_input_struct.spv.yaml @@ -132,4 +132,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/issues/178/vertex_input_struct2.spv.yaml b/tests/issues/178/vertex_input_struct2.spv.yaml index 3988114f..08a25947 100644 --- a/tests/issues/178/vertex_input_struct2.spv.yaml +++ b/tests/issues/178/vertex_input_struct2.spv.yaml @@ -169,4 +169,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/issues/227/null_node.spv.yaml b/tests/issues/227/null_node.spv.yaml index a6c41c61..fa5287cf 100644 --- a/tests/issues/227/null_node.spv.yaml +++ b/tests/issues/227/null_node.spv.yaml @@ -245,4 +245,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/issues/77/hlsl/array_from_ubo.spv.yaml b/tests/issues/77/hlsl/array_from_ubo.spv.yaml index 8162a937..0d6172c3 100644 --- a/tests/issues/77/hlsl/array_from_ubo.spv.yaml +++ b/tests/issues/77/hlsl/array_from_ubo.spv.yaml @@ -253,4 +253,6 @@ module: - *iv3 # "out.var.POSITION" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/issues/77/hlsl/array_from_ubo_with_O0.spv.yaml b/tests/issues/77/hlsl/array_from_ubo_with_O0.spv.yaml index 95f7213a..d67f9685 100644 --- a/tests/issues/77/hlsl/array_from_ubo_with_O0.spv.yaml +++ b/tests/issues/77/hlsl/array_from_ubo_with_O0.spv.yaml @@ -253,4 +253,6 @@ module: - *iv3 # "out.var.POSITION" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/issues/77/hlsl/rocketz.spv.yaml b/tests/issues/77/hlsl/rocketz.spv.yaml index 8162a937..0d6172c3 100644 --- a/tests/issues/77/hlsl/rocketz.spv.yaml +++ b/tests/issues/77/hlsl/rocketz.spv.yaml @@ -253,4 +253,6 @@ module: - *iv3 # "out.var.POSITION" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/mesh_shader_ext/mesh_shader_ext.mesh.hlsl.spv.yaml b/tests/mesh_shader_ext/mesh_shader_ext.mesh.hlsl.spv.yaml index ef9549fd..307767eb 100644 --- a/tests/mesh_shader_ext/mesh_shader_ext.mesh.hlsl.spv.yaml +++ b/tests/mesh_shader_ext/mesh_shader_ext.mesh.hlsl.spv.yaml @@ -240,4 +240,6 @@ module: - *iv6 # "out.var.COLOR0" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/mesh_shader_ext/mesh_shader_ext.task.hlsl.spv.yaml b/tests/mesh_shader_ext/mesh_shader_ext.task.hlsl.spv.yaml index fe876cb8..9a8f3f84 100644 --- a/tests/mesh_shader_ext/mesh_shader_ext.task.hlsl.spv.yaml +++ b/tests/mesh_shader_ext/mesh_shader_ext.task.hlsl.spv.yaml @@ -132,4 +132,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/multi_entrypoint/multi_entrypoint.spv.yaml b/tests/multi_entrypoint/multi_entrypoint.spv.yaml index 1bbea8ed..98ba97af 100644 --- a/tests/multi_entrypoint/multi_entrypoint.spv.yaml +++ b/tests/multi_entrypoint/multi_entrypoint.spv.yaml @@ -457,4 +457,6 @@ module: push_constants: - *bv4 # "push_constant_vert" - *bv6 # "push_constant_frag" + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/push_constants/non_zero_block_offset.spv.yaml b/tests/push_constants/non_zero_block_offset.spv.yaml index c9748a08..5d983ae5 100644 --- a/tests/push_constants/non_zero_block_offset.spv.yaml +++ b/tests/push_constants/non_zero_block_offset.spv.yaml @@ -341,4 +341,6 @@ module: push_constant_count: 1, push_constants: - *bv3 # "pc" + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/rayquery_equal.cs.spv.yaml b/tests/raytrace/rayquery_equal.cs.spv.yaml index 98009fc0..d39d7885 100644 --- a/tests/raytrace/rayquery_equal.cs.spv.yaml +++ b/tests/raytrace/rayquery_equal.cs.spv.yaml @@ -161,4 +161,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/rayquery_init_ds.spv.yaml b/tests/raytrace/rayquery_init_ds.spv.yaml index 65452254..c5b621cc 100644 --- a/tests/raytrace/rayquery_init_ds.spv.yaml +++ b/tests/raytrace/rayquery_init_ds.spv.yaml @@ -255,4 +255,6 @@ module: - *iv4 # push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/rayquery_init_gs.spv.yaml b/tests/raytrace/rayquery_init_gs.spv.yaml index f2a01bc5..e3607d18 100644 --- a/tests/raytrace/rayquery_init_gs.spv.yaml +++ b/tests/raytrace/rayquery_init_gs.spv.yaml @@ -111,4 +111,6 @@ module: - *iv0 # push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/rayquery_init_hs.spv.yaml b/tests/raytrace/rayquery_init_hs.spv.yaml index f468627f..1bb02b39 100644 --- a/tests/raytrace/rayquery_init_hs.spv.yaml +++ b/tests/raytrace/rayquery_init_hs.spv.yaml @@ -238,4 +238,6 @@ module: - *iv4 # push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/rayquery_init_ps.spv.yaml b/tests/raytrace/rayquery_init_ps.spv.yaml index 35fb0ac5..800238bc 100644 --- a/tests/raytrace/rayquery_init_ps.spv.yaml +++ b/tests/raytrace/rayquery_init_ps.spv.yaml @@ -111,4 +111,6 @@ module: - *iv0 # "out.var.SV_Target" push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/rayquery_init_rahit.spv.yaml b/tests/raytrace/rayquery_init_rahit.spv.yaml index 018ca3d6..c62bd76b 100644 --- a/tests/raytrace/rayquery_init_rahit.spv.yaml +++ b/tests/raytrace/rayquery_init_rahit.spv.yaml @@ -75,4 +75,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/rayquery_init_rcall.spv.yaml b/tests/raytrace/rayquery_init_rcall.spv.yaml index f9a5cabb..0093da2f 100644 --- a/tests/raytrace/rayquery_init_rcall.spv.yaml +++ b/tests/raytrace/rayquery_init_rcall.spv.yaml @@ -75,4 +75,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/rayquery_init_rchit.spv.yaml b/tests/raytrace/rayquery_init_rchit.spv.yaml index fa71af8c..69471f35 100644 --- a/tests/raytrace/rayquery_init_rchit.spv.yaml +++ b/tests/raytrace/rayquery_init_rchit.spv.yaml @@ -75,4 +75,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/rayquery_init_rgen.spv.yaml b/tests/raytrace/rayquery_init_rgen.spv.yaml index 376f4148..cbda2387 100644 --- a/tests/raytrace/rayquery_init_rgen.spv.yaml +++ b/tests/raytrace/rayquery_init_rgen.spv.yaml @@ -75,4 +75,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/rayquery_init_rmiss.spv.yaml b/tests/raytrace/rayquery_init_rmiss.spv.yaml index f9a5cabb..0093da2f 100644 --- a/tests/raytrace/rayquery_init_rmiss.spv.yaml +++ b/tests/raytrace/rayquery_init_rmiss.spv.yaml @@ -75,4 +75,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/raytracing.acceleration-structure.spv.yaml b/tests/raytrace/raytracing.acceleration-structure.spv.yaml index 230d6784..dd59032d 100644 --- a/tests/raytrace/raytracing.acceleration-structure.spv.yaml +++ b/tests/raytrace/raytracing.acceleration-structure.spv.yaml @@ -22,4 +22,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/raytracing.khr.closesthit.spv.yaml b/tests/raytrace/raytracing.khr.closesthit.spv.yaml index 792ea252..f81a3a70 100644 --- a/tests/raytrace/raytracing.khr.closesthit.spv.yaml +++ b/tests/raytrace/raytracing.khr.closesthit.spv.yaml @@ -445,4 +445,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/raytracing.nv.acceleration-structure.spv.yaml b/tests/raytrace/raytracing.nv.acceleration-structure.spv.yaml index 230d6784..dd59032d 100644 --- a/tests/raytrace/raytracing.nv.acceleration-structure.spv.yaml +++ b/tests/raytrace/raytracing.nv.acceleration-structure.spv.yaml @@ -22,4 +22,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/raytracing.nv.anyhit.spv.yaml b/tests/raytrace/raytracing.nv.anyhit.spv.yaml index ba6a950e..853b9e71 100644 --- a/tests/raytrace/raytracing.nv.anyhit.spv.yaml +++ b/tests/raytrace/raytracing.nv.anyhit.spv.yaml @@ -373,4 +373,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/raytracing.nv.callable.spv.yaml b/tests/raytrace/raytracing.nv.callable.spv.yaml index 775712a2..618ca0d0 100644 --- a/tests/raytrace/raytracing.nv.callable.spv.yaml +++ b/tests/raytrace/raytracing.nv.callable.spv.yaml @@ -77,4 +77,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/raytracing.nv.closesthit.spv.yaml b/tests/raytrace/raytracing.nv.closesthit.spv.yaml index d8950b88..b1b9a77f 100644 --- a/tests/raytrace/raytracing.nv.closesthit.spv.yaml +++ b/tests/raytrace/raytracing.nv.closesthit.spv.yaml @@ -426,4 +426,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/raytracing.nv.enum.spv.yaml b/tests/raytrace/raytracing.nv.enum.spv.yaml index 5dabcb4e..96940bd9 100644 --- a/tests/raytrace/raytracing.nv.enum.spv.yaml +++ b/tests/raytrace/raytracing.nv.enum.spv.yaml @@ -130,4 +130,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/raytracing.nv.intersection.spv.yaml b/tests/raytrace/raytracing.nv.intersection.spv.yaml index b5d7ac7c..77c7d4d2 100644 --- a/tests/raytrace/raytracing.nv.intersection.spv.yaml +++ b/tests/raytrace/raytracing.nv.intersection.spv.yaml @@ -354,4 +354,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/raytracing.nv.library.spv.yaml b/tests/raytrace/raytracing.nv.library.spv.yaml index c91940c7..fc5c8dac 100644 --- a/tests/raytrace/raytracing.nv.library.spv.yaml +++ b/tests/raytrace/raytracing.nv.library.spv.yaml @@ -426,4 +426,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/raytracing.nv.miss.spv.yaml b/tests/raytrace/raytracing.nv.miss.spv.yaml index 18a35954..01083cf5 100644 --- a/tests/raytrace/raytracing.nv.miss.spv.yaml +++ b/tests/raytrace/raytracing.nv.miss.spv.yaml @@ -204,4 +204,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/raytrace/raytracing.nv.raygen.spv.yaml b/tests/raytrace/raytracing.nv.raygen.spv.yaml index 5dabcb4e..96940bd9 100644 --- a/tests/raytrace/raytracing.nv.raygen.spv.yaml +++ b/tests/raytrace/raytracing.nv.raygen.spv.yaml @@ -130,4 +130,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/spec_constants/basic.comp b/tests/spec_constants/basic.comp new file mode 100644 index 00000000..fec4bc52 --- /dev/null +++ b/tests/spec_constants/basic.comp @@ -0,0 +1,13 @@ +#version 450 + +layout(constant_id = 3) const int SIZE = 2; + +layout(set = 0, binding = 0, std430) buffer SSBO { + float val[SIZE]; + float dummy; +} ssbo; + +void main() { + ssbo.val[0] = 0.0; +} + diff --git a/tests/spec_constants/basic.spv b/tests/spec_constants/basic.spv new file mode 100644 index 0000000000000000000000000000000000000000..7bb12229381c74bfb64642af64e820797d0686b4 GIT binary patch literal 584 zcmYk3K}!Nr6oqe&nq`?1wTjSO1`=Tr1VKSqAheiWJHt)T)M6^=@Aa$N1byFg2D);+ z@0@q;xo_Uf8sqhdwdh7C2C<4kG++X*o$73!&nM;kaxy(TQPGPm3DxXGi(f>OEEdnN zZuIFB>!+s9jJ^i=8={5ce~-AsUVi_0OG*2i;{4`8tfScYT)co=3G2Q5D2gwt9$VD1 ze0rnAtnyUjiNzb#HtFoU%7bN${Ud759y!l6qubfFhck{yLr?K2p@?0+&~F@}R_}VB zl{1Ir9(pc3t(|dNVdtnl0M}=fI|Mts=7!*IrIo*|uxGIU7_9#`X^5TOOUSuR-fX3n iKj#kY^F9pE`~%~gUel?zPwKCyd4)<&&tG2mg8Ty)(;1Th literal 0 HcmV?d00001 diff --git a/tests/spec_constants/basic.spv.yaml b/tests/spec_constants/basic.spv.yaml new file mode 100644 index 00000000..ded1d80a --- /dev/null +++ b/tests/spec_constants/basic.spv.yaml @@ -0,0 +1,150 @@ +%YAML 1.0 +--- +all_type_descriptions: + - &td0 + id: 9 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [2,], stride: 4 } + member_count: 0 + members: + - &td1 + id: 6 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td2 + id: 10 + op: 30 + type_name: "SSBO" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000002 # BUFFER_BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td0 + - *td1 +all_block_variables: + - &bv0 + name: "val" + offset: 0 + absolute_offset: 0 + size: 8 + padded_size: 8 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [2,], stride: 4 } + member_count: 0 + members: + type_description: *td0 + - &bv1 + name: "dummy" + offset: 8 + absolute_offset: 8 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td1 + - &bv2 + name: "ssbo" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv0 + - *bv1 + type_description: *td2 +all_descriptor_bindings: + - &db0 + spirv_id: 12 + name: "ssbo" + binding: 0 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv2 # "ssbo" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td2 + word_offset: { binding: 83, set: 79 } +all_interface_variables: +module: + generator: 8 # Khronos Glslang Reference Front End + entry_point_name: "main" + entry_point_id: 4 + source_language: 2 # GLSL + source_language_version: 450 + spirv_execution_model: 5 # GLCompute + shader_stage: 0x00000020 # CS + descriptor_binding_count: 1 + descriptor_bindings: + - *db0 # "ssbo" + descriptor_set_count: 1 + descriptor_sets: + - set: 0 + binding_count: 1 + bindings: + - *db0 # "ssbo" + input_variable_count: 0, + input_variables: + output_variable_count: 0, + output_variables: + push_constant_count: 0, + push_constants: + specialization_constant_count: 1, + specialization_constants: + spirv_id: 3 + constant_id: 8 +... diff --git a/tests/spec_constants/convert.comp b/tests/spec_constants/convert.comp new file mode 100644 index 00000000..ad737005 --- /dev/null +++ b/tests/spec_constants/convert.comp @@ -0,0 +1,34 @@ +#version 450 + +#extension GL_EXT_shader_explicit_arithmetic_types_int64: enable + +layout(local_size_x = 1) in; + +layout(constant_id = 0) const int64_t SONE = 1; +layout(constant_id = 1) const uint64_t UONE = 1; +layout(constant_id = 2) const float F_ONE = 1.0; +layout(constant_id = 3) const double D_ONE = 1.0; + +const uint U_SONE = uint(SONE); +const uint U_UONE = uint(UONE); + +const int S_SONE = int(SONE); +const int S_UONE = int(UONE); + +const float F_ONE2 = float(D_ONE); +const double D_ONE2 = double(F_ONE); + +#define DUMMY_SSBO(name, bind, size) layout(std430, set = 0, binding = bind) buffer SSBO_##name { float val[size]; float dummy; } name + +DUMMY_SSBO(U_Sone, 0, U_SONE); +DUMMY_SSBO(U_Uone, 1, U_UONE); +DUMMY_SSBO(S_Sone, 2, S_SONE); +DUMMY_SSBO(S_Uone, 3, S_UONE); + +void main() +{ + U_Sone.val[0] = F_ONE; + U_Uone.val[0] = F_ONE; + S_Sone.val[0] = F_ONE2; + S_Uone.val[0] = F_ONE2; +} \ No newline at end of file diff --git a/tests/spec_constants/convert.spv b/tests/spec_constants/convert.spv new file mode 100644 index 0000000000000000000000000000000000000000..948b8a3a3116e2768c8fd3bef701fa03ae1ea7ad GIT binary patch literal 2024 zcmZ9NTTfF#6orSjAX2%BfEUEm;uWw;Q;CU*R3p}hMjmPt-%c9Zgp<&UZ8h@N-{vp! z(H9ffH|K1fbjZ%kTC=Zb?+*Fg&K2ioT+z+Ds!P|Z%ZYK0eIeV6+KX<^^NnV!Ss9JH zmD-EvSS-0bo4;Fjv-)$cAnA9K0sM;Wz^fAcn&f4d6aFcp;1*q@86SWC6pzk2-QF00I-?F&O#QVK3{4S{Hfv~SnLqUCy zz5f4tcEM@ffAzqzEG~FD?!LHIP|ty|kE=M1tbf?Bz)RZaB=q@%GO=Fm2(ygC1`fT3 z<_bNg5+C%AdRc}`DfF0LV$UpcPcOj;_?GrC2kTpygY_=V0nT!uk6{jAar zb4_PfO%d_I+c1%!%iWgrY~Hxr7G{o&i-cE%$s7JvhM6xo;t>0~gjE%$Hs;H@$r1K9 zbV3)N+&8q>B`oR%+x)>%54rN5e3fuVo;H*4Jz;WzCqFRr2)8L*(ayJI_G~7e={zIZS6uFyS2z=Lq?Q8-dDF{7 zari7qSor%bhW~qSk>|`77 zmL0Q}<(66Beo>gCV${-*tNK)zkLRV_?blKa%m<+~LrYj@ZE!nZ?>ZRKCtd()1aZ%D z9U5S+9&tyU`{;#Cp62t|D1AM{{veu3b{gI@Ft{VFelGqDRz7TfzZHNlTey8s0Q{6`&CVXzVF_9z$4pz z*4k^o&aGC)I}uyaj7AKiINhkg1YAA$*?cjdtiRtTmsjU1T2ak~YT8lb7qN|fEZ;v3 zbjTBTF*V7m$HgPB|IzezIZWv#^oKvo+V~SvAtH9^;-D# zdi8~itgLU`KH^<`9diz`{fxVhxQS2kN7&SF4DU&tIdUB=V@GwqkTsm)6!RoJDq!?@ z4c}vgTD|uHH+v4TKKXo{{BDnn5<9;$AM>AfkV|p*u%7X>gWL(&+02n2f)DWamA@^q zGs~TU?cc^c3A^WJJbh>D9hNb7xaQ5&IjhH+eqnsyDO;-TVfM3zc8A*BBg|OR^|`Ba Q7W>~*O-|h(U+o6_2MG8aU;qFB literal 0 HcmV?d00001 diff --git a/tests/spec_constants/ssbo_array.spv.yaml b/tests/spec_constants/ssbo_array.spv.yaml new file mode 100644 index 00000000..ac01cdd3 --- /dev/null +++ b/tests/spec_constants/ssbo_array.spv.yaml @@ -0,0 +1,152 @@ +%YAML 1.0 +--- +all_type_descriptions: + - &td0 + id: 9 + op: 28 + type_name: + struct_member_name: "a" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [4,], stride: 4 } + member_count: 0 + members: + - &td1 + id: 11 + op: 28 + type_name: + struct_member_name: "b" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [3,], stride: 4 } + member_count: 0 + members: + - &td2 + id: 12 + op: 30 + type_name: "SSBO" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000002 # BUFFER_BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td0 + - *td1 +all_block_variables: + - &bv0 + name: "a" + offset: 0 + absolute_offset: 0 + size: 16 + padded_size: 16 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [4,], stride: 4 } + member_count: 0 + members: + type_description: *td0 + - &bv1 + name: "b" + offset: 16 + absolute_offset: 16 + size: 12 + padded_size: 12 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [3,], stride: 4 } + member_count: 0 + members: + type_description: *td1 + - &bv2 + name: "ssbo" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv0 + - *bv1 + type_description: *td2 +all_descriptor_bindings: + - &db0 + spirv_id: 14 + name: "ssbo" + binding: 0 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv2 # "ssbo" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td2 + word_offset: { binding: 94, set: 90 } +all_interface_variables: +module: + generator: 8 # Khronos Glslang Reference Front End + entry_point_name: "main" + entry_point_id: 4 + source_language: 2 # GLSL + source_language_version: 450 + spirv_execution_model: 5 # GLCompute + shader_stage: 0x00000020 # CS + descriptor_binding_count: 1 + descriptor_bindings: + - *db0 # "ssbo" + descriptor_set_count: 1 + descriptor_sets: + - set: 0 + binding_count: 1 + bindings: + - *db0 # "ssbo" + input_variable_count: 0, + input_variables: + output_variable_count: 0, + output_variables: + push_constant_count: 0, + push_constants: + specialization_constant_count: 2, + specialization_constants: + spirv_id: 8 + constant_id: 8 + spirv_id: 5 + constant_id: 10 +... diff --git a/tests/spec_constants/test_32bit.comp b/tests/spec_constants/test_32bit.comp new file mode 100644 index 00000000..edd29770 --- /dev/null +++ b/tests/spec_constants/test_32bit.comp @@ -0,0 +1,310 @@ +#version 450 +layout(local_size_x_id = 8, local_size_y = 1, local_size_z = 1) in; + +layout(constant_id = 2) const int SONE = 1; +layout(constant_id = 3) const int STWO = 2; +const int _141 = (SONE + STWO); +const uint _144 = (uint(_141) + 0u); +layout(constant_id = 5) const uint UONE = 1u; +const uint _145 = (_144 + UONE); +layout(constant_id = 6) const uint UTWO = 2u; +const uint IADD = (_145 + UTWO); +const uint _147 = (IADD - 5u); +layout(constant_id = 4) const int SNEG_TWO = -2; +const uint _152 = (uint(SNEG_TWO) + 0u); +const uint ISUB = (UTWO - _152); +const uint _154 = (ISUB - 3u); +const uint IMUL = (UTWO * UTWO); +const uint _156 = (IMUL - 3u); +const uint UDIV = (UTWO / UTWO); +layout(constant_id = 7) const int SNEG_THREE = -3; +const int SDIV = (STWO / SNEG_THREE); +const int _160 = (SDIV + 1); +const int SREM = STWO - SNEG_THREE * (STWO / SNEG_THREE); +const int _162 = (SREM - 1); +const int SMOD = (STWO % SNEG_THREE); +const int _165 = (SMOD + 2); +const uint UMOD = (IADD % IMUL); +const uint _168 = (UMOD - 1u); +const uint _170 = (ISUB - 3u); +const uint LSHL = (IADD << _170); +const uint _172 = (LSHL - 11u); +const uint _174 = (ISUB - 3u); +const uint RSHL = (IADD >> _174); +const uint _176 = (RSHL - 2u); +const int _178 = int(IADD + 0u); +const int _179 = (-_178); +const int _180 = (1 - SDIV); +const int RSHA = (_179 >> _180); +const int _182 = (RSHA + 4); +const uint _184 = (ISUB - 3u); +const bool IEQ = (IADD == _184); +const int _186 = IEQ ? 2 : 1; +const uint _188 = (ISUB - 3u); +const bool INEQ = (IADD != _188); +const int _189 = INEQ ? 1 : 2; +const uint _191 = (ISUB - 3u); +const bool ULT = (IADD < _191); +const int _192 = ULT ? 2 : 1; +const uint _194 = (ISUB - 3u); +const bool ULE = (IADD <= _194); +const int _195 = ULE ? 2 : 1; +const uint _197 = (ISUB - 3u); +const bool UGT = (IADD > _197); +const int _198 = UGT ? 1 : 2; +const uint _200 = (ISUB - 3u); +const bool UGE = (IADD >= _200); +const int _201 = UGE ? 1 : 2; +const bool SLT = (SMOD < SREM); +const int _203 = SLT ? 1 : 2; +const bool SLE = (SMOD <= SREM); +const int _205 = SLE ? 1 : 2; +const bool SGT = (SMOD > SREM); +const int _207 = SGT ? 2 : 1; +const bool SGE = (SMOD >= SREM); +const int _209 = SGE ? 2 : 1; +const bool LOR = (IEQ || SLT); +const int _211 = LOR ? 1 : 2; +const bool LAND = (IEQ && SLT); +const int _213 = LAND ? 2 : 1; +const bool LNOT = (!LOR); +const int _215 = LNOT ? 2 : 1; +const uint AND = (IADD & IADD); +const uint _217 = (AND - 5u); +const uint _219 = (ISUB - 3u); +const uint OR = (IADD | _219); +const uint _221 = (OR - 6u); +const uint XOR = (IADD ^ IADD); +const uint _223 = (XOR + 1u); +const uint NOT = (~XOR); +const uint _226 = (NOT - 4294967294u); +const bool LEQ = (LAND == LNOT); +const int _228 = LEQ ? 1 : 2; +const bool LNEQ = (LAND != LNOT); +const int _230 = LNEQ ? 2 : 1; +const uint _232 = (ISUB - 3u); +const uint SEL = IEQ ? IADD : _232; +layout(constant_id = 0) const bool TRUE = true; +layout(constant_id = 1) const bool FALSE = false; + +layout(set = 0, binding = 0, std430) buffer SSBO_IAdd +{ + float val[_147]; + float dummy; +} IAdd; + +layout(set = 0, binding = 1, std430) buffer SSBO_ISub +{ + float val[_154]; + float dummy; +} ISub; + +layout(set = 0, binding = 2, std430) buffer SSBO_IMul +{ + float val[_156]; + float dummy; +} IMul; + +layout(set = 0, binding = 3, std430) buffer SSBO_UDiv +{ + float val[UDIV]; + float dummy; +} UDiv; + +layout(set = 0, binding = 4, std430) buffer SSBO_SDiv +{ + float val[_160]; + float dummy; +} SDiv; + +layout(set = 0, binding = 5, std430) buffer SSBO_SRem +{ + float val[_162]; + float dummy; +} SRem; + +layout(set = 0, binding = 6, std430) buffer SSBO_SMod +{ + float val[_165]; + float dummy; +} SMod; + +layout(set = 0, binding = 7, std430) buffer SSBO_UMod +{ + float val[_168]; + float dummy; +} UMod; + +layout(set = 0, binding = 8, std430) buffer SSBO_LShl +{ + float val[_172]; + float dummy; +} LShl; + +layout(set = 0, binding = 9, std430) buffer SSBO_RShl +{ + float val[_176]; + float dummy; +} RShl; + +layout(set = 0, binding = 10, std430) buffer SSBO_RSha +{ + float val[_182]; + float dummy; +} RSha; + +layout(set = 0, binding = 11, std430) buffer SSBO_IEq +{ + float val[_186]; + float dummy; +} IEq; + +layout(set = 0, binding = 12, std430) buffer SSBO_INeq +{ + float val[_189]; + float dummy; +} INeq; + +layout(set = 0, binding = 13, std430) buffer SSBO_Ult +{ + float val[_192]; + float dummy; +} Ult; + +layout(set = 0, binding = 14, std430) buffer SSBO_Ule +{ + float val[_195]; + float dummy; +} Ule; + +layout(set = 0, binding = 15, std430) buffer SSBO_Ugt +{ + float val[_198]; + float dummy; +} Ugt; + +layout(set = 0, binding = 16, std430) buffer SSBO_Uge +{ + float val[_201]; + float dummy; +} Uge; + +layout(set = 0, binding = 17, std430) buffer SSBO_Slt +{ + float val[_203]; + float dummy; +} Slt; + +layout(set = 0, binding = 18, std430) buffer SSBO_Sle +{ + float val[_205]; + float dummy; +} Sle; + +layout(set = 0, binding = 19, std430) buffer SSBO_Sgt +{ + float val[_207]; + float dummy; +} Sgt; + +layout(set = 0, binding = 20, std430) buffer SSBO_Sge +{ + float val[_209]; + float dummy; +} Sge; + +layout(set = 0, binding = 21, std430) buffer SSBO_Lor +{ + float val[_211]; + float dummy; +} Lor; + +layout(set = 0, binding = 22, std430) buffer SSBO_Land +{ + float val[_213]; + float dummy; +} Land; + +layout(set = 0, binding = 23, std430) buffer SSBO_Lnot +{ + float val[_215]; + float dummy; +} Lnot; + +layout(set = 0, binding = 24, std430) buffer SSBO_And +{ + float val[_217]; + float dummy; +} And; + +layout(set = 0, binding = 25, std430) buffer SSBO_Or +{ + float val[_221]; + float dummy; +} Or; + +layout(set = 0, binding = 26, std430) buffer SSBO_Xor +{ + float val[_223]; + float dummy; +} Xor; + +layout(set = 0, binding = 27, std430) buffer SSBO_Not +{ + float val[_226]; + float dummy; +} Not; + +layout(set = 0, binding = 28, std430) buffer SSBO_Leq +{ + float val[_228]; + float dummy; +} Leq; + +layout(set = 0, binding = 29, std430) buffer SSBO_Lneq +{ + float val[_230]; + float dummy; +} Lneq; + +layout(set = 0, binding = 30, std430) buffer SSBO_Sel +{ + float val[SEL]; + float dummy; +} Sel; + +void main() +{ + IAdd.val[0] = 0.0; + ISub.val[0] = 0.0; + IMul.val[0] = 0.0; + UDiv.val[0] = 0.0; + SDiv.val[0] = 0.0; + SRem.val[0] = 0.0; + SMod.val[0] = 0.0; + UMod.val[0] = 0.0; + LShl.val[0] = 0.0; + RShl.val[0] = 0.0; + RSha.val[0] = 0.0; + IEq.val[0] = 0.0; + INeq.val[0] = 0.0; + Ult.val[0] = 0.0; + Ule.val[0] = 0.0; + Ugt.val[0] = 0.0; + Uge.val[0] = 0.0; + Slt.val[0] = 0.0; + Sle.val[0] = 0.0; + Sgt.val[0] = 0.0; + Sge.val[0] = 0.0; + Lor.val[0] = 0.0; + Land.val[0] = 0.0; + Lnot.val[0] = 0.0; + And.val[0] = 0.0; + Or.val[0] = 0.0; + Xor.val[0] = 0.0; + Not.val[0] = 0.0; + Leq.val[0] = 0.0; + Lneq.val[0] = 0.0; + Sel.val[0] = 0.0; +} + diff --git a/tests/spec_constants/test_32bit.spv b/tests/spec_constants/test_32bit.spv new file mode 100644 index 0000000000000000000000000000000000000000..7a8f6023c6dd192ac778ed6c0a0dfee0a5d84373 GIT binary patch literal 11832 zcmZvi2bi5z5r(hX-Bd^jNeG>UDuPG}MUk?QWwUa#D|>SVL|kIBglGySL9xK9h=K@; zB4Y2@d+%cJz4zXGFNp7Z?mx-oJUKkW%=eu+^UXPbx&QLeH|?Mqt$};ATCEwaIXcGt z*0h%4oYwT>hufX@QCDnPd(^Vyk9K};t4~+v=CuxP4G>SmHm+X3N#5ChOny2x1DlD> z!e(Q0uwAfSvANhhY&UE^wmY@}TZk>f_P`cndt!TGdt>`x`(pcH`(p=SOR%NbZYbJ| zwe-?Tvr)YJyK8#o`IY(%TYb~$!NN-8eK0>^*+s2i;N8)>RS8m-vY+X4=)D_oty?;h} zOG@2)gS*Q|9)v4(kHVL_-R0}AB(|=cBkGFly55t`l2YeB;NID+7$4%wd4AsLouqY) z*t6+u*OGIDmbljP-fxzay2pyghgRZ>_Hp7;cYJaqv3rnnL|t)R*XOCzTT<#S6R#ZG zcHbN?E_GLKj{8Q=5p~6NU7yiTZ%L_p0=S#%p6I-FyW8u^Iijw(uIqE(EGczQ0=GLW z+PHEK_r;gG?an1}kH|TquDGu2yQEoC>fR4Lp6Z?qE_KJZ*OhZbU2$D^7r16gseAu| zR}A7xzo+1%?rLJMo17!+itD<*^Qh|*>h!fv#g7b~Q)-?@TxyOCUFN(sv^Mg+e4+EFUzLhBw?v1=ZJdZy54-a?uN-y?=0itUVp>H zy?X1m^(W_udg8jCzdc=+*xw4{;a-0u#7(_z{mD6^p17{(?^t(TufGQncbfA%+qgWN z+s{wV5%t7%J%1BB&H4G@bei+?Wzy8!)?azSz(+lCUC-awPIG>v#?ATpW7Vs-{rt)g z7<|+d*Y*6Z?lkB3K;!28ycwH%+xjavD16it*Y*6}?=lU2rpqubt>U2w1F>P_*!lygK)@s2h7%Qs28x1`kd$EiI!X8F?V zx%gh)O`E+Leg5PeQCD2o^*g8CTSA?_)_Gvt9pInyiA&AF(rT$G=ZKo(9c%WL?u_J1U>so$)kzQ&&g!sJX+FVFnYMrPgp17{JADm0< z?V-dTp?jSmF7-ys@sItY2jX2nt-%L1xUaznH+Z1IhcwvlC)Zzs zH}1z)pl}%8VI4Xhc(4Z3+iFNTV3B<+uvGGoHgV7G;78;YSxqs zO>1RMv6|}G!^81e<4CY0Ysi_OHRM9WGs_xcHDdk|#91T0TeC)dyJii!sNwpoAy%Ug zb02=!+T)A{dn0AdW5ABADOc}HE;Ox`HN|Si_1Q?AHI4&2vW8r(Ar~5c+hz^18gU

&O~%wT4`1%puMiVl_N7_i-6MYxu3}$Qp9BhFoauLYy_kYItU9_#>P(P60czhFq;7 z7aF?~XAQ9$o|zg~;IqbQU`N)Ft2N|8V=i&l5Ub&tsnPp=-u^xtgm+{OxmrUmH0BX! z4e?UUGgD(LKJVj9up?{8)f#f4;eRX18e%m(Gc|gD3vb`Y5WFL6$kiHhp)sF0YlzkG z%+z=!KJQ}~?8q8&wT4`1>`t6D#ALz><1zTGF$Q*I4Y^uF zE;Rgp&l+MiJTo;Oi_aS8fE`&wuGWwXjm5-SL#&2prpDv&S)&7XWDU7mLoPJ@&d(ZR zH9RvluEuALF4&PZziXQsxJ z@ve{Wl&28;I~@1K#mzjf)eE2f;o<8@Xb9~);a%lYzlL|bLz<-jHzdR@iVX~%zWn}?-1hX z!@NVWDa?H5LiZNp0W9i0llTdk`OfW&?j?B7!MXjxhv9=;0)7_QZxQ*E8{F4$>Ua*f zVh*vjo?VdV(BHa^*!A*puJE_@Y`^ZwoY>dx#P$$*&m}g` zeCOQPdc2y>xvzWSgR`&af$dA)eTn-UF6tfuz7|to3;y}U>Ny{J4<}a7IrWaj2dCZ( z!0O4XC-&ONMcsQ7Ux$UB`*;M{y3SemD130%eIeKy^41kkZ@4(``+)Ci&ih8d!%zlo+2WLMo0q=sz+mCog!?{oE9*f<8g?{ia zh4WmU550}V>N%(0arofWdl^_gdG*9I8!qZD16w2XV!tnkn}$W+D~P8GZnd0qznk!` zbx!@`@xiJ8O0fF!>WgPJoON#^J^{NPI}|&jSnqkigE-FHyjNlF-+brP-;7t^IrUG( z2dDn4!RpJaFP`0Sq5m4Nbq~k9UxPo1_@kJ8nG?^~Yl-Jzk@q@c*PHL0eO-#TFX!y* zzWCtm>-Av!lD99hHRYo28;Ez-*Ztt{#O%wQ=>k$v3L%zAhsvx?dddpaQ5_GuszA!lXz~!MNjVo=boaM)8Su> z*^4>R%lnD#<#fzG?8o!jg0~mv?PU-joV|PiY%lWmBA(Z9(aQ(HJL}~Pc<&v1F(-QY z5V5^DpU-70*j_$_*~^*u;OynYV0)3b7x8Wl7ropG-dQip;l0=F#hmEH`^sLN&%Im; zwioB^We6Xfy?hjGFY@*xp5JiM%g4Yw>*Xx?*J1WzPW19|Vta8uU!zBY?ZtU}8O8@^ zFP{M0i@d#vcW=1p<&)r@^|Auq_kz8c6TN(j*j}8^y*vtRFV5S`2tGJ_`83#G3r6_3aqB{YMzY`PR-AP)s$CLys+UyvkmtBQEPq< zPEF^t=A*%CIdC7o-n-%4<4wfp zVLr<~n_BSSBKBE!{ua#l_!M3}=hQnNKZVJu_iem-^6H8AX}GBS9dP}Qu#X30zNhTL zocMdC7o-Vc-WI=kP8V!jKl8+-i`asE5&$6)K4>zvw8#H;O` z+7tNT)cy%r9eK6I`!}3>dN=V!nD>$QulH2kXFnzOKD!8e5oV5>*W%T5Ud`3`;MDvX zSWS5~#RoK8Xg&=53ar-rIh>l#tEaA-Pr|F|yqat9!KwKRu$uB}ikD!$Gw$8nzXW@J zhhw*6?$fhhi>Y}k=Cw9Y&Fk=LIeo=r{O5YTbtaEoSXo8#@&w_iQY3 zen)ISIY%z%{2n||<;dlnKY*uKIdVDYkKh?qj$F?96L@BoBbRgj44zfx$mN{BfM-`Z zayjR(;5k)}T+aC$*lU{4M=t059lUFmBbRgj0iIjs$mN`Wg6CB^ayjQ;;N7Ymxt#NF z@cb%AF6aCQynB@+mvjCLUQp%8<(#{~3#%Ntobx~MqAEu&=iCk6qso!XIsS3IxXO{s zIrjkXS>?#(oN3^_svNnT(+A$W%8|=C{osA79J!q1|609ol_QsPrh|R|=X*>p=ga{6 mp3XUPIcFx=_iE0O%Q>^aOR5~XoHHA|w91h)=PnNXB<%nBJSVjP literal 0 HcmV?d00001 diff --git a/tests/spec_constants/test_32bit.spv.yaml b/tests/spec_constants/test_32bit.spv.yaml new file mode 100644 index 00000000..85b5b799 --- /dev/null +++ b/tests/spec_constants/test_32bit.spv.yaml @@ -0,0 +1,3706 @@ +%YAML 1.0 +--- +all_type_descriptions: + - &td0 + id: 104 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td1 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td2 + id: 39 + op: 30 + type_name: "SSBO_IAdd" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td0 + - *td1 + - &td3 + id: 105 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td4 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td5 + id: 42 + op: 30 + type_name: "SSBO_ISub" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td3 + - *td4 + - &td6 + id: 106 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td7 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td8 + id: 44 + op: 30 + type_name: "SSBO_IMul" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td6 + - *td7 + - &td9 + id: 107 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [134,], stride: 4 } + member_count: 0 + members: + - &td10 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td11 + id: 46 + op: 30 + type_name: "SSBO_UDiv" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td9 + - *td10 + - &td12 + id: 108 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + - &td13 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td14 + id: 49 + op: 30 + type_name: "SSBO_SDiv" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td12 + - *td13 + - &td15 + id: 109 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td16 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td17 + id: 51 + op: 30 + type_name: "SSBO_SRem" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td15 + - *td16 + - &td18 + id: 110 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + - &td19 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td20 + id: 53 + op: 30 + type_name: "SSBO_SMod" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td18 + - *td19 + - &td21 + id: 111 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td22 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td23 + id: 55 + op: 30 + type_name: "SSBO_UMod" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td21 + - *td22 + - &td24 + id: 112 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td25 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td26 + id: 57 + op: 30 + type_name: "SSBO_LShl" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td24 + - *td25 + - &td27 + id: 113 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td28 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td29 + id: 59 + op: 30 + type_name: "SSBO_RShl" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td27 + - *td28 + - &td30 + id: 114 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + - &td31 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td32 + id: 61 + op: 30 + type_name: "SSBO_RSha" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td30 + - *td31 + - &td33 + id: 115 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td34 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td35 + id: 63 + op: 30 + type_name: "SSBO_IEq" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td33 + - *td34 + - &td36 + id: 116 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td37 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td38 + id: 65 + op: 30 + type_name: "SSBO_INeq" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td36 + - *td37 + - &td39 + id: 117 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td40 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td41 + id: 67 + op: 30 + type_name: "SSBO_Ult" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td39 + - *td40 + - &td42 + id: 118 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td43 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td44 + id: 69 + op: 30 + type_name: "SSBO_Ule" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td42 + - *td43 + - &td45 + id: 119 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td46 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td47 + id: 71 + op: 30 + type_name: "SSBO_Ugt" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td45 + - *td46 + - &td48 + id: 120 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td49 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td50 + id: 73 + op: 30 + type_name: "SSBO_Uge" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td48 + - *td49 + - &td51 + id: 121 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td52 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td53 + id: 75 + op: 30 + type_name: "SSBO_Slt" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td51 + - *td52 + - &td54 + id: 122 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td55 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td56 + id: 77 + op: 30 + type_name: "SSBO_Sle" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td54 + - *td55 + - &td57 + id: 123 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td58 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td59 + id: 79 + op: 30 + type_name: "SSBO_Sgt" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td57 + - *td58 + - &td60 + id: 124 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td61 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td62 + id: 81 + op: 30 + type_name: "SSBO_Sge" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td60 + - *td61 + - &td63 + id: 125 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td64 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td65 + id: 83 + op: 30 + type_name: "SSBO_Lor" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td63 + - *td64 + - &td66 + id: 126 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td67 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td68 + id: 85 + op: 30 + type_name: "SSBO_Land" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td66 + - *td67 + - &td69 + id: 127 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td70 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td71 + id: 87 + op: 30 + type_name: "SSBO_Lnot" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td69 + - *td70 + - &td72 + id: 128 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td73 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td74 + id: 89 + op: 30 + type_name: "SSBO_And" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td72 + - *td73 + - &td75 + id: 129 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td76 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td77 + id: 91 + op: 30 + type_name: "SSBO_Or" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td75 + - *td76 + - &td78 + id: 130 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + - &td79 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td80 + id: 93 + op: 30 + type_name: "SSBO_Xor" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td78 + - *td79 + - &td81 + id: 131 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td82 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td83 + id: 95 + op: 30 + type_name: "SSBO_Not" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td81 + - *td82 + - &td84 + id: 132 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td85 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td86 + id: 97 + op: 30 + type_name: "SSBO_Leq" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td84 + - *td85 + - &td87 + id: 133 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td88 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td89 + id: 99 + op: 30 + type_name: "SSBO_Lneq" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td87 + - *td88 + - &td90 + id: 134 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td91 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td92 + id: 101 + op: 30 + type_name: "SSBO_Sel" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td90 + - *td91 +all_block_variables: + - &bv0 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td0 + - &bv1 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td1 + - &bv2 + name: "IAdd" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv0 + - *bv1 + type_description: *td2 + - &bv3 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td3 + - &bv4 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td4 + - &bv5 + name: "ISub" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv3 + - *bv4 + type_description: *td5 + - &bv6 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td6 + - &bv7 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td7 + - &bv8 + name: "IMul" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv6 + - *bv7 + type_description: *td8 + - &bv9 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [134,], stride: 4 } + member_count: 0 + members: + type_description: *td9 + - &bv10 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td10 + - &bv11 + name: "UDiv" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv9 + - *bv10 + type_description: *td11 + - &bv12 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + type_description: *td12 + - &bv13 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td13 + - &bv14 + name: "SDiv" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv12 + - *bv13 + type_description: *td14 + - &bv15 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td15 + - &bv16 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td16 + - &bv17 + name: "SRem" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv15 + - *bv16 + type_description: *td17 + - &bv18 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + type_description: *td18 + - &bv19 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td19 + - &bv20 + name: "SMod" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv18 + - *bv19 + type_description: *td20 + - &bv21 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td21 + - &bv22 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td22 + - &bv23 + name: "UMod" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv21 + - *bv22 + type_description: *td23 + - &bv24 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td24 + - &bv25 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td25 + - &bv26 + name: "LShl" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv24 + - *bv25 + type_description: *td26 + - &bv27 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td27 + - &bv28 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td28 + - &bv29 + name: "RShl" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv27 + - *bv28 + type_description: *td29 + - &bv30 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + type_description: *td30 + - &bv31 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td31 + - &bv32 + name: "RSha" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv30 + - *bv31 + type_description: *td32 + - &bv33 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td33 + - &bv34 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td34 + - &bv35 + name: "IEq" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv33 + - *bv34 + type_description: *td35 + - &bv36 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td36 + - &bv37 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td37 + - &bv38 + name: "INeq" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv36 + - *bv37 + type_description: *td38 + - &bv39 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td39 + - &bv40 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td40 + - &bv41 + name: "Ult" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv39 + - *bv40 + type_description: *td41 + - &bv42 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td42 + - &bv43 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td43 + - &bv44 + name: "Ule" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv42 + - *bv43 + type_description: *td44 + - &bv45 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td45 + - &bv46 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td46 + - &bv47 + name: "Ugt" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv45 + - *bv46 + type_description: *td47 + - &bv48 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td48 + - &bv49 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td49 + - &bv50 + name: "Uge" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv48 + - *bv49 + type_description: *td50 + - &bv51 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td51 + - &bv52 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td52 + - &bv53 + name: "Slt" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv51 + - *bv52 + type_description: *td53 + - &bv54 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td54 + - &bv55 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td55 + - &bv56 + name: "Sle" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv54 + - *bv55 + type_description: *td56 + - &bv57 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td57 + - &bv58 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td58 + - &bv59 + name: "Sgt" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv57 + - *bv58 + type_description: *td59 + - &bv60 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td60 + - &bv61 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td61 + - &bv62 + name: "Sge" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv60 + - *bv61 + type_description: *td62 + - &bv63 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td63 + - &bv64 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td64 + - &bv65 + name: "Lor" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv63 + - *bv64 + type_description: *td65 + - &bv66 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td66 + - &bv67 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td67 + - &bv68 + name: "Land" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv66 + - *bv67 + type_description: *td68 + - &bv69 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td69 + - &bv70 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td70 + - &bv71 + name: "Lnot" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv69 + - *bv70 + type_description: *td71 + - &bv72 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td72 + - &bv73 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td73 + - &bv74 + name: "And" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv72 + - *bv73 + type_description: *td74 + - &bv75 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td75 + - &bv76 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td76 + - &bv77 + name: "Or" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv75 + - *bv76 + type_description: *td77 + - &bv78 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + type_description: *td78 + - &bv79 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td79 + - &bv80 + name: "Xor" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv78 + - *bv79 + type_description: *td80 + - &bv81 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td81 + - &bv82 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td82 + - &bv83 + name: "Not" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv81 + - *bv82 + type_description: *td83 + - &bv84 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td84 + - &bv85 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td85 + - &bv86 + name: "Leq" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv84 + - *bv85 + type_description: *td86 + - &bv87 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td87 + - &bv88 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td88 + - &bv89 + name: "Lneq" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv87 + - *bv88 + type_description: *td89 + - &bv90 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td90 + - &bv91 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td91 + - &bv92 + name: "Sel" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv90 + - *bv91 + type_description: *td92 +all_descriptor_bindings: + - &db0 + spirv_id: 3 + name: "IAdd" + binding: 0 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv2 # "IAdd" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td2 + word_offset: { binding: 806, set: 802 } + - &db1 + spirv_id: 4 + name: "ISub" + binding: 1 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv5 # "ISub" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td5 + word_offset: { binding: 835, set: 831 } + - &db2 + spirv_id: 5 + name: "IMul" + binding: 2 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv8 # "IMul" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td8 + word_offset: { binding: 860, set: 856 } + - &db3 + spirv_id: 6 + name: "UDiv" + binding: 3 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv11 # "UDiv" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td11 + word_offset: { binding: 885, set: 881 } + - &db4 + spirv_id: 7 + name: "SDiv" + binding: 4 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv14 # "SDiv" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td14 + word_offset: { binding: 914, set: 910 } + - &db5 + spirv_id: 8 + name: "SRem" + binding: 5 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv17 # "SRem" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td17 + word_offset: { binding: 939, set: 935 } + - &db6 + spirv_id: 9 + name: "SMod" + binding: 6 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv20 # "SMod" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td20 + word_offset: { binding: 964, set: 960 } + - &db7 + spirv_id: 10 + name: "UMod" + binding: 7 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv23 # "UMod" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td23 + word_offset: { binding: 989, set: 985 } + - &db8 + spirv_id: 11 + name: "LShl" + binding: 8 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv26 # "LShl" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td26 + word_offset: { binding: 1014, set: 1010 } + - &db9 + spirv_id: 12 + name: "RShl" + binding: 9 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv29 # "RShl" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td29 + word_offset: { binding: 1039, set: 1035 } + - &db10 + spirv_id: 13 + name: "RSha" + binding: 10 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv32 # "RSha" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td32 + word_offset: { binding: 1064, set: 1060 } + - &db11 + spirv_id: 14 + name: "IEq" + binding: 11 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv35 # "IEq" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td35 + word_offset: { binding: 1089, set: 1085 } + - &db12 + spirv_id: 15 + name: "INeq" + binding: 12 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv38 # "INeq" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td38 + word_offset: { binding: 1114, set: 1110 } + - &db13 + spirv_id: 16 + name: "Ult" + binding: 13 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv41 # "Ult" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td41 + word_offset: { binding: 1139, set: 1135 } + - &db14 + spirv_id: 17 + name: "Ule" + binding: 14 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv44 # "Ule" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td44 + word_offset: { binding: 1164, set: 1160 } + - &db15 + spirv_id: 18 + name: "Ugt" + binding: 15 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv47 # "Ugt" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td47 + word_offset: { binding: 1189, set: 1185 } + - &db16 + spirv_id: 19 + name: "Uge" + binding: 16 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv50 # "Uge" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td50 + word_offset: { binding: 1214, set: 1210 } + - &db17 + spirv_id: 20 + name: "Slt" + binding: 17 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv53 # "Slt" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td53 + word_offset: { binding: 1239, set: 1235 } + - &db18 + spirv_id: 21 + name: "Sle" + binding: 18 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv56 # "Sle" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td56 + word_offset: { binding: 1264, set: 1260 } + - &db19 + spirv_id: 22 + name: "Sgt" + binding: 19 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv59 # "Sgt" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td59 + word_offset: { binding: 1289, set: 1285 } + - &db20 + spirv_id: 23 + name: "Sge" + binding: 20 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv62 # "Sge" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td62 + word_offset: { binding: 1314, set: 1310 } + - &db21 + spirv_id: 24 + name: "Lor" + binding: 21 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv65 # "Lor" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td65 + word_offset: { binding: 1339, set: 1335 } + - &db22 + spirv_id: 25 + name: "Land" + binding: 22 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv68 # "Land" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td68 + word_offset: { binding: 1364, set: 1360 } + - &db23 + spirv_id: 26 + name: "Lnot" + binding: 23 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv71 # "Lnot" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td71 + word_offset: { binding: 1389, set: 1385 } + - &db24 + spirv_id: 27 + name: "And" + binding: 24 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv74 # "And" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td74 + word_offset: { binding: 1414, set: 1410 } + - &db25 + spirv_id: 28 + name: "Or" + binding: 25 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv77 # "Or" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td77 + word_offset: { binding: 1439, set: 1435 } + - &db26 + spirv_id: 29 + name: "Xor" + binding: 26 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv80 # "Xor" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td80 + word_offset: { binding: 1464, set: 1460 } + - &db27 + spirv_id: 30 + name: "Not" + binding: 27 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv83 # "Not" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td83 + word_offset: { binding: 1489, set: 1485 } + - &db28 + spirv_id: 31 + name: "Leq" + binding: 28 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv86 # "Leq" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td86 + word_offset: { binding: 1514, set: 1510 } + - &db29 + spirv_id: 32 + name: "Lneq" + binding: 29 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv89 # "Lneq" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td89 + word_offset: { binding: 1539, set: 1535 } + - &db30 + spirv_id: 33 + name: "Sel" + binding: 30 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv92 # "Sel" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td92 + word_offset: { binding: 1564, set: 1560 } +all_interface_variables: +module: + generator: 7 # Khronos SPIR-V Tools Assembler + entry_point_name: "main" + entry_point_id: 2 + source_language: 2 # GLSL + source_language_version: 450 + spirv_execution_model: 5 # GLCompute + shader_stage: 0x00000020 # CS + descriptor_binding_count: 31 + descriptor_bindings: + - *db0 # "IAdd" + - *db1 # "ISub" + - *db2 # "IMul" + - *db3 # "UDiv" + - *db4 # "SDiv" + - *db5 # "SRem" + - *db6 # "SMod" + - *db7 # "UMod" + - *db8 # "LShl" + - *db9 # "RShl" + - *db10 # "RSha" + - *db11 # "IEq" + - *db12 # "INeq" + - *db13 # "Ult" + - *db14 # "Ule" + - *db15 # "Ugt" + - *db16 # "Uge" + - *db17 # "Slt" + - *db18 # "Sle" + - *db19 # "Sgt" + - *db20 # "Sge" + - *db21 # "Lor" + - *db22 # "Land" + - *db23 # "Lnot" + - *db24 # "And" + - *db25 # "Or" + - *db26 # "Xor" + - *db27 # "Not" + - *db28 # "Leq" + - *db29 # "Lneq" + - *db30 # "Sel" + descriptor_set_count: 1 + descriptor_sets: + - set: 0 + binding_count: 31 + bindings: + - *db0 # "IAdd" + - *db1 # "ISub" + - *db2 # "IMul" + - *db3 # "UDiv" + - *db4 # "SDiv" + - *db5 # "SRem" + - *db6 # "SMod" + - *db7 # "UMod" + - *db8 # "LShl" + - *db9 # "RShl" + - *db10 # "RSha" + - *db11 # "IEq" + - *db12 # "INeq" + - *db13 # "Ult" + - *db14 # "Ule" + - *db15 # "Ugt" + - *db16 # "Uge" + - *db17 # "Slt" + - *db18 # "Sle" + - *db19 # "Sgt" + - *db20 # "Sge" + - *db21 # "Lor" + - *db22 # "Land" + - *db23 # "Lnot" + - *db24 # "And" + - *db25 # "Or" + - *db26 # "Xor" + - *db27 # "Not" + - *db28 # "Leq" + - *db29 # "Lneq" + - *db30 # "Sel" + input_variable_count: 0, + input_variables: + output_variable_count: 0, + output_variables: + push_constant_count: 0, + push_constants: + specialization_constant_count: 9, + specialization_constants: + spirv_id: 2 + constant_id: 34 + spirv_id: 3 + constant_id: 35 + spirv_id: 5 + constant_id: 36 + spirv_id: 6 + constant_id: 37 + spirv_id: 4 + constant_id: 40 + spirv_id: 7 + constant_id: 47 + spirv_id: 8 + constant_id: 135 + spirv_id: 0 + constant_id: 102 + spirv_id: 1 + constant_id: 103 +... diff --git a/tests/spec_constants/test_64bit.spv b/tests/spec_constants/test_64bit.spv new file mode 100644 index 0000000000000000000000000000000000000000..e739b65f8178840aad49c43b8e662203d6591f78 GIT binary patch literal 11944 zcmZvi37DQ$b;mz4GuanH62eX*5X2xt2%89GAj4$f%Z$vIPd0Ig$q*u0SP~Q$81|)9 ztyr~c+o{T;fM{10wJohyyYKtHx^#7K73uGHzxO03_u=v!&iViEx#xfGeV6YY9{Oe+ zH>)*pP^;CN)morqEN;zc8S3ZZ=e1@QJlyWIPq}5!)>GD=ajJO>TYb7Rx2Sb|Yk+tL zwsZ6LUGmQMWAZbxS=elB4mKCF_Izvswh&u{9gHo;4#AdSOR;6xq1bZlFzj&b2<%Ag zDC}tL80=VV1-2497)5)rmOgsvBN9Ky2K(t^xIHmEHa6TIn%HvVjT5)*xoyYf#E$K| zCMULTzj<=Yp6$0znm0S;ZQr$J$KI_uVStRhZ}Cge=!}gH;n;tF>p1bI%f|vAPtZ;C zCy3MhD)7kQ`t`m1f!2uxoz8`06C;CLw-V2!rkvx}%{#!o9IxBfy*qc_hF8~pH%q_+ zt(Ss3qeH_JN$VtYI^7F#CFf=46s^wQ*AuHH=Ljuvt>v{I=`AVRtHm3;ZCt5)GQL-L zpj^lDRo`} z?w!qs@gc69=jV;yNm{3gJ)6#cEjdSMiEAzI{bot2yGA@dv=LXdPZyWEWb^SK2M$Al2UiAc;nc<`{oRBsk?D^+&6NLs4K4P`iypZOG@1{!QE8%Ea$D;-CtME z5p~6NU7!1ANvV4_xZT;%#+7q82Vd&8JJ-iOBIk&@;<~Qyl4eP%`%3V5s(UWD)E(bn zSI!Z2#dY2JaLtlZ_f-XN7{rx+&%;OE&BR_eIY-nL*L8j8QP(BZ>1&;j9~ru=)VzSW z)EpVQ$$4waIijZcz?yyK9qJPA+jY#3j8c%{b3cgh)f}C)s5RvrQB!rqLs)9cIijZcz?yyK9q$tBd82mQL#3WC%ckBWVW}tQh z-eS1!j>%H*V&manf5XJRdfWE(C+CQI;<}!{JzbXA-v;C1UVkIRO}%~n$vL8)xUT2# zSa(~mze|Wa&G}twT%OJS=O^cgdg8jCzlojZ{Csda&H4EebtSe&q)YKI)0-@q=h&+C}qG~OM;6}%09@nE|nG0gl+@UEZH;Nu$H z*WlwDJka118tnIz>#xTf_hTDSI1%r#jw3iVen(=*_HRBsKYs!VDwX&vIO?B+y4fw2aGT4zd1RMv6^vxb`oce)4`6c zAy;e2g@)g@SwpNw+=sh}v&I=e(O52hFq;77aH@4vxZm= z&rA(}gtNwZU`N)Ft2N|8V*zp25Ub&tsc{QFYg_Lz>qxZM){(TI= zJFLz>#~33g-+ zxmrUmG_033#F}TO#{GEL$9KvD#QqM)J#k$#k1P4x8tj@Ss62>Y$(Qa!c;iEfe+0h* zTSond@#`@2*YN!&wjZ%0IQL}Fj!E0vAM2s-aT%|tL>b7d>KAC`}-i+{^Z@G zxWD0|?rQKom_2C0|0J<`&WGL`h}CmWy_505srOT0_2ktPd#&W6?#qeq!$Qw}+yJ(& zbJjftADnf68f*=D>xySKT%7wWz|W_1e;9l!=5y#h?tEO=Y2tiun)@@@6y};~%)WNu z?aMj)It?G3_k+*OhcIi|=ZEq0G4t$GJgec{zdCEMhp^}=_>aJO-p)^B>hHv>@0|Ll zWODJT-03)wnpg189W9z19L>~^Zo`d3)H6w+H9!;VgV`_V6Uw9^~yo zJh$PZ?o(jvo`iWn2Y)v4uVeORPCSE86VJmOk^6CCYq-XFd%F>DZ_e49-G4K;hosp=H2)U#J6M4+k?5kh}pw5b}AP9tB8LMbB#H15B?HyKjw(s zPZ3XHu5sRd+>Cc0&bg2C@WHu{PlN4Q-hGG{G+dm|XTbIr*MBJ|_$=6Y{rQ;pm-{q# zEl;j{`Yh&s==@{YG-gk?;O)tId%6H0oIQOGY)|s`BwpBX(bMO_xu@u59sHA+y_gfd z{4%k~fjczbc)UIy{O*~_nh?M2>R#EUSw=;c?5U#yo4;l20l#hmEnIbwTp z-ae)=d)bS(7w7HeB7AW6;(eg5yuFAIZn)^h=kYEqu2r1NdN}W8dod?^`2w-MIG=mD z6>Klg+shC>ID7db*k0uAMZCD-qL<$QzgRC9!#{&<&QD{HVV=ty@%G}p zy$s`nvzIS}?M2>R#D_Fo^zxhF7wcsMyzd`-F(-QYEn<6dej1Bj-b8FK&fCifJ~(^% zZLqz_+lzQf!^O3@1nhfeEw-lk-t+Q1#A-S}jfLiI#A-UP=B4=H)cjqrn(}Ijmo{8z zw!yxmYR%t+Q`7lrEHvLttfup7Zo~(t=I?{mlvh){tl>g)6#O(+YyJV8n$D{?jd`8l zf>+adHOKJ5sriRsHRaV5AKGxC`D*YpSgrX-aB4cAHQx$W(|I*7!w0A4AA{ADS5v&a z;X-p9Y)#*DUc0!5{)AXf=clna+qV&`>Aad9d~j<1DOgQ;HN}TDTxf0rKaSO!e+H+f z^Ld}QgVl6i%`QGTHUAu}ro5Ws!yC@uE#LF6!Jfd}Pweq8h}Cm0>)ioX&w2GO#|Nk0 zUxL+>S5JII!@0+I5MP1$epuC5@P7sNS$6&r%zI}Fuby-2U5TH<R-o zm|WC-E%6tz`YiqdZVGeW>!6N%(0HTdAv`$w>~<<%1(-EdxO_xw7{_pNnfzyCyB z|9$q)aMm{8dG+tctM8op6ZqiN{}-_O^6HC^X*l=$Eb+D2M=y?8a9S91$KI5oct zR#RS0@d`{XuItx`J-?H%_ZNOvIsdK1YMzg+!pu|iKD?UFt2v1ePR*}_tuL>pcxA(_ z0l%I2eykr`&cFX1FV}~i&e@9}z|8qjW2Z9fHMtHut%2?#(oLS(b zsvNnTGaKx0K)%Q1a?TvE@9CT)mviQVeXr&mxtuc(yrRmH%Q^GGE2|tibDrnIosIoJ Dmbf(x literal 0 HcmV?d00001 diff --git a/tests/spec_constants/test_64bit.spv.yaml b/tests/spec_constants/test_64bit.spv.yaml new file mode 100644 index 00000000..737ab772 --- /dev/null +++ b/tests/spec_constants/test_64bit.spv.yaml @@ -0,0 +1,3706 @@ +%YAML 1.0 +--- +all_type_descriptions: + - &td0 + id: 104 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td1 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td2 + id: 39 + op: 30 + type_name: "SSBO_IAdd" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td0 + - *td1 + - &td3 + id: 105 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td4 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td5 + id: 42 + op: 30 + type_name: "SSBO_ISub" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td3 + - *td4 + - &td6 + id: 106 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td7 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td8 + id: 44 + op: 30 + type_name: "SSBO_IMul" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td6 + - *td7 + - &td9 + id: 107 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [134,], stride: 4 } + member_count: 0 + members: + - &td10 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td11 + id: 46 + op: 30 + type_name: "SSBO_UDiv" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td9 + - *td10 + - &td12 + id: 108 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + - &td13 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td14 + id: 49 + op: 30 + type_name: "SSBO_SDiv" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td12 + - *td13 + - &td15 + id: 109 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td16 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td17 + id: 51 + op: 30 + type_name: "SSBO_SRem" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td15 + - *td16 + - &td18 + id: 110 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + - &td19 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td20 + id: 53 + op: 30 + type_name: "SSBO_SMod" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td18 + - *td19 + - &td21 + id: 111 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td22 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td23 + id: 55 + op: 30 + type_name: "SSBO_UMod" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td21 + - *td22 + - &td24 + id: 112 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td25 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td26 + id: 57 + op: 30 + type_name: "SSBO_LShl" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td24 + - *td25 + - &td27 + id: 113 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td28 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td29 + id: 59 + op: 30 + type_name: "SSBO_RShl" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td27 + - *td28 + - &td30 + id: 114 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + - &td31 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td32 + id: 61 + op: 30 + type_name: "SSBO_RSha" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td30 + - *td31 + - &td33 + id: 115 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td34 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td35 + id: 63 + op: 30 + type_name: "SSBO_IEq" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td33 + - *td34 + - &td36 + id: 116 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td37 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td38 + id: 65 + op: 30 + type_name: "SSBO_INeq" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td36 + - *td37 + - &td39 + id: 117 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td40 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td41 + id: 67 + op: 30 + type_name: "SSBO_Ult" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td39 + - *td40 + - &td42 + id: 118 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td43 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td44 + id: 69 + op: 30 + type_name: "SSBO_Ule" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td42 + - *td43 + - &td45 + id: 119 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td46 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td47 + id: 71 + op: 30 + type_name: "SSBO_Ugt" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td45 + - *td46 + - &td48 + id: 120 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td49 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td50 + id: 73 + op: 30 + type_name: "SSBO_Uge" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td48 + - *td49 + - &td51 + id: 121 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td52 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td53 + id: 75 + op: 30 + type_name: "SSBO_Slt" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td51 + - *td52 + - &td54 + id: 122 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td55 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td56 + id: 77 + op: 30 + type_name: "SSBO_Sle" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td54 + - *td55 + - &td57 + id: 123 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td58 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td59 + id: 79 + op: 30 + type_name: "SSBO_Sgt" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td57 + - *td58 + - &td60 + id: 124 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td61 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td62 + id: 81 + op: 30 + type_name: "SSBO_Sge" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td60 + - *td61 + - &td63 + id: 125 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td64 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td65 + id: 83 + op: 30 + type_name: "SSBO_Lor" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td63 + - *td64 + - &td66 + id: 126 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td67 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td68 + id: 85 + op: 30 + type_name: "SSBO_Land" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td66 + - *td67 + - &td69 + id: 127 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td70 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td71 + id: 87 + op: 30 + type_name: "SSBO_Lnot" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td69 + - *td70 + - &td72 + id: 128 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td73 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td74 + id: 89 + op: 30 + type_name: "SSBO_And" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td72 + - *td73 + - &td75 + id: 129 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td76 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td77 + id: 91 + op: 30 + type_name: "SSBO_Or" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td75 + - *td76 + - &td78 + id: 130 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + - &td79 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td80 + id: 93 + op: 30 + type_name: "SSBO_Xor" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td78 + - *td79 + - &td81 + id: 131 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + - &td82 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td83 + id: 95 + op: 30 + type_name: "SSBO_Not" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td81 + - *td82 + - &td84 + id: 132 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td85 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td86 + id: 97 + op: 30 + type_name: "SSBO_Leq" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td84 + - *td85 + - &td87 + id: 133 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td88 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td89 + id: 99 + op: 30 + type_name: "SSBO_Lneq" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td87 + - *td88 + - &td90 + id: 134 + op: 28 + type_name: + struct_member_name: "val" + storage_class: 0 # UniformConstant + type_flags: 0x20000008 # ARRAY FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + - &td91 + id: 139 + op: 22 + type_name: + struct_member_name: "dummy" + storage_class: 0 # UniformConstant + type_flags: 0x00000008 # FLOAT + decoration_flags: 0x00000000 # NONE + traits: + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + - &td92 + id: 101 + op: 30 + type_name: "SSBO_Sel" + struct_member_name: + storage_class: -1 # NOT APPLICABLE + type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK + decoration_flags: 0x00000001 # BLOCK + traits: + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *td90 + - *td91 +all_block_variables: + - &bv0 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td0 + - &bv1 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td1 + - &bv2 + name: "IAdd" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv0 + - *bv1 + type_description: *td2 + - &bv3 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td3 + - &bv4 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td4 + - &bv5 + name: "ISub" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv3 + - *bv4 + type_description: *td5 + - &bv6 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td6 + - &bv7 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td7 + - &bv8 + name: "IMul" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv6 + - *bv7 + type_description: *td8 + - &bv9 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [134,], stride: 4 } + member_count: 0 + members: + type_description: *td9 + - &bv10 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td10 + - &bv11 + name: "UDiv" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv9 + - *bv10 + type_description: *td11 + - &bv12 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + type_description: *td12 + - &bv13 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td13 + - &bv14 + name: "SDiv" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv12 + - *bv13 + type_description: *td14 + - &bv15 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td15 + - &bv16 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td16 + - &bv17 + name: "SRem" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv15 + - *bv16 + type_description: *td17 + - &bv18 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + type_description: *td18 + - &bv19 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td19 + - &bv20 + name: "SMod" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv18 + - *bv19 + type_description: *td20 + - &bv21 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td21 + - &bv22 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td22 + - &bv23 + name: "UMod" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv21 + - *bv22 + type_description: *td23 + - &bv24 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td24 + - &bv25 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td25 + - &bv26 + name: "LShl" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv24 + - *bv25 + type_description: *td26 + - &bv27 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td27 + - &bv28 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td28 + - &bv29 + name: "RShl" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv27 + - *bv28 + type_description: *td29 + - &bv30 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + type_description: *td30 + - &bv31 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td31 + - &bv32 + name: "RSha" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv30 + - *bv31 + type_description: *td32 + - &bv33 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td33 + - &bv34 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td34 + - &bv35 + name: "IEq" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv33 + - *bv34 + type_description: *td35 + - &bv36 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td36 + - &bv37 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td37 + - &bv38 + name: "INeq" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv36 + - *bv37 + type_description: *td38 + - &bv39 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td39 + - &bv40 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td40 + - &bv41 + name: "Ult" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv39 + - *bv40 + type_description: *td41 + - &bv42 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td42 + - &bv43 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td43 + - &bv44 + name: "Ule" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv42 + - *bv43 + type_description: *td44 + - &bv45 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td45 + - &bv46 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td46 + - &bv47 + name: "Ugt" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv45 + - *bv46 + type_description: *td47 + - &bv48 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td48 + - &bv49 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td49 + - &bv50 + name: "Uge" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv48 + - *bv49 + type_description: *td50 + - &bv51 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td51 + - &bv52 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td52 + - &bv53 + name: "Slt" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv51 + - *bv52 + type_description: *td53 + - &bv54 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td54 + - &bv55 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td55 + - &bv56 + name: "Sle" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv54 + - *bv55 + type_description: *td56 + - &bv57 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td57 + - &bv58 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td58 + - &bv59 + name: "Sgt" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv57 + - *bv58 + type_description: *td59 + - &bv60 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td60 + - &bv61 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td61 + - &bv62 + name: "Sge" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv60 + - *bv61 + type_description: *td62 + - &bv63 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td63 + - &bv64 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td64 + - &bv65 + name: "Lor" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv63 + - *bv64 + type_description: *td65 + - &bv66 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td66 + - &bv67 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td67 + - &bv68 + name: "Land" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv66 + - *bv67 + type_description: *td68 + - &bv69 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td69 + - &bv70 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td70 + - &bv71 + name: "Lnot" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv69 + - *bv70 + type_description: *td71 + - &bv72 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td72 + - &bv73 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td73 + - &bv74 + name: "And" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv72 + - *bv73 + type_description: *td74 + - &bv75 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td75 + - &bv76 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td76 + - &bv77 + name: "Or" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv75 + - *bv76 + type_description: *td77 + - &bv78 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [128,], stride: 4 } + member_count: 0 + members: + type_description: *td78 + - &bv79 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td79 + - &bv80 + name: "Xor" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv78 + - *bv79 + type_description: *td80 + - &bv81 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [130,], stride: 4 } + member_count: 0 + members: + type_description: *td81 + - &bv82 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td82 + - &bv83 + name: "Not" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv81 + - *bv82 + type_description: *td83 + - &bv84 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td84 + - &bv85 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td85 + - &bv86 + name: "Leq" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv84 + - *bv85 + type_description: *td86 + - &bv87 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td87 + - &bv88 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td88 + - &bv89 + name: "Lneq" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv87 + - *bv88 + type_description: *td89 + - &bv90 + name: "val" + offset: 0 + absolute_offset: 0 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 1, dims: [169,], stride: 4 } + member_count: 0 + members: + type_description: *td90 + - &bv91 + name: "dummy" + offset: 4 + absolute_offset: 4 + size: 4 + padded_size: 4 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 32, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 0 + members: + type_description: *td91 + - &bv92 + name: "Sel" + offset: 0 + absolute_offset: 0 + size: 0 + padded_size: 0 + decorations: 0x00000000 # NONE + numeric: + scalar: { width: 0, signedness: 0 } + vector: { component_count: 0 } + matrix: { column_count: 0, row_count: 0, stride: 0 } + array: { dims_count: 0, dims: [], stride: 0 } + member_count: 2 + members: + - *bv90 + - *bv91 + type_description: *td92 +all_descriptor_bindings: + - &db0 + spirv_id: 3 + name: "IAdd" + binding: 0 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv2 # "IAdd" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td2 + word_offset: { binding: 808, set: 804 } + - &db1 + spirv_id: 4 + name: "ISub" + binding: 1 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv5 # "ISub" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td5 + word_offset: { binding: 837, set: 833 } + - &db2 + spirv_id: 5 + name: "IMul" + binding: 2 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv8 # "IMul" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td8 + word_offset: { binding: 862, set: 858 } + - &db3 + spirv_id: 6 + name: "UDiv" + binding: 3 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv11 # "UDiv" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td11 + word_offset: { binding: 887, set: 883 } + - &db4 + spirv_id: 7 + name: "SDiv" + binding: 4 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv14 # "SDiv" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td14 + word_offset: { binding: 916, set: 912 } + - &db5 + spirv_id: 8 + name: "SRem" + binding: 5 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv17 # "SRem" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td17 + word_offset: { binding: 941, set: 937 } + - &db6 + spirv_id: 9 + name: "SMod" + binding: 6 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv20 # "SMod" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td20 + word_offset: { binding: 966, set: 962 } + - &db7 + spirv_id: 10 + name: "UMod" + binding: 7 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv23 # "UMod" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td23 + word_offset: { binding: 991, set: 987 } + - &db8 + spirv_id: 11 + name: "LShl" + binding: 8 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv26 # "LShl" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td26 + word_offset: { binding: 1016, set: 1012 } + - &db9 + spirv_id: 12 + name: "RShl" + binding: 9 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv29 # "RShl" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td29 + word_offset: { binding: 1041, set: 1037 } + - &db10 + spirv_id: 13 + name: "RSha" + binding: 10 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv32 # "RSha" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td32 + word_offset: { binding: 1066, set: 1062 } + - &db11 + spirv_id: 14 + name: "IEq" + binding: 11 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv35 # "IEq" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td35 + word_offset: { binding: 1091, set: 1087 } + - &db12 + spirv_id: 15 + name: "INeq" + binding: 12 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv38 # "INeq" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td38 + word_offset: { binding: 1116, set: 1112 } + - &db13 + spirv_id: 16 + name: "Ult" + binding: 13 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv41 # "Ult" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td41 + word_offset: { binding: 1141, set: 1137 } + - &db14 + spirv_id: 17 + name: "Ule" + binding: 14 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv44 # "Ule" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td44 + word_offset: { binding: 1166, set: 1162 } + - &db15 + spirv_id: 18 + name: "Ugt" + binding: 15 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv47 # "Ugt" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td47 + word_offset: { binding: 1191, set: 1187 } + - &db16 + spirv_id: 19 + name: "Uge" + binding: 16 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv50 # "Uge" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td50 + word_offset: { binding: 1216, set: 1212 } + - &db17 + spirv_id: 20 + name: "Slt" + binding: 17 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv53 # "Slt" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td53 + word_offset: { binding: 1241, set: 1237 } + - &db18 + spirv_id: 21 + name: "Sle" + binding: 18 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv56 # "Sle" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td56 + word_offset: { binding: 1266, set: 1262 } + - &db19 + spirv_id: 22 + name: "Sgt" + binding: 19 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv59 # "Sgt" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td59 + word_offset: { binding: 1291, set: 1287 } + - &db20 + spirv_id: 23 + name: "Sge" + binding: 20 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv62 # "Sge" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td62 + word_offset: { binding: 1316, set: 1312 } + - &db21 + spirv_id: 24 + name: "Lor" + binding: 21 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv65 # "Lor" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td65 + word_offset: { binding: 1341, set: 1337 } + - &db22 + spirv_id: 25 + name: "Land" + binding: 22 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv68 # "Land" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td68 + word_offset: { binding: 1366, set: 1362 } + - &db23 + spirv_id: 26 + name: "Lnot" + binding: 23 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv71 # "Lnot" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td71 + word_offset: { binding: 1391, set: 1387 } + - &db24 + spirv_id: 27 + name: "And" + binding: 24 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv74 # "And" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td74 + word_offset: { binding: 1416, set: 1412 } + - &db25 + spirv_id: 28 + name: "Or" + binding: 25 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv77 # "Or" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td77 + word_offset: { binding: 1441, set: 1437 } + - &db26 + spirv_id: 29 + name: "Xor" + binding: 26 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv80 # "Xor" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td80 + word_offset: { binding: 1466, set: 1462 } + - &db27 + spirv_id: 30 + name: "Not" + binding: 27 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv83 # "Not" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td83 + word_offset: { binding: 1491, set: 1487 } + - &db28 + spirv_id: 31 + name: "Leq" + binding: 28 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv86 # "Leq" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td86 + word_offset: { binding: 1516, set: 1512 } + - &db29 + spirv_id: 32 + name: "Lneq" + binding: 29 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv89 # "Lneq" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td89 + word_offset: { binding: 1541, set: 1537 } + - &db30 + spirv_id: 33 + name: "Sel" + binding: 30 + input_attachment_index: 0 + set: 0 + descriptor_type: 7 # VK_DESCRIPTOR_TYPE_STORAGE_BUFFER + resource_type: 8 # UAV + image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown + block: *bv92 # "Sel" + array: { dims_count: 0, dims: [] } + accessed: 1 + uav_counter_id: 4294967295 + uav_counter_binding: + type_description: *td92 + word_offset: { binding: 1566, set: 1562 } +all_interface_variables: +module: + generator: 7 # Khronos SPIR-V Tools Assembler + entry_point_name: "main" + entry_point_id: 2 + source_language: 2 # GLSL + source_language_version: 450 + spirv_execution_model: 5 # GLCompute + shader_stage: 0x00000020 # CS + descriptor_binding_count: 31 + descriptor_bindings: + - *db0 # "IAdd" + - *db1 # "ISub" + - *db2 # "IMul" + - *db3 # "UDiv" + - *db4 # "SDiv" + - *db5 # "SRem" + - *db6 # "SMod" + - *db7 # "UMod" + - *db8 # "LShl" + - *db9 # "RShl" + - *db10 # "RSha" + - *db11 # "IEq" + - *db12 # "INeq" + - *db13 # "Ult" + - *db14 # "Ule" + - *db15 # "Ugt" + - *db16 # "Uge" + - *db17 # "Slt" + - *db18 # "Sle" + - *db19 # "Sgt" + - *db20 # "Sge" + - *db21 # "Lor" + - *db22 # "Land" + - *db23 # "Lnot" + - *db24 # "And" + - *db25 # "Or" + - *db26 # "Xor" + - *db27 # "Not" + - *db28 # "Leq" + - *db29 # "Lneq" + - *db30 # "Sel" + descriptor_set_count: 1 + descriptor_sets: + - set: 0 + binding_count: 31 + bindings: + - *db0 # "IAdd" + - *db1 # "ISub" + - *db2 # "IMul" + - *db3 # "UDiv" + - *db4 # "SDiv" + - *db5 # "SRem" + - *db6 # "SMod" + - *db7 # "UMod" + - *db8 # "LShl" + - *db9 # "RShl" + - *db10 # "RSha" + - *db11 # "IEq" + - *db12 # "INeq" + - *db13 # "Ult" + - *db14 # "Ule" + - *db15 # "Ugt" + - *db16 # "Uge" + - *db17 # "Slt" + - *db18 # "Sle" + - *db19 # "Sgt" + - *db20 # "Sge" + - *db21 # "Lor" + - *db22 # "Land" + - *db23 # "Lnot" + - *db24 # "And" + - *db25 # "Or" + - *db26 # "Xor" + - *db27 # "Not" + - *db28 # "Leq" + - *db29 # "Lneq" + - *db30 # "Sel" + input_variable_count: 0, + input_variables: + output_variable_count: 0, + output_variables: + push_constant_count: 0, + push_constants: + specialization_constant_count: 9, + specialization_constants: + spirv_id: 2 + constant_id: 34 + spirv_id: 3 + constant_id: 35 + spirv_id: 5 + constant_id: 36 + spirv_id: 6 + constant_id: 37 + spirv_id: 4 + constant_id: 40 + spirv_id: 7 + constant_id: 47 + spirv_id: 8 + constant_id: 135 + spirv_id: 0 + constant_id: 102 + spirv_id: 1 + constant_id: 103 +... diff --git a/tests/spirv15/VertexShader.spv.yaml b/tests/spirv15/VertexShader.spv.yaml index fea8185c..4c8b7ad4 100644 --- a/tests/spirv15/VertexShader.spv.yaml +++ b/tests/spirv15/VertexShader.spv.yaml @@ -185,4 +185,6 @@ module: - *iv3 # push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ... diff --git a/tests/variable_access/copy_memory.spv.yaml b/tests/variable_access/copy_memory.spv.yaml index 89e7d93c..999cc71b 100644 --- a/tests/variable_access/copy_memory.spv.yaml +++ b/tests/variable_access/copy_memory.spv.yaml @@ -158,4 +158,6 @@ module: output_variables: push_constant_count: 0, push_constants: + specialization_constant_count: 0, + specialization_constants: ...