Commit Graph

14882 Commits

Author SHA1 Message Date
baldurk df32442362 Patch EmitMeshTasksEXT calls that don't use the referenced payload
* Unclear on if this is valid or not but it is likely considered to be a
  degenerate case, where a payload is declared and referenced by the entry point
  then not used in the emit. The contents in the mesh shader are presumably
  undefined but if they're similarly unused that's fine?
2024-07-16 16:12:30 +01:00
baldurk 16c440776d Fix bounds check on number of descriptor sets 2024-07-16 11:00:37 +01:00
baldurk c75f1a1499 Clamp element size to avoid divide by 0 2024-07-15 16:44:23 +01:00
baldurk d5cc1cf626 Import threading on python context startup on main thread for debuggers 2024-07-15 16:22:38 +01:00
baldurk c9bb4ca4b8 Copy additional optional libraries from python install for debugging 2024-07-15 16:21:36 +01:00
baldurk 02f4e38dc9 Fix vulkan object comparison 2024-07-13 22:48:39 +01:00
baldurk cb46ec9c51 Set correct stage for fake copy descriptors in texture viewer 2024-07-13 22:30:08 +01:00
baldurk 9a24c83f7a Don't pass through deferred operations when creating pipelines 2024-07-13 22:30:07 +01:00
Thomas Johnstone ab6f27dfea Update miniz to 3.0.2
This fixes the size returned from mz_zip_reader_extract_to_heap for large resource buffers
More details can be found here: https://github.com/richgel999/miniz/pull/220
2024-07-12 14:50:54 +01:00
Thomas Johnstone 642ade8aad Fix for deserializing chunk length greater than 4GB from XML 2024-07-12 14:50:54 +01:00
Jake Turner 8986329d1e nVidia Vk driver bug workaround for series 10 cards
Series 10 cards do not support Mesh Shaders, according to Vulkan spec it should be valid to bind NULL shader objects to mesh stage even if the feature is not supported.
2024-07-11 07:04:11 +01:00
Jake Turner e1e35bf5ac RD DXIL Disassembly use the Block id for label tracking
Remove: labelToBlockIndex, blockIndexToLabel

Shows the start label in a function because it might be referenced in a phi node
Use Block id for the label if the label does not have a name (Block slot might not be unique/set)
2024-07-10 13:34:30 +01:00
Jake Turner 27cfb727c0 Set the correct type for DXIL Compute Shader Input signature reflection
Previously was showing "threadId", "threadIdInGroup", "groupId" as float3 instead of uint3
2024-07-10 13:34:30 +01:00
Jake Turner 51612fdc94 Vulkan PipelineState search for vertex attributes by register location
Closes #3379
2024-07-10 13:34:30 +01:00
Jake Turner 53b0a84a68 GL Descriptors process input signatures with ShaderBuiltin::Undefined
As an example SPIRV compiled vertex shaders can have input signatures with a mixture of Undefined and valid ShaderBuiltIn's

Closes #3375
2024-07-10 13:34:29 +01:00
Jake Turner e4a52ffe2a In Win32 ApplyHooks get module baseAddress from the call to LoadLibrary
If the module is unloaded, reloaded during the hooking process the base address might have changed and the original baseAddress will be pointing to invalid memory
2024-07-10 13:34:29 +01:00
feng716 94212f1488 move code to the existing gcc version check clause 2024-07-10 05:24:12 +01:00
feng716 ddc606be0e move code to qrenderdoc/CMakeLists.txt 2024-07-10 05:24:12 +01:00
feng716 7bae53e098 fix compatibity problem
string sub-command REGEX mode MATCHALL does not support lists
2024-07-10 05:24:12 +01:00
feng716 a339714159 remove extra lines 2024-07-10 05:24:12 +01:00
feng716 2f7ebd461c replace GREATER_EQUAL with GREATER
GREATER_EQUAL is not supported in CMake 2.8
2024-07-10 05:24:12 +01:00
feng716 295677f566 fix relative path 2024-07-10 05:24:12 +01:00
feng716 3bd5f5a631 Add version determination 2024-07-10 05:24:12 +01:00
feng716 9c41ef366e add option '-Wno-error=template-id-cdtor' 2024-07-10 05:24:12 +01:00
Aliya Pazylbekova 9ebd796cd8 Remove GGP support 2024-07-08 14:19:42 +01:00
Jake Turner aa5538b2e9 Added helper D3D12ShaderDebug::GetRenderTargetSampleInfo()
Used by the DXIL debugger and the DXBC D3D12 version of GetSampleInfo()
2024-07-04 05:42:37 +01:00
Jake Turner fcc6ab5087 Added helper D3D12ShaderDebug::GetSampleInfo()
Used by DXBC and DXIL Shader Debuggers
2024-07-04 05:41:53 +01:00
Jake Turner 4fe5962490 Added helper D3D12ShaderDebug::GetResourceInfo()
Used by DXBC and DXIL Shader Debuggers
2024-07-04 05:41:53 +01:00
Jake Turner 546049310f Added DXBCDXILDebug::get_sample_position() helper 2024-07-04 05:41:53 +01:00
Jake Turner aff288dfb7 RD DXIL Disassembly Improvements
Show BufferLoad, RawBufferLoad as <resource>.Load
Show BUfferStore, RawBufferStore as <resource>.Store
Hand decode DXOp::GetDimensions, DXOp::Texture2DMSGetSamplePosition
Removed "index =" from output of GetRenderTargetSamplePosition()
2024-07-03 11:15:11 +01:00
Jake Turner b3236c0fbe Added DoStringise() for DXIL::Type::ScalarKind 2024-07-03 11:14:49 +01:00
Jake Turner 67777f16af Change D3D11/12 Shader_Debug_Zoo to use 32x32 mipmapped texture
32 x 32 means the mip count (5) is different to the MSSA count (4)
2024-07-03 11:14:01 +01:00
Jake Turner 0b9ed7bd8e DXIL disassembly parsing track labels in functions and blocks
Per Function compute:
labelToBlockIndex container : to go from a label to its block index
blockIndexToLabel container : to go from block index to its label

