mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-07-31 11:51:04 +00:00
RD DXIL Disassembly: change "load" and "store" output
load float _49 = *_48; // align 4 store *_30 = _27; // align 4
This commit is contained in:
@@ -2480,13 +2480,12 @@ void Program::MakeRDDisassemblyString()
|
||||
}
|
||||
break;
|
||||
}
|
||||
case Operation::LoadAtomic: commentStr += "atomic ";
|
||||
case Operation::Load:
|
||||
{
|
||||
lineStr += "load ";
|
||||
lineStr += "*";
|
||||
if(inst.opFlags() & InstructionFlags::Volatile)
|
||||
lineStr += "volatile ";
|
||||
lineStr += inst.type->toString();
|
||||
lineStr += ", ";
|
||||
commentStr += "volatile ";
|
||||
bool first = true;
|
||||
for(const Value *s : inst.args)
|
||||
{
|
||||
@@ -2497,19 +2496,20 @@ void Program::MakeRDDisassemblyString()
|
||||
first = false;
|
||||
}
|
||||
if(inst.align > 0)
|
||||
lineStr += StringFormat::Fmt(", align %u", (1U << inst.align) >> 1);
|
||||
commentStr += StringFormat::Fmt("align %u ", (1U << inst.align) >> 1);
|
||||
break;
|
||||
}
|
||||
case Operation::StoreAtomic: commentStr += "atomic ";
|
||||
case Operation::Store:
|
||||
{
|
||||
lineStr += "store ";
|
||||
if(inst.opFlags() & InstructionFlags::Volatile)
|
||||
lineStr += "volatile ";
|
||||
lineStr += ArgToString(inst.args[1], false);
|
||||
lineStr += ", ";
|
||||
commentStr += "volatile ";
|
||||
lineStr = "*";
|
||||
lineStr += ArgToString(inst.args[0], false);
|
||||
lineStr += " = ";
|
||||
lineStr += ArgToString(inst.args[1], false);
|
||||
if(inst.align > 0)
|
||||
lineStr += StringFormat::Fmt(", align %u", (1U << inst.align) >> 1);
|
||||
commentStr += StringFormat::Fmt("align %u ", (1U << inst.align) >> 1);
|
||||
break;
|
||||
}
|
||||
case Operation::FOrdEqual:
|
||||
@@ -2741,36 +2741,6 @@ void Program::MakeRDDisassemblyString()
|
||||
}
|
||||
break;
|
||||
}
|
||||
case Operation::LoadAtomic:
|
||||
{
|
||||
lineStr += "load atomic ";
|
||||
if(inst.opFlags() & InstructionFlags::Volatile)
|
||||
lineStr += "volatile ";
|
||||
lineStr += inst.type->toString();
|
||||
lineStr += ", ";
|
||||
bool first = true;
|
||||
for(const Value *s : inst.args)
|
||||
{
|
||||
if(!first)
|
||||
lineStr += ", ";
|
||||
|
||||
lineStr += ArgToString(s, false);
|
||||
first = false;
|
||||
}
|
||||
lineStr += StringFormat::Fmt(", align %u", (1U << inst.align) >> 1);
|
||||
break;
|
||||
}
|
||||
case Operation::StoreAtomic:
|
||||
{
|
||||
lineStr += "store atomic ";
|
||||
if(inst.opFlags() & InstructionFlags::Volatile)
|
||||
lineStr += "volatile ";
|
||||
lineStr += ArgToString(inst.args[1], false);
|
||||
lineStr += ", ";
|
||||
lineStr += ArgToString(inst.args[0], false);
|
||||
lineStr += StringFormat::Fmt(", align %u", (1U << inst.align) >> 1);
|
||||
break;
|
||||
}
|
||||
case Operation::CompareExchange:
|
||||
{
|
||||
lineStr += "cmpxchg ";
|
||||
|
||||
Reference in New Issue
Block a user