%YAML 1.0
---
all_type_descriptions:
  - &td0
    id: 39
    op: 27
    type_name: 
    struct_member_name: 
    storage_class: -1 # NOT APPLICABLE
    type_flags: 0x00050008 # EXTERNAL_SAMPLED_IMAGE 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: 21
    op: 23
    type_name: 
    struct_member_name: "data"
    storage_class: 0 # UniformConstant
    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:
  - &td2
    id: 10
    op: 30
    type_name: "Ubo"
    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: 1
    members:
      - *td1
  - &td3
    id: 20
    op: 22
    type_name: 
    struct_member_name: "val"
    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:
  - &td4
    id: 13
    op: 30
    type_name: "PushConstantVert"
    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: 1
    members:
      - *td3
  - &td5
    id: 20
    op: 22
    type_name: 
    struct_member_name: "val"
    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:
  - &td6
    id: 15
    op: 30
    type_name: "PushConstantFrag"
    struct_member_name: 
    storage_class: -1 # NOT APPLICABLE
    type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK 
    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: 1
    members:
      - *td5
  - &td7
    id: 27
    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:
  - &td8
    id: 31
    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: 3 }
        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:
  - &td9
    id: 21
    op: 23
    type_name: 
    struct_member_name: "gl_Position"
    storage_class: 0 # UniformConstant
    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:
  - &td10
    id: 12
    op: 30
    type_name: "gl_PerVertex"
    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: 1
    members:
      - *td9
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 }
    member_count: 0
    members:
    type_description:
  - &bv1
    name: "data"
    offset: 0
    absolute_offset: 0
    size: 16
    padded_size: 16
    decorations: 0x00000000 # NONE
    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:
    type_description: *td1
  - &bv2
    name: "ubo"
    offset: 0
    absolute_offset: 0
    size: 16
    padded_size: 16
    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: 1
    members:
      - *bv1
    type_description: *td2
  - &bv3
    name: "val"
    offset: 0
    absolute_offset: 0
    size: 4
    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: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td3
  - &bv4
    name: "PushConstantVert"
    offset: 0
    absolute_offset: 0
    size: 16
    padded_size: 16
    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: 1
    members:
      - *bv3
    type_description: *td4
  - &bv5
    name: "val"
    offset: 0
    absolute_offset: 0
    size: 4
    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: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td5
  - &bv6
    name: "PushConstantFrag"
    offset: 0
    absolute_offset: 0
    size: 16
    padded_size: 16
    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: 1
    members:
      - *bv5
    type_description: *td6
all_descriptor_bindings:
  - &db0
    spirv_id: 17
    name: "tex"
    binding: 0
    input_attachment_index: 0
    set: 0
    descriptor_type: 1 # VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
    resource_type: 5 # ???
    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: 203, set: 199 }
  - &db1
    spirv_id: 11
    name: "ubo"
    binding: 1
    input_attachment_index: 0
    set: 0
    descriptor_type: 6 # VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
    resource_type: 2 # CBV
    image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
    block: *bv2 # "ubo"
    array: { dims_count: 0, dims: [] }
    accessed: 1
    uav_counter_id: 4294967295
    uav_counter_binding:
    type_description: *td2
    word_offset: { binding: 163, set: 159 }
all_interface_variables:
  - &iv0
    spirv_id: 4
    name: "iUV"
    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: *td7
    word_offset: { location: 171 }
  - &iv1
    spirv_id: 6
    name: "pos"
    location: 1
    storage_class: 1 # Input
    semantic: 
    decoration_flags: 0x00000000 # NONE
    built_in: -1 # ??? (-1)
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 3 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    format: 106 # VK_FORMAT_R32G32B32_SFLOAT
    type_description: *td8
    word_offset: { location: 183 }
  - &iv2
    spirv_id: 0
    name: 
    location: 0
    storage_class: 0 # UniformConstant
    semantic: 
    decoration_flags: 0x00000010 # BUILT_IN 
    built_in: 0 # Position
    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: 0 # VK_FORMAT_UNDEFINED
    type_description: *td9
    word_offset: { location: 0 }
  - &iv3
    spirv_id: 3
    name: ""
    location: 4294967295
    storage_class: 3 # Output
    semantic: 
    decoration_flags: 0x00000011 # BUILT_IN BLOCK 
    built_in: -1 # ??? (-1)
    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: 1
    members:
      - *iv2 # 
    format: 0 # VK_FORMAT_UNDEFINED
    type_description: *td10
    word_offset: { location: 0 }
  - &iv4
    spirv_id: 5
    name: "oUV"
    location: 0
    storage_class: 3 # Output
    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: *td7
    word_offset: { location: 167 }
module:
  generator: 7 # Khronos SPIR-V Tools Assembler
  entry_point_name: "entry_vert"
  entry_point_id: 2
  source_language: 2 # GLSL
  source_language_version: 450
  spirv_execution_model: 0 # Vertex
  shader_stage: 0x00000001 # VS
  descriptor_binding_count: 2
  descriptor_bindings:
    - *db0 # "tex"
    - *db1 # "ubo"
  descriptor_set_count: 1
  descriptor_sets:
  - set: 0
    binding_count: 2
    bindings:
      - *db0 # "tex"
      - *db1 # "ubo"
  input_variable_count: 2,
  input_variables:
    - *iv0 # "iUV"
    - *iv1 # "pos"
  output_variable_count: 2,
  output_variables:
    - *iv3 # ""
    - *iv4 # "oUV"
  push_constant_count: 2,
  push_constants:
    - *bv4 # "PushConstantVert"
    - *bv6 # "PushConstantFrag"
...
