baldurk
9255c00c7a
Check descriptor buffer features and enable capture/replay feature
2025-07-30 22:10:23 +01:00
baldurk
8529250746
Only allow descriptor buffer if cap/replay bit & descriptor sizes allow
2025-07-30 22:10:23 +01:00
baldurk
9545e6f27b
Add specific annotation for GPU address serialised values
2025-07-30 22:10:22 +01:00
baldurk
0f96fd3f0c
Add next chain handling and structure unwrapping for descriptor buffers
2025-07-30 22:10:22 +01:00
baldurk
87927b4c7a
Add stubbed functions and hooks for EXT_descriptor_buffer
2025-07-30 22:10:22 +01:00
Kanglai Qian
78862bfce7
avoid erase map's end
2025-07-30 18:21:40 +09:00
baldurk
06eaf5a33a
Fetch buffer usage flags correctly from extended flags
2025-07-29 21:43:31 +01:00
baldurk
a7378e525e
Merge descriptor ranges correctly in GetDescriptors calls
2025-07-29 21:43:31 +01:00
baldurk
722df90e7b
Don't fill AS descriptors if AS extension is not available in demo
2025-07-29 21:43:31 +01:00
baldurk
e7f10d3a84
Detect differences in opaque capture address and fail capture load
...
* This should not happen, the vulkan spec guarantees that this function must
return the same value passed in if there was one, and this can help detect BDA
addresses moving.
2025-07-29 21:43:31 +01:00
baldurk
25adde711a
Enforce extra alignment on AS buffers in demo
2025-07-29 16:44:08 +01:00
baldurk
e11f3036d8
Destroy query pools on shutdown
2025-07-29 16:43:09 +01:00
baldurk
d1ce4ac412
Ignore VUID-vkAcquireNextImageKHR-semaphore-01779
2025-07-29 16:43:05 +01:00
baldurk
259225cacb
Apply workaround for presumed windows bug with BDA capture/replay
...
* This replaces the previous workaround disabling BDA capture/replay on
dedicated image memory, as that is not feasible with future functionality and
appears not to be the source of the bug seen before.
* Although this is believed to be a windows bug, it only manifests on NV so is
treated as an NV bug for now. A future NV driver should contain a workaround
for this so it can be disabled later.
2025-07-29 15:32:33 +01:00
baldurk
3be544c51d
Prevent infinite recursion when processing includes for shader edits
2025-07-29 13:05:07 +01:00
baldurk
c1138e20c5
Handle debugging PS with unwritten inputs
...
* If a VS-PS declares a struct but there is an element which is declared but
never written in the VS (and never read in the PS) then we can't read from it
and must skip that element.
2025-07-29 13:04:43 +01:00
Cam Mannett
15a19eb507
Serialise GLSL shader processing
...
During Android >=15 app start android::uirenderer (i.e. the renderer for the APK's 'window') creates a VkInstance and VkDevice before the app does but after our layer has initialised. This is fine in principle because RD doesn't support multi-device capturing so the latter just replaces the former - unfortunately though the built-in shader construction is already underway at this point across the multiple threads. glslang's shader preprocessing is not threadsafe causing intermittent aborts and segfaults.
I haven't seen this on any app other than the RD demo app, presumably because 'real' apps take much longer to start up effectively serialising the shader processing.
2025-07-28 14:52:13 +01:00
Lizzie
8649146147
fix for solaris
2025-07-23 09:00:35 +01:00
Jake Turner
d3a140d484
DXIL Debug data handling for inherited struct/class
2025-07-21 18:23:37 +01:00
Jake Turner
4ac2861e2b
DXIL Shader Debug Data test for struct inheritance
...
struct TestGrand
{
int3 i3;
int2 i2;
};
struct TestParent : TestGrand
{
int4 i4;
};
struct TestChild : TestParent
{
int i;
};
2025-07-21 18:23:37 +01:00
Jake Turner
a120fc0871
Add DXIL callstack generation handling for DIBase::Namespace
2025-07-21 14:43:46 +01:00
Jake Turner
fa1a7b35cd
Defensive coding for handling unpexecteded DXIL debug data
2025-07-21 14:43:20 +01:00
Jake Turner
08696443a0
Added workgroup performance tests and basic D3D11 Workgroup test
...
Added D3D11_Workgroup_Zoo, D3D12 Workgroup Zoo, Vk Workgroup Zoo performance tests
Performance tests primarily for performance testing workgroup debugging speed
Changed workgroup and subgroup result variable from "data" -> "testResult" to help to reduce conflicts
2025-07-21 09:16:56 +01:00
Andrew Marshall
c612fdeb29
remove superfluous changed for macos build
2025-07-18 16:20:56 +01:00
Andrew Marshall
b7612d8c9c
cmake fixes for MacOS SDK 15.5 build (AppleClang 17)
2025-07-18 16:20:56 +01:00
baldurk
01115b3126
Detect cases where vectors are misaligned only in arrays. Closes #3644
...
* Scalar layout is required for vectors to straddle 16-byte boundaries but this
may not be detected if they are naturally aligned within an otherwise mis-
aligned struct.
2025-07-15 11:28:15 +01:00
baldurk
44e2fbfa2c
Fix errors in pedantic C mode. Closes #3645
2025-07-14 11:22:14 +01:00
Jake Turner
2dcecf689b
Set ThreadName for JobSystem worker threads to "JobWorker XX"
2025-07-13 09:26:33 +01:00
baldurk
98c2e94385
Switch to python script for CI VS install that might magically work
...
* Also for diagnostic purposes, print whether the installer succeeded
2025-07-11 11:06:12 +01:00
baldurk
279379c3be
Fix potential trample in trie re-using leaf
2025-07-10 17:52:30 +01:00
baldurk
095556663d
Try to improve linux pretty printers as much as possible
...
* These are not as good as natvis but better than nothing... maybe
2025-07-10 17:52:27 +01:00
baldurk
b5d3cf07a3
Expand test to include array-indexing ASs as well as NULL AS
2025-07-10 17:52:23 +01:00
baldurk
378474d79c
Disable bounds testing on inline UBO in descriptor
...
* Inline UBOs do not have bounds checking/robust access
2025-07-10 17:52:23 +01:00
baldurk
d04306bb92
Check for/require sample rate shading for depth MSAA copy shader
2025-07-10 17:52:23 +01:00
baldurk
62c2747169
Give each AS build its own scratch space in demo
2025-07-10 17:52:23 +01:00
baldurk
6c5b6177dc
Query for supported mutable descriptor types in demo
2025-07-10 17:52:23 +01:00
Jake Turner
5f2d07f921
Initialise output window semaphore to VK_NULL_HANDLE
...
In case CreateSemaphore() fails and the semaphore is not valid which could lead to a problem/crash in DestroySemaphore
2025-07-10 07:52:38 +01:00
Jake Turner
eede382884
Vulkan Shader Feedback clamp BDA offset to maximum byte offset
...
This will include any byte offset the feedback slot has
For non-BDA clamp the ssboindex to the maximum array index
2025-07-09 14:35:48 +01:00
baldurk
3e70a37fac
Add test of descriptor buffer
2025-07-09 09:57:56 +01:00
baldurk
ff711346f3
Treat read-only DSVs as depth writes disabled for overlays on D3D
2025-07-08 13:37:48 +01:00
baldurk
82e963550a
Display read-only DSVs more clearly in D3D pipeline state
2025-07-08 13:37:37 +01:00
baldurk
4f0356d7f4
Don't use sleep for test compilation at all, rely on pclose to wait
2025-07-08 12:22:36 +01:00
Jake Turner
e4e1e27814
Use const reference array for GetThreadRefs()
...
Small optimisation
2025-07-07 10:24:04 +01:00
Jake Turner
c00de7e15e
Expose ControlFlow::Tangle::GetId()
2025-07-07 10:24:03 +01:00
Andrew Marshall
951e678de1
disable mismatched new-delete warning from GCC 11.1 (false positives)
2025-07-04 17:56:53 +01:00
baldurk
0293487eb8
Properly handle D3D11 constant buffers with a 0 range specified
2025-07-04 14:10:51 +01:00
baldurk
4ec453bd76
Use annoying encoded markers when DRED is enabled
...
* By design DRED does not interpret normal markers :(
2025-07-04 11:08:24 +01:00
baldurk
f94a479939
Fix a potential crash while closing a capture
2025-07-04 10:16:53 +01:00
Jake Turner
1391136509
Fix DXBC Debugger OPCODE_SYNC GSM incorrect bounds for large arrays
...
Number of components is gsmStride/sizeof(uint32_t)
2025-07-03 12:25:55 +01:00
Jake Turner
a81380d800
Extend D3D12_Shader_Debug_Zoo GSM test
...
Include a large groupshared variable (2D Array)
Call GroupMemoryBarrierWithGroupSync()
groupshared int gsmInt2DArray[2][1024];
2025-07-03 12:25:55 +01:00