Commit Graph

16246 Commits

Author SHA1 Message Date
Jake Turner decbcff6ab Enable Vk Workgroup and Subgroup tests 2025-09-24 12:04:37 +01:00
Jake Turner 754b5d21eb Change VK_Workgroup_Zoo test to be deterministic 2025-09-24 11:50:52 +01:00
Jake Turner b3981e9bf6 Change DXIL debugger to generate CBuffer Handle ShaderVariable data
Generate a struct of N x uint4, where N comes from the DXIL metadata cbuffer resource size
Fixes ShaderVariable malformed errors when using cbuffers with packedoffset
2025-09-23 16:18:00 +01:00
Jake Turner 0f0da06737 Fix DXIL Debugger Constants display of cbuffer with packedoffset
The simulation had the correct values

cbuffer packed_consts : register(b1)
{
  float col1z : packoffset(c1.z); // 4+2
  float col2w : packoffset(c2.w); // 8+3
};
2025-09-23 16:16:32 +01:00
Jake Turner bfb0b09db9 Fix DXBC Debugger for cbuffer with packedoffset at non-zero component
cbuffer packed_consts : register(b1)
{
  float col1z : packoffset(c1.z); // 4+2
  float col2w : packoffset(c2.w); // 8+3
};
2025-09-23 16:14:13 +01:00
Jake Turner e16a714aba New cbuffer tests: D3D11, D3D12 packedoffset; D3D12 cbuffer array
cbuffer packed_consts : register(b2)
{
  float col1z : packoffset(c1.z); // 4+2
  float col2w : packoffset(c2.w); // 8+3
};

struct ArrayStruct
{
  float4 a;
};

ConstantBuffer<ArrayStruct> array_consts[2] : register(b3);
2025-09-23 15:59:48 +01:00
Jake Turner b47e703c06 Include the cbuffer element byte offset in DXIL disassembly 2025-09-23 15:59:32 +01:00
baldurk 659bdee578 Implement D3D12 shader feedback for constant buffers 2025-09-23 14:49:20 +01:00
baldurk 3d1e78ba17 Handle buffers created in new state with undefined layout
* These can implicitly be transitioned to old states even though the spec says
  resources must go via COMMON - because there is no way to do that for new
  buffers.
2025-09-23 10:16:03 +01:00
baldurk de1fd89591 Remove debug code 2025-09-23 09:48:17 +01:00
baldurk 2381c2669d Add support in tests for compiling with separate shader debug info 2025-09-22 14:21:56 +01:00
baldurk 872752cd51 Add version check for -select-validator which was annoyingly removed 2025-09-22 14:21:36 +01:00
baldurk cda6da6945 Enumerate supported shader model in demos a bit more tightly 2025-09-22 13:49:51 +01:00
baldurk d4fd5b4977 Don't use = for argument parameters in SRCI information from dxc 2025-09-22 13:48:42 +01:00
baldurk 26cf7d3d7f Ensure shader reflection information is stored as const
* Avoids accidental modifications
2025-09-22 11:58:56 +01:00
Cam Mannett 0dd399cc11 Handle multiple and NULL initial state AS descriptors
* Fix for handling NULL VkAccelerationStructureKHR handles in an AS write descriptor
* Fix for handling multiple AS write descriptors across different bind indices
2025-09-20 00:37:32 +09:00
baldurk bf8354b703 Pass fragment offsets on renderpass end 2025-09-19 16:19:42 +01:00
baldurk 9954649720 Update unit test for new compile flag 2025-09-19 16:03:19 +01:00
baldurk 5f95354737 Process fake OpModuleProcessed comments in non-semantic debug source 2025-09-19 16:03:18 +01:00
baldurk f17604df26 Restore depth bounds test correctly for depth test overlay. Closes #3701 2025-09-19 16:03:18 +01:00
Mike Blumenkrantz 29187e6c15 support VK_VALVE_fragment_density_map_layered 2025-09-20 00:03:09 +09:00
Mike Blumenkrantz 9cfef91e06 support VK_EXT_fragment_density_offset 2025-09-20 00:03:09 +09:00
baldurk 1e0f960635 Don't allow implicit scalar to vector casts in Vec helpers
* With all default parameters in the constructor `Vec4f foo = 1.0f` would be
  legal by implicit constructor.
