-
Notifications
You must be signed in to change notification settings - Fork 15.3k
Labels
Description
We currently have the v2::DescriptorRange inherit from the v1::DescriptorRange and add a Flags field, but this is incorrect. In both the 1.0 and 1.1 root signature formats, the OffsetInDescriptorsFromTableStart comes last. That is, v1::DescriptorRange is laid out as follows:
struct DescriptorRange {
uint32_t RangeType;
uint32_t NumDescriptors;
uint32_t BaseShaderRegister;
uint32_t RegisterSpace;
uint32_t OffsetInDescriptorsFromTableStart;
};This matches what we have today, but v2::DescriptorRange is laid out like so:
struct DescriptorRange {
uint32_t RangeType;
uint32_t NumDescriptors;
uint32_t BaseShaderRegister;
uint32_t RegisterSpace;
uint32_t Flags;
uint32_t OffsetInDescriptorsFromTableStart;
};This does not match what we have today, as we have the OffsetInDescriptorsFromTableStart and Flags fields reversed. This causes obvious issues when we feed shaders that have root signatures with descriptor ranges into any driver.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Closed