[Git][xorg-team/vulkan/spirv-reflect][upstream/latest] Add support for WeightTextureQCOM
Dylan Aïssi (@daissi) <[email protected]>
| Newsgroups | gmane.linux.debian.devel.x |
|---|---|
| Message-ID | <[email protected]> |
Dylan Aïssi pushed to branch upstream/latest at X Strike Force / vulkan / spirv-reflect
Commits:
62ca825c by spencer-lunarg at 2026-01-17T21:20:49-05:00
Add support for WeightTextureQCOM
- - - - -
4 changed files:
- common/output_stream.cpp
- + tests/glsl/weight_texture_qcom.glsl
- + tests/glsl/weight_texture_qcom.spv
- + tests/glsl/weight_texture_qcom.spv.yaml
Changes:
=====================================
common/output_stream.cpp
=====================================
@@ -804,6 +804,8 @@ std::string ToStringDecorationFlags(SpvReflectDecorationFlags decoration_flags)
PRINT_AND_CLEAR_DECORATION_FLAG(sstream, decoration_flags, PATCH);
PRINT_AND_CLEAR_DECORATION_FLAG(sstream, decoration_flags, PER_VERTEX);
PRINT_AND_CLEAR_DECORATION_FLAG(sstream, decoration_flags, PER_TASK);
+ PRINT_AND_CLEAR_DECORATION_FLAG(sstream, decoration_flags, WEIGHT_TEXTURE);
+ PRINT_AND_CLEAR_DECORATION_FLAG(sstream, decoration_flags, BLOCK_MATCH_TEXTURE);
#undef PRINT_AND_CLEAR_DECORATION_FLAG
if (decoration_flags != 0) {
// Unhandled SpvReflectDecorationFlags bit
=====================================
tests/glsl/weight_texture_qcom.glsl
=====================================
@@ -0,0 +1,17 @@
+#version 450
+#extension GL_QCOM_image_processing : require
+
+layout(set = 0, binding = 0) uniform texture2D inTex;
+layout(set = 0, binding = 3) uniform sampler linearSampler;
+layout(set = 0, binding = 1) uniform texture2DArray kernelTex;
+layout(set = 0, binding = 4) uniform sampler weightSampler;
+
+layout(location = 0) out vec4 fragColor;
+layout(location = 0) in vec2 uv;
+
+void main()
+{
+ vec4 _32 = textureWeightedQCOM(sampler2D(inTex, linearSampler), uv, sampler2DArray(kernelTex, weightSampler));
+ fragColor = _32;
+}
+
=====================================
tests/glsl/weight_texture_qcom.spv
=====================================
Binary files /dev/null and b/tests/glsl/weight_texture_qcom.spv differ
=====================================
tests/glsl/weight_texture_qcom.spv.yaml
=====================================
@@ -0,0 +1,293 @@
+%YAML 1.1
+---
+all_type_descriptions:
+ - &td0
+ id: 10
+ op: 25
+ type_name:
+ struct_member_name:
+ storage_class: -1 # NOT APPLICABLE
+ type_flags: 0x00010008 # EXTERNAL_IMAGE 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: 1, depth: 0, arrayed: 0, ms: 0, sampled: 1, image_format: 0 } # dim=2D image_format=Unknown
+ array: { dims_count: 0, dims: [], stride: 0 }
+ member_count: 0
+ members:
+ - &td1
+ id: 24
+ op: 25
+ type_name:
+ struct_member_name:
+ storage_class: -1 # NOT APPLICABLE
+ type_flags: 0x00010008 # EXTERNAL_IMAGE 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: 1, depth: 0, arrayed: 1, ms: 0, sampled: 1, image_format: 0 } # dim=2D image_format=Unknown
+ array: { dims_count: 0, dims: [], stride: 0 }
+ member_count: 0
+ members:
+ - &td2
+ id: 14
+ op: 26
+ type_name:
+ struct_member_name:
+ storage_class: -1 # NOT APPLICABLE
+ type_flags: 0x00020000 # EXTERNAL_SAMPLER
+ decoration_flags: 0x00000000 # NONE
+ 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: 0
+ members:
+ - &td3
+ id: 20
+ op: 23
+ type_name:
+ struct_member_name:
+ storage_class: -1 # NOT APPLICABLE
+ type_flags: 0x00000108 # VECTOR FLOAT
+ decoration_flags: 0x00000000 # NONE
+ traits:
+ numeric:
+ scalar: { width: 32, signedness: 0 }
+ vector: { component_count: 2 }
+ 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:
+ - &td4
+ id: 7
+ op: 23
+ type_name:
+ struct_member_name:
+ storage_class: -1 # NOT APPLICABLE
+ type_flags: 0x00000108 # VECTOR FLOAT
+ decoration_flags: 0x00000000 # NONE
+ traits:
+ numeric:
+ scalar: { width: 32, signedness: 0 }
+ vector: { component_count: 4 }
+ 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:
+all_block_variables:
+ - &bv0
+ name:
+ 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 }
+ flags: 0x00000000 # NONE
+ member_count: 0
+ members:
+ type_description:
+ - &bv1
+ name:
+ 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 }
+ flags: 0x00000000 # NONE
+ member_count: 0
+ members:
+ type_description:
+ - &bv2
+ name:
+ 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 }
+ flags: 0x00000000 # NONE
+ member_count: 0
+ members:
+ type_description:
+ - &bv3
+ name:
+ 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 }
+ flags: 0x00000000 # NONE
+ member_count: 0
+ members:
+ type_description:
+all_descriptor_bindings:
+ - &db0
+ spirv_id: 12
+ name: "inTex"
+ binding: 0
+ input_attachment_index: 0
+ set: 0
+ decoration_flags: 0x00000000 # NONE
+ descriptor_type: 2 # VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
+ resource_type: 4 # SRV
+ image: { dim: 1, depth: 0, arrayed: 0, ms: 0, sampled: 1, image_format: 0 } # dim=2D image_format=Unknown
+ block: *bv0 #
+ array: { dims_count: 0, dims: [] }
+ accessed: 1
+ uav_counter_id: 4294967295
+ uav_counter_binding:
+ type_description: *td0
+ word_offset: { binding: 91, set: 87 }
+ - &db1
+ spirv_id: 26
+ name: "kernelTex"
+ binding: 1
+ input_attachment_index: 0
+ set: 0
+ decoration_flags: 0x00002000 # WEIGHT_TEXTURE
+ descriptor_type: 2 # VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
+ resource_type: 4 # SRV
+ image: { dim: 1, depth: 0, arrayed: 1, ms: 0, sampled: 1, image_format: 0 } # dim=2D image_format=Unknown
+ block: *bv1 #
+ array: { dims_count: 0, dims: [] }
+ accessed: 1
+ uav_counter_id: 4294967295
+ uav_counter_binding:
+ type_description: *td1
+ word_offset: { binding: 111, set: 107 }
+ - &db2
+ spirv_id: 16
+ name: "linearSampler"
+ binding: 3
+ input_attachment_index: 0
+ set: 0
+ decoration_flags: 0x00000000 # NONE
+ descriptor_type: 0 # VK_DESCRIPTOR_TYPE_SAMPLER
+ resource_type: 1 # SAMPLER
+ image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
+ block: *bv2 #
+ array: { dims_count: 0, dims: [] }
+ accessed: 1
+ uav_counter_id: 4294967295
+ uav_counter_binding:
+ type_description: *td2
+ word_offset: { binding: 99, set: 95 }
+ - &db3
+ spirv_id: 28
+ name: "weightSampler"
+ binding: 4
+ input_attachment_index: 0
+ set: 0
+ decoration_flags: 0x00000000 # NONE
+ descriptor_type: 0 # VK_DESCRIPTOR_TYPE_SAMPLER
+ resource_type: 1 # SAMPLER
+ image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
+ block: *bv3 #
+ array: { dims_count: 0, dims: [] }
+ accessed: 1
+ uav_counter_id: 4294967295
+ uav_counter_binding:
+ type_description: *td2
+ word_offset: { binding: 119, set: 115 }
+all_interface_variables:
+ - &iv0
+ spirv_id: 22
+ name: "uv"
+ location: 0
+ storage_class: 1 # Input
+ semantic:
+ decoration_flags: 0x00000000 # NONE
+ built_in: -1 # ??? (-1)
+ numeric:
+ scalar: { width: 32, signedness: 0 }
+ vector: { component_count: 2 }
+ matrix: { column_count: 0, row_count: 0, stride: 0 }
+ array: { dims_count: 0, dims: [], stride: 0 }
+ member_count: 0
+ members:
+ format: 103 # VK_FORMAT_R32G32_SFLOAT
+ type_description: *td3
+ word_offset: { location: 103 }
+ - &iv1
+ spirv_id: 9
+ name: "fragColor"
+ location: 0
+ storage_class: 3 # Output
+ semantic:
+ decoration_flags: 0x00000000 # NONE
+ built_in: -1 # ??? (-1)
+ numeric:
+ scalar: { width: 32, signedness: 0 }
+ vector: { component_count: 4 }
+ matrix: { column_count: 0, row_count: 0, stride: 0 }
+ array: { dims_count: 0, dims: [], stride: 0 }
+ member_count: 0
+ members:
+ format: 109 # VK_FORMAT_R32G32B32A32_SFLOAT
+ type_description: *td4
+ word_offset: { location: 83 }
+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: 4 # Fragment
+ shader_stage: 0x00000010 # PS
+ descriptor_binding_count: 4
+ descriptor_bindings:
+ - *db0 # "inTex"
+ - *db1 # "kernelTex"
+ - *db2 # "linearSampler"
+ - *db3 # "weightSampler"
+ descriptor_set_count: 1
+ descriptor_sets:
+ - set: 0
+ binding_count: 4
+ bindings:
+ - *db0 # "inTex"
+ - *db1 # "kernelTex"
+ - *db2 # "linearSampler"
+ - *db3 # "weightSampler"
+ input_variable_count: 1,
+ input_variables:
+ - *iv0 # "uv"
+ output_variable_count: 1,
+ output_variables:
+ - *iv1 # "fragColor"
+ push_constant_count: 0,
+ push_constants:
+ specialization_constant_count: 0,
+ specialization_constants:
+...
View it on GitLab: https://salsa.debian.org/xorg-team/vulkan/spirv-reflect/-/commit/62ca825c692334ed758027b908c5aafbbc76243f
--
View it on GitLab: https://salsa.debian.org/xorg-team/vulkan/spirv-reflect/-/commit/62ca825c692334ed758027b908c5aafbbc76243f
You're receiving this email because of your account on salsa.debian.org.