2025-09-19 14:13:01 +01:00
baldurk 7f92c9204b Handle dubiously-valid unbound scissor region in D3D12 pixel history 2025-09-19 14:13:01 +01:00
baldurk baecdd85ca Improve arrow key nudging behaviour on NPOT mips in texture viewer 2025-09-19 14:13:01 +01:00
baldurk 858cfab281 Improve positioning for pixel context highlight for NPOT textures 2025-09-19 14:13:01 +01:00
baldurk a22b8a88a2 Calculate mip shift accurately for NPOT textures 2025-09-19 14:13:01 +01:00
baldurk b857cb2b0b Build shaders with debug info when self-capturing 2025-09-19 11:55:42 +01:00
baldurk fd86ca4ddc Allow editing zoom level text when fit-to-window is enabled
* We need to disable it before changing the zoom level.
2025-09-19 11:01:12 +01:00
baldurk 101953be7a Only create initial contents for memory that is initialisable 2025-09-18 10:05:06 +01:00
baldurk 998b1c7ee0 Don't offer option to debug pixel on events that are not draws 2025-09-17 17:09:39 +01:00
Jake Turner 52cb002dd7 Defensive code fix for RT auditing after device lost 2025-09-17 13:24:11 +01:00
baldurk 7734a36228 Fix shader clears to properly reset all labels 2025-09-17 11:26:08 +01:00
baldurk 86e6941265 Use device independent scaling for height calculation 2025-09-17 11:25:59 +01:00
baldurk 0e271c5cdb Release device tools 2025-09-17 11:10:07 +01:00
baldurk 1df4a75a97 Remove shader controls frames to allow full flow layout wrapping 2025-09-17 09:58:50 +01:00
baldurk 4998542c06 Update to latest stable D3D12 headers 1.616.1 2025-09-16 18:21:03 +01:00
baldurk 7ef361fec5 Ensure memory without initial states on vulkan are cleared properly
* The code was already handling the replay optimisation level properly, but
  without a dummy initial contents we were never even getting to the apply for
  memory objects created mid-frame and so without any initial contents.
2025-09-16 17:07:08 +01:00
baldurk 157941e31f Split shader/program labels in pipeline state views up to wrap better
* If program or shader names are very long then combining them can cause
  problems with how wide the widgets get. Splitting each element into a label
  that can wrap around and be truncated individually produces better behaviour.
2025-09-16 16:30:53 +01:00
baldurk b9b8fe4b1b Claim proper contents margins for height of RDLabels with rich text 2025-09-16 16:29:57 +01:00
baldurk 511c33c52a Handle Expanding policies in flow layouts 2025-09-16 16:29:25 +01:00
baldurk 0a6a8e763a Fix overly aggressive check for UAV clears not accounting for depth 2025-09-16 11:19:14 +01:00
baldurk 2fd7cd94e3 Only consider active lanes when choosing the candidate compute thread 2025-09-15 10:27:39 +01:00
baldurk 7c5b76dcad Change subgroup zoo to use a triangle list instead of strip
* This produces more consistent subgroup thread assignments in the vertex
  shader.
2025-09-11 14:09:53 +01:00
baldurk fb6d4735b3 Do not redeclare __new__ in python stubs 2025-09-11 12:59:22 +01:00
baldurk d0b7d602a7 Fix the wrong type being declared for subgroupid 2025-09-11 12:55:21 +01:00
baldurk 0939abc3da Add a scoped log section that can be used with with: 2025-09-11 12:51:08 +01:00
baldurk f37b4ee631 Set correct array size 2025-09-10 20:58:19 +01:00
baldurk 493f4c2ec4 Create output folder when generating python stubs and run from any cwd
* Previously it only worked when ran from the docs folder
2025-09-10 15:05:39 +01:00
baldurk 8546876aed Ensure we can set ExecuteIndirect root constant values
* If the array isn't large enough we must resize it, this was already done for
  CBV/SRV/UAV root parameter sets.
2025-09-10 14:56:41 +01:00