mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-25 16:06:31 +00:00
Specific DXIL disassembly handling for WaveActiveBit
After int _WaveActiveBit14 = WaveActiveBitAnd(_WaveGetLaneIndex); int _WaveActiveBit13 = WaveActiveBitOr(_WaveGetLaneIndex); int _WaveActiveBit = WaveActiveBitXor(_WaveGetLaneIndex); Before int _WaveActiveBit14 = WaveActiveBit(/*value*/ _WaveGetLaneIndex, /*op*/ 0); int _WaveActiveBit13 = WaveActiveBit(/*value*/ _WaveGetLaneIndex, /*op*/ 1); int _WaveActiveBit = WaveActiveBit(/*value*/ _WaveGetLaneIndex, /*op*/ 2);
This commit is contained in:
@@ -1851,6 +1851,7 @@ DECLARE_REFLECTION_ENUM(DXIL::Attribute);
|
||||
DECLARE_STRINGISE_TYPE(DXIL::InstructionFlags);
|
||||
DECLARE_STRINGISE_TYPE(DXIL::AtomicBinOpCode);
|
||||
DECLARE_STRINGISE_TYPE(DXIL::WaveOpCode);
|
||||
DECLARE_STRINGISE_TYPE(DXIL::WaveBitOpCode);
|
||||
DECLARE_STRINGISE_TYPE(DXIL::SignedOpKind);
|
||||
DECLARE_STRINGISE_TYPE(DXIL::QuadOpKind);
|
||||
DECLARE_STRINGISE_TYPE(DXIL::PackMode);
|
||||
|
||||
@@ -4181,6 +4181,23 @@ void Program::MakeRDDisassemblyString(const DXBC::Reflection *reflection)
|
||||
}
|
||||
break;
|
||||
}
|
||||
case DXOp::WaveActiveBit:
|
||||
{
|
||||
// WaveActiveBit(value, i8 waveBitOp)
|
||||
WaveBitOpCode waveBitOpCode;
|
||||
if(getival<WaveBitOpCode>(inst.args[2], waveBitOpCode))
|
||||
{
|
||||
lineStr += "WaveActiveBit" + ToStr(waveBitOpCode);
|
||||
lineStr += "(";
|
||||
lineStr += GetArgId(inst, 1);
|
||||
lineStr += ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
showDxFuncName = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case DXOp::Pack4x8:
|
||||
{
|
||||
// Pack4x8(packMode,x,y,z,w)
|
||||
|
||||
@@ -852,3 +852,15 @@ rdcstr DoStringise(const DXIL::SignedOpKind &el)
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
}
|
||||
|
||||
template <>
|
||||
rdcstr DoStringise(const DXIL::WaveBitOpCode &el)
|
||||
{
|
||||
BEGIN_ENUM_STRINGISE(DXIL::WaveBitOpCode)
|
||||
{
|
||||
STRINGISE_ENUM_CLASS(And)
|
||||
STRINGISE_ENUM_CLASS(Or)
|
||||
STRINGISE_ENUM_CLASS(Xor)
|
||||
}
|
||||
END_ENUM_STRINGISE();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user