mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-24 23:46:41 +00:00
Ignore swizzles on resources and ensure no OOB swizzles are processed
This commit is contained in:
@@ -3499,6 +3499,7 @@ const RDTreeWidgetItem *ShaderViewer::evaluateVar(const RDTreeWidgetItem *item,
|
||||
}
|
||||
else
|
||||
{
|
||||
// out of bounds swizzle
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
@@ -3625,7 +3626,12 @@ const RDTreeWidgetItem *ShaderViewer::evaluateVar(const RDTreeWidgetItem *item,
|
||||
|
||||
if(ret.type == VarType::Sampler || ret.type == VarType::ReadOnlyResource ||
|
||||
ret.type == VarType::ReadWriteResource)
|
||||
{
|
||||
dataSize = 16;
|
||||
// ignore swizzle for resources - some representations like DXBC will generate these for
|
||||
// instructions but it's not a 'real' swizzle to evaluate
|
||||
swizzle = ~0U;
|
||||
}
|
||||
|
||||
// only support swizzling on vectors
|
||||
if(swizzle != ~0U && (ret.rows > 1 || mapping.variables.size() > 4))
|
||||
@@ -3650,6 +3656,11 @@ const RDTreeWidgetItem *ShaderViewer::evaluateVar(const RDTreeWidgetItem *item,
|
||||
{
|
||||
ret.columns = i + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// out of bounds swizzle
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
const DebugVariableReference &r = mapping.variables[swiz_i];
|
||||
|
||||
Reference in New Issue
Block a user