From 4fad937d9e232182073f130c24eebc91998ec5b5 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Mon, 13 Apr 2026 05:52:14 +0100 Subject: [PATCH] DXIL reflection default stride to one for ByteAddressBuffer Fixes DXIL debugging of root constant ByteAddressBuffer --- renderdoc/driver/shaders/dxil/dxil_reflect.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/shaders/dxil/dxil_reflect.cpp b/renderdoc/driver/shaders/dxil/dxil_reflect.cpp index 3d1c340e2..7899b3a95 100644 --- a/renderdoc/driver/shaders/dxil/dxil_reflect.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_reflect.cpp @@ -320,7 +320,7 @@ EntryPointInterface::ResourceBase::ResourceBase(ResourceClass resourceClass, con srv.shape = getival(md->children[(size_t)ResField::SRVShape]); srv.sampleCount = getival(md->children[(size_t)ResField::SRVSampleCount]); srv.compType = ComponentType::Invalid; - srv.elementStride = ~0U; + srv.elementStride = (srv.shape == DXIL::ResourceKind::RawBuffer) ? 1 : ~0U; const Metadata *tags = md->children[(size_t)ResField::SRVTags]; for(size_t t = 0; tags && t < tags->children.size(); t += 2) { @@ -348,7 +348,7 @@ EntryPointInterface::ResourceBase::ResourceBase(ResourceClass resourceClass, con uav.rasterizerOrderedView = (getival(md->children[(size_t)ResField::UAVRasterOrder]) == 1); uav.compType = ComponentType::Invalid; - uav.elementStride = ~0U; + uav.elementStride = (uav.shape == DXIL::ResourceKind::RawBuffer) ? 1 : ~0U; uav.samplerFeedback = SamplerFeedbackType::LastEntry; uav.atomic64Use = false;