[Git][xorg-team/vulkan/spirv-reflect][debian/latest] 3 commits: 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 debian/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

- - - - -
16b3146d by Dylan Aïssi at 2026-03-13T09:50:36+01:00
Merge tag 'vulkan-sdk-1.4.341.0' into debian/latest

- - - - -
d3717baa by Dylan Aïssi at 2026-03-13T09:52:13+01:00
Bump debian/changelog

Signed-off-by: Dylan Aïssi <[email protected]>

- - - - -


5 changed files:

- common/output_stream.cpp
- debian/changelog
- + 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


=====================================
debian/changelog
=====================================
@@ -1,3 +1,9 @@
+spirv-reflect (1.4.341.0-1) UNRELEASED; urgency=medium
+
+  * New upstream release: vulkan-sdk-1.4.341.0
+
+ -- Dylan Aïssi <[email protected]>  Fri, 13 Mar 2026 09:51:02 +0100
+
 spirv-reflect (1.4.328.1-1) unstable; urgency=medium
 
   * Initial Debian release based on the Ubuntu package with


=====================================
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/-/compare/6b384c7122a4f4991a96c5ead474a68d66aaed76...d3717baa590950cf2664e5f3ddbd05b8d3cac085

-- 
View it on GitLab: https://salsa.debian.org/xorg-team/vulkan/spirv-reflect/-/compare/6b384c7122a4f4991a96c5ead474a68d66aaed76...d3717baa590950cf2664e5f3ddbd05b8d3cac085
You're receiving this email because of your account on salsa.debian.org.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.