For each Block store the starting instruction index
2024-07-03 07:22:26 +01:00
Jake Turner 71da2b55bb Added dxbcdxil_debug.cpp source file with DXBC/DXIL debugger helpers
Shared between DXBC and DXIL shader debuggers

float dxbc_min(float a, float b);
double dxbc_min(double a, double b);
float dxbc_max(float a, float b);
double dxbc_max(double a, double b);
float round_ne(float x);
float flush_denorm(const float f);
2024-07-03 07:20:59 +01:00
Jake Turner 0406d3766f Change DXIL disassembly exp & log names to exp2 & log2 2024-07-02 14:20:26 +01:00
Jake Turner dbd4d7cf0d Fix DXIL Shader Debugger GPU implementation of EXP & LOG
DXIL EXP is exp2. HLSL is exp.
DXIL LOG is log2. HLSL is ln.
2024-07-02 14:20:14 +01:00
Jake Turner 1307393836 D3D11 PipelineStateViewer use UAV tag for CS UAV resources
Fixes problem that going to a compute shader UAV Buffer would not show the correct format for the buffer
2024-07-02 13:49:44 +01:00
Jake Turner 452f75b966 In DescriptorData() set nonsamp.type to D3D12DescriptorType::Undefined
If it defaults to zero then it would be treated as D3D12DescriptorType::Sampler
which lead to a crash calling "Create" on an uninitialized descriptor
2024-07-02 12:05:07 +01:00
Jake Turner 9a075cf21e Tweaks to D3D12ShaderDebug::FindDescriptor() 2024-07-01 08:32:09 +01:00
Jake Turner a4ccbaba35 DXIL RD Fixes to MakeCBufferRegisterStr()
Changed array offset handling
Added TODO about handling double vectors, the load might not start at x component
Improved handling of variable offset for when the offset is within a variable i.e. matrix row, array element.

Removed unused function GetCBufferVariableTypeName()
2024-06-27 14:36:28 +01:00
Jake Turner 8608e7bc97 Fix matrix byte size in DXIL MakeCBufferVariableType
Account for cbuffer D3D matrix row/column alignment (16 bytes)
2024-06-27 14:36:28 +01:00
baldurk 41adeb65b1 Add UI to manage the list of ignored PDBs for callstacks. Closes #3329 2024-06-27 13:54:41 +01:00
baldurk 6990a6b046 Show - for byte offset when displaying specialisation constants 2024-06-27 13:54:41 +01:00
baldurk 2b40a17f8a Add packing rule for bitfield packing/straddling a la #pragma pack(1) 2024-06-27 13:54:41 +01:00
Jake Turner 64b966f4df D3D12 ShaderDebugging adding helper namespace D3D12ShaderDebug
Added

bool D3D12ShaderDebug::CalculateMathIntrinsic(WrappedID3D12Device* device, MathOp mathOp, const ShaderVariable &input, ShaderVariable &output1, ShaderVariable &output2);

which is used by DXBC and DXIL ShaderDebugger CalculateMathIntrinsic methods

Extended shaderdebug.hlsl math intrinsics to support DXIL math opcodes

Use custom math operation values for DXBC and DXIL, not the DXBC OpCode value.
Use custom sampler operation values for DXBC and DXIL, not the DXBC OpCode value.

This changes DXBCDebug::DebugAPIWrapper, updated D3D11DebugAPIWrapper to match changes to interface and shader math and sample operation values.
2024-06-27 09:27:13 +01:00
Jake Turner 1add3b1ea8 Added D3D12_DebugManager DXIL Shader Debugger helper methods
GetDXILMathIntrinsicsPso()
GetDXILTexSamplePso()
2024-06-27 09:27:13 +01:00
baldurk e6dc1d2516 Fix compile error 2024-06-26 18:30:22 +01:00
baldurk 1de0d75627 Update out of date log message 2024-06-26 17:07:09 +01:00
baldurk 928048b786 Tweak entrypoint disassembly to work better for large interface lists 2024-06-26 17:07:09 +01:00
baldurk 187ab5726a Update helpers with all shader stages 2024-06-26 17:07:09 +01:00