Commit Graph

16643 Commits

Author SHA1 Message Date
Jake Turner 6fcd5f03db GL Shader Debugger support for interpolation qualifiers
flat
noperspective

Get the interpolation type from the SPIRV decoration
2026-01-20 06:24:06 +13:00
Jake Turner 1028a7b458 GL_Shader_Debug_Zoo Test for interpolation qualifiers
flat
noperspective
2026-01-20 06:24:06 +13:00
Jake Turner e19f0e9b72 GL Shader Debugger support for bool uniforms 2026-01-20 06:24:06 +13:00
Jake Turner 9678e09f3b GL_Shader_Debug_Zoo Test for uniform bool 2026-01-20 06:24:06 +13:00
Jake Turner ba10e3a380 Add D3D11 Deferred context to the ResourceManager
ResourceManager::Shutdown() will release it.
2026-01-20 06:24:06 +13:00
Jake Turner bd2a66b5f0 Add the D3D11 Immediate context to the ResourceManager
ResourceManager::Shutdown() will release it.
2026-01-20 06:24:05 +13:00
Jake Turner 5b44a2709b Use m_BakedCmdBufferInfo to test for push constant descriptor 2026-01-20 06:24:05 +13:00
Jake Turner b19a453a8c Fix Vk push constants using the wrong command buffer resource ID 2026-01-20 06:24:05 +13:00
Jake Turner bf99f6fb6e Treat ResourceId() as a replay only ID
This matches previous behaviour of GetOriginalID() used when checking for live IDs i.e.

(GetResourceManager()->GetOriginalID(id) == id)
2026-01-20 06:24:05 +13:00
Jake Turner 775a9c947f Vk shader editing: use unreplaced ID of the shader(s) in the pipeline 2026-01-20 06:24:05 +13:00
Jake Turner ee3b8cf76b Fix shader editing check for replay pipelines/programs 2026-01-20 06:24:04 +13:00
Jake Turner 1e39c9951e Always generate resources for D3D11 Proxy device 2026-01-20 06:24:04 +13:00
baldurk 9bef60d6c3 Display source variables mapped to OpUndef as <undefined value>
* Undefined values are still 0xccccccccc, since that value can propagate through
  operations. But source variables mapped directly to an OpUndef are displayed
  in a more semantically clear way.
2026-01-19 13:34:58 +00:00
qwmnerbvqwmn d32454e8ff Use UTF-8 encoding in shader viewer to fix character corruption 2026-01-19 19:20:14 +09:00
Remi Palandri c71f3d504b fix destroyed BDA buffers staying tracked 2026-01-19 19:18:08 +09:00
Jake Turner ef0d6737cc Fix GL GetShaderEntryPoints() when passed in resource is not a shader 2026-01-14 11:26:08 +13:00
MJP 72966f9ba0 Add proper casts when returning the wrapped command queue 2026-01-12 21:54:58 +09:00
MJP c8596542b6 Use proper interface pointer casting during D3D12 CommandQueue creation 2026-01-12 21:54:58 +09:00
MJP 79350fe512 Add missing IID checks for creating ID3D12CommandQueue1 2026-01-12 21:54:58 +09:00
Jake Turner 075870caf5 Fix replace all message showing N+1 replacements instead of N 2026-01-08 06:58:56 +13:00
Jake Turner 7782bc3452 Make VK_Graphics_Pipeline debugged pixel test fail instead of an error 2026-01-08 06:57:56 +13:00
Jake Turner b49291a611 Make enum RemoteServerPacket into enum class, move Count to the end 2026-01-07 09:10:06 +13:00
Sharlock93 2a1b67eeb6 Sorting array members in the Watch and High Level Variables window
This sets the offset of the VariableTag for array members in the watch
window. This ensures they are sorted correctly when displayed.
This also adds sorting by sourceVarIdx if the memebers are
globalSourceVars which fixes the sorting in the High Level Variables
window for built-in Variables
2026-01-06 02:31:07 +00:00
Jake Turner 5e286ad9b8 Original ID/Live ID fixups for Metal backend 2026-01-06 14:26:28 +13:00
baldurk 94df84d5d9 Remove ownership tracked list
* This list on replay is used to free all replay-created resources, but we can
  re-use the resource map for this.
