IsDXCNop() checks for DXC Nop generated instructions, which take the form of a Load from a global variable called "dx.nothing.*"
IsSSA() checks if a DXIL::Value is an SSA value i.e. from an instruction, not a constant etc.
Store function name from Operation::Call in a const reference instead of making a copy
AnnotateHandle
* Change the SSA result name to be "_typed_descriptor_<N>"
* Show the input handle SSA name instead of the resource alias name
CreateHandleFromHeap
* Change the SSA result name to be "_untyped_descriptor_<N>"
CBufferLoad, CBufferLoadLegacy
* For SM6.6 use the handle alias instead of the cbuffer name
Before:
_dx.types.Handle _3 = ResourceDescriptorHeap[8];
_dx.types.Handle __heap_descriptor_0 = (StructuredBuffer<stride=8>)ResourceDescriptorHeap[8];
_dx.types.Handle _11 = SamplerDescriptorHeap[0];
_dx.types.Handle __heap_descriptor_1 = (SamplerState)SamplerDescriptorHeap[0];
_dx.types.Handle _15 = ResourceDescriptorHeap[12];
_dx.types.Handle __heap_descriptor_2 = (Texture2D<4xF32>)ResourceDescriptorHeap[12];
_dx.types.ResRet.f32 _19 = __heap_descriptor_2.Sample(__heap_descriptor_1, _.i05, _.i16, Offset = {0, 0});
After:
_dx.types.Handle __untyped_descriptor_0 = ResourceDescriptorHeap[8];
_dx.types.Handle __typed_descriptor_0 = (StructuredBuffer<stride=8>)__untyped_descriptor_0;
_dx.types.Handle __untyped_descriptor_1 = SamplerDescriptorHeap[0];
_dx.types.Handle __typed_descriptor_1 = (SamplerState)__untyped_descriptor_1;
_dx.types.Handle __untyped_descriptor_2 = ResourceDescriptorHeap[12];
_dx.types.Handle __typed_descriptor_2 = (Texture2D<float4>)__untyped_descriptor_2;
_dx.types.ResRet.f32 _19 = __typed_descriptor_2.Sample(__typed_descriptor_1, _.i05, _.i16, Offset = {0, 0});
This needs to be added to HookInitVulkanInstanceExts, like the other KHR_display functions.
Fixes a segfault when Renderdoc'ing SteamVR.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
* During capture if ResizeBuffers is called we can't defer destruction to the
end of the capture as it will cause the function to fail due to refcounting
rules.
Add DXILDebug::[Debugger,ThreadState] as friends to DXIL::Program
Expose DXIL::isUndef(const DXIL::Value* v); for use in the DXIL Debugger
Add more stubs to DXILDebug::[DebugAPIWrapper, ThreadState, GlobalState]
Pass in bool dxcStyleFormatting parameter to helper functions
Derive dxilIdentifier from dxcStyleFormatting i.e. '%' or '_'
DXIL Debugger and RD Disassembly specific helper methods choose to use "dxcStyleFormatting = false"
* The previous ignoring of the top commit was to avoid badly-written merge
commits added by github, we want to continue doing that for PRs but check all
commits on push as a safety measure.
The DXBC container adds output to the disassembly view, need to include that output when computing the per instruction lineInfo "disassemblyLine" value
Removed "void Program::ProcessFunctions(std::function<bool(const Function *)> callback) const;"