Commit Graph

14896 Commits

Author SHA1 Message Date
Jake Turner e92a6a6527 For DXIL Disassembly change "." -> "_" in Instruction names
Disabled when DXC_COMPATIBLE_DISASM is enabled
The shader debugger treats "." in a variable name as a field separator
2024-07-27 14:34:29 +01:00
Jake Turner c6ef900f34 DXIL Disassembly added Program::GetArgId(const Value* v)
For use in RD disassembly and DXIL debugger
2024-07-27 14:34:24 +01:00
Jake Turner cce5d94c4a DXIL Disassembly changed Instruction::slot to be global unique SSA Id
Used by DXIL Debugger, new behaviour is disabled when DXC_COMPATIBLE_DISASM is enabled
2024-07-27 14:34:17 +01:00
Jake Turner 1120148a54 Put resource specific data in a union in DXIL::EntryPoint::ResourceBase 2024-07-27 14:20:58 +01:00
Sluggernot 7f1cb948b3 Initialize D3D12_SAMPLER_DESC before modifying value
Small change to initialize D3D12_SAMPLER_DESC2 before it is used.
2024-07-27 14:19:53 +01:00
baldurk ae7f1a4a9a Log GPUs enumerated and driver file versions & timestamps on windows 2024-07-26 17:47:09 +01:00
Jake Turner 89dd99d203 GL Reflection support for shadow Cube Map Array samplers Closes #3391
i.e. "samplerCubeArrayShadow" in GLSL
2024-07-25 14:26:51 +01:00
Jake Turner d0675c75bf D3D12 Mesh Shader Feedback support for non-global payload variable
i.e. payload variable comes from a stack allocation instead of groupshared
2024-07-24 13:21:57 +01:00
Jake Turner 84786aea20 Demos test D3D12_Shader_Mesh 2024-07-24 13:21:57 +01:00
Jake Turner 742886b1b6 Handle OpAccessChain with zero indexes in SPIRV Reflection
It is legal to have zero indexes
2024-07-23 10:32:48 +01:00
baldurk fd0062572b Fix missing iteration with templated push descriptors 2024-07-22 16:17:17 +01:00
baldurk 7db141c77b Implement bindless feedback for samplers on D3D12. Closes #3387 2024-07-22 16:17:10 +01:00
tomjohnstone 97c072fa79 Fix up calls to CheckFeatureSupport 2024-07-22 13:29:57 +01:00
Jake Turner 4957cfd39a D3D12 Pixel History GPU sync all queues not just the active queue
Delete pOcclusionQueryHeap after fetching the results from it instead of at the end of pixel history function
2024-07-16 16:37:13 +01:00
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