mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-08 19:10:35 +00:00
Enable gather operations for all texture dimensions
This commit is contained in:
@@ -1359,9 +1359,9 @@ private:
|
||||
rdcspv::Id(),
|
||||
editor.DeclareType(rdcspv::Image(base, rdcspv::Dim::_1D, 0, 1, 0, 1, unk)),
|
||||
editor.DeclareType(rdcspv::Image(base, rdcspv::Dim::_2D, 0, 1, 0, 1, unk)),
|
||||
editor.DeclareType(rdcspv::Image(base, rdcspv::Dim::_3D, 0, 1, 0, 1, unk)),
|
||||
editor.DeclareType(rdcspv::Image(base, rdcspv::Dim::_3D, 0, 0, 0, 1, unk)),
|
||||
editor.DeclareType(rdcspv::Image(base, rdcspv::Dim::_2D, 0, 1, 1, 1, unk)),
|
||||
editor.DeclareType(rdcspv::Image(base, rdcspv::Dim::Buffer, 0, 1, 0, 1, unk)),
|
||||
editor.DeclareType(rdcspv::Image(base, rdcspv::Dim::Buffer, 0, 0, 0, 1, unk)),
|
||||
editor.DeclareType(rdcspv::Sampler()),
|
||||
};
|
||||
rdcspv::Id texSampVars[(uint32_t)ShaderDebugBind::Count];
|
||||
@@ -1476,9 +1476,11 @@ private:
|
||||
|
||||
uint32_t sampIdx = (uint32_t)ShaderDebugBind::Sampler;
|
||||
|
||||
// for(uint32_t i = (uint32_t)ShaderDebugBind::First; i < (uint32_t)ShaderDebugBind::Count; i++)
|
||||
uint32_t i = (uint32_t)ShaderDebugBind::Tex2D;
|
||||
for(uint32_t i = (uint32_t)ShaderDebugBind::First; i < (uint32_t)ShaderDebugBind::Count; i++)
|
||||
{
|
||||
if(i == sampIdx)
|
||||
continue;
|
||||
|
||||
{
|
||||
rdcspv::Op op = rdcspv::Op::ImageFetch;
|
||||
|
||||
@@ -1487,7 +1489,7 @@ private:
|
||||
|
||||
rdcspv::ImageOperandsAndParamDatas imageOperands;
|
||||
|
||||
if(i != (uint32_t)ShaderDebugBind::Buffer)
|
||||
if(i != (uint32_t)ShaderDebugBind::Buffer && i != (uint32_t)ShaderDebugBind::Tex2DMS)
|
||||
imageOperands.setLod(texel_lod);
|
||||
|
||||
cases.add(rdcspv::OpLabel(label));
|
||||
@@ -1499,6 +1501,11 @@ private:
|
||||
cases.add(rdcspv::OpBranch(breakLabel));
|
||||
}
|
||||
|
||||
// buffers and multisampled images don't support sampling, so skip the other operations at
|
||||
// this point
|
||||
if(i == (uint32_t)ShaderDebugBind::Buffer || i == (uint32_t)ShaderDebugBind::Tex2DMS)
|
||||
continue;
|
||||
|
||||
for(rdcspv::Op op : {rdcspv::Op::ImageSampleExplicitLod, rdcspv::Op::ImageSampleImplicitLod})
|
||||
{
|
||||
rdcspv::Id label = editor.MakeId();
|
||||
|
||||
Reference in New Issue
Block a user