2026-01-05 22:51:40 +00:00
baldurk 72a16ffa97 Merge live and current resource maps
* Only one is needed now that there's no distinction needed anymore.
2026-01-05 22:51:40 +00:00
baldurk 43cde7debd Remove GetLiveID entirely 2026-01-05 22:51:39 +00:00
baldurk 83919d9306 Remove GetOriginalIDs and naming/comments mentioning original IDs
* Original IDs are now always equal to live IDs.
2026-01-05 22:51:39 +00:00
baldurk 7710c7df1a Generate inline shader IDs during capture on D3D12 2026-01-05 22:51:39 +00:00
baldurk 351f287a59 Eliminate original/live ID distinction by respecify IDs on D3D12 2026-01-05 22:51:38 +00:00
baldurk d0aaad8f99 Eliminate original/live ID distinction by respecify IDs on D3D11 2026-01-05 22:51:38 +00:00
baldurk 6133590777 Eliminate original/live ID distinction by respecify IDs on GL 2026-01-05 22:51:38 +00:00
baldurk d2e3b9d26c Generate inline shader IDs during capture on vulkan
* This ensures they are stable, will not apply to old captures.
2026-01-05 22:51:38 +00:00
baldurk ce21a2dc35 Eliminate original/live ID distinction by respecify IDs on vulkan 2026-01-05 22:51:38 +00:00
baldurk 0c1bb18a1b Prepare to remove live<->replay resource id map lookups
* Resources will be given the ID to use on replay in order to match the original
  IDs. Any internal replay-time resources are given the same namespaced IDs as
  before.
* We add a new per-ID query to check if something is replay-only or not.
2026-01-05 19:11:21 +00:00
Jonathan Glines d03952a874 Fix crash in NVIDIA HasCounter() called without EnumerateCounters()
This fix avoids a NULL-pointer dereference when HasCounter() is called without
a preceding call to EnumerateCounters() for NVIDIA Nsight Perf SDK counters.
2026-01-06 00:26:37 +09:00
baldurk 8c97cfb7aa Ensure uniforms are updated on GL pixel history programs. Closes #3760
* When we replace a program, GL programs have *state* in the form of uniforms
  and so must be updated each time even if we retrieve the replacement from a
  cache.
2026-01-05 14:36:33 +00:00
baldurk 856c838def Update copyright years to 2026 and fix copyright ranges
* In a previous update in 2021 many copyright ranges were truncated
  accidentally, and some files have been copy-pasted with wrong years. These
  dates have been fixed based on git history and original copyright messages.
2026-01-05 14:17:28 +00:00
Jake Turner 2b0e143509 Change DXIL ShaderVarible construction for cbuffer variables
Fixes a crash trying to add a watch for these variables
2026-01-05 12:59:05 +13:00
baldurk 9e2be03e09 Only read sampler when unwrapping combined image/sampler descriptor 2026-01-03 16:41:44 +00:00
baldurk 084e1c5acc Fix depth resolve barrier in D3D12 renderpass api 2026-01-01 16:52:20 +00:00
baldurk f333d08bb4 Rename function to not use automatic-slot naming 2025-12-28 11:48:26 +00:00
Jasper St. Pierre f5c73155b5 d3d12: Implement ID3D12SharingContract on the ID3D12CommandQueue
https://learn.microsoft.com/en-us/windows/win32/api/d3d12sdklayers/nn-d3d12sdklayers-id3d12sharingcontract
says:

> You may want to use this interface to enable diagnostic tools to
> capture usage patterns that don't use DXGI swap chains for
> presentation. If so, you can access this interface via
> QueryInterface from a D3D12 command queue.

Currently, this is implemented on the ID3D12Device. Implement
it on the D3D12CommandQueue as well.
2025-12-28 20:25:18 +09:00
Jake Turner 1b5543e74f Fix D3D12 Compute Derivative Tests
Use groupId for the output buffer index to match the python
Only output results for workgroup 1,0,0

Do not reset test failing to false in check_compute_derivative_tests()
2025-12-22 09:03:33 +13:00
Jake Turner 411cb89106 Default current stage to VSIn when viewing Vertex Shaders 2025-12-22 07:49:09 +13:00
Jake Turner 6d89b15bc9 Fix D3D validation warning in ResolvePendingIndirectState()
D3D12 WARNING: ID3D12Resource3::ID3D12Resource::Unmap: pWrittenRange does not point to an empty D3D12_RANGE and the heap type is D3D12_HEAP_TYPE_READBACK. Readback resources can be written by the CPU but there's not much utility. The rationale is that readback heaps are stuck in COPY_DEST state such that the GPU can never use what the CPU is writing. The range [0, 4194304) should be empty (Begin >= End). [ EXECUTION WARNING #929: UNMAP_RANGE_NOT_EMPTY]
2025-12-20 07:27:33 +13:00
Jake Turner 3c407eee51 GetParentMarker: Search children if first child is less than eventId
Handle case where action->eventId > eventId but the action contains the event being searched for
2025-12-20 07:26:26 +13:00
baldurk 191e8cd10d Bump version to v1.43 2025-12-19 17:41:39 +00:00
Jake Turner e7f0b0ea67 DXBC Debugger fix for CalculateLevelOfDetailUnclamped
The LOD result has already been swizzed into result.x
v1.42
2025-12-14 08:13:05 +13:00
Jake Turner 3767d5da0c Added D3D11, D3D12 shader debug tests for CalculateLevelOfDetail* 2025-12-14 08:11:14 +13:00