Skip to content

Descriptor Heap GPU Dump warning #18

Description

@spencer-lunarg

Using the new GPU Dump feature in 1.4.357 Validation (coming out next week) I get the following warning on my GTX 4060 with 610.74 drivers with the Constant Data mapping in the Descriptor Heap sample

Validation Warning: [ GPU-DUMP ] | MessageID = 0xe5c5edc1
vkCmdDrawIndexed(): [Dump Descriptor] (VkCommandBuffer 0x1eb0078a8d0[nvapp::Application::createFrameSubmission:m_frameData[i].cmdBuffer(949)], VkShaderEXT 0xa4d0000000a4d, VkShaderEXT 0xa4e0000000a4e, VkRenderPass 0x0)
- vkCmdBindResourceHeapEXT last bound the resource heap to [0xfc00620, 0xfc22220) (reserved range 96768 bytes at [0xfc0a820, 0xfc22220))
    - VkBuffer 0x280000000028[DescriptorHeapSample::resizeResourceHeap:m_resourceHeapBuffer.buffer(546)], size: 138240 bytes, range: [0xfc00620, 0xfc22220)
- vkCmdBindSamplerHeapEXT last bound the sampler heap to [0xfc00000, 0xfc00280) (reserved range 512 bytes at [0xfc00080, 0xfc00280))
    - VkBuffer 0x1f000000001f[DescriptorHeapSample::initHeaps:m_samplerHeapBuffer.buffer(517)], size: 640 bytes, range: [0xfc00000, 0xfc00280)
- Shader descriptors:
  [EntryPoint "vertexMain", VK_SHADER_STAGE_VERTEX_BIT]
  [EntryPoint "fragmentMain", VK_SHADER_STAGE_FRAGMENT_BIT]
  - SPIR-V Set 0:
    - SPIR-V Binding 0 ["heapTextures"]
      - specified in pMappings[0] - VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_CONSTANT_OFFSET_EXT
      - heapOffset: 0x0, heapArrayStride: 32
      - Resource Heap address: 0xfc00620 + (descriptor_index * 32)
            The final descriptor index at [4319] is the last index in bounds of the heap buffer and will access [0xfc22200, 0xfc22220)
      - Descriptor size: 32 (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE)
      - [WARNING] RESERVED RANGE - descriptor index starting at [1296] to [4319] will overlap with the reserved range and the access will be invalid
    - SPIR-V Binding 1 ["heapSamplers"]
      - specified in pMappings[1] - VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_CONSTANT_OFFSET_EXT
      - heapOffset: 0x0, heapArrayStride: 32
      - Sampler Heap address: 0xfc00000 + (descriptor_index * 32)
            The final descriptor index at [19] is the last index in bounds of the heap buffer and will access [0xfc00260, 0xfc00280)
      - Descriptor size: 32 (VK_DESCRIPTOR_TYPE_SAMPLER)
      - [WARNING] RESERVED RANGE - descriptor index starting at [4] to [19] will overlap with the reserved range and the access will be invalid

The math checks out as a real warning

didn't look to closely what the shader was doing, but might be helpful to make small arrays or increase the heap allocation so no one can accidently access the reserved range

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions