Commit Graph

16874 Commits

Author SHA1 Message Date
Jake Turner fb8d1e0ed8 Extend VK_Resource_Usage test
A specific demos test instead of using the VK_Simple_Triangle demo

* No Descriptor Set: Draw, DrawIndexed
* Descriptor Set: Draw, DrawIndexed
* Descriptor Buffer: Draw, DrawIndexed
* Secondary Command Buffer: No Descriptor Set: Draw, DrawIndexed
* Nested Secondary Command Buffer: No Descriptor Set: Draw, DrawIndexed
* Descriptor Set: Compute Dispatch
* Descriptor Buffer: Compute Dispatch
* Secondary Command Buffer: Descriptor Set: Compute Dispatch
* Nested Secondary Command Buffer: Descriptor Set: Compute Dispatch
2026-03-31 15:49:46 +01:00
Jake Turner 3f57669509 Include parent command buffer flags in test for an active render pass
If the parent command buffer was begun with VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT then that implies an active render pass to propagate to the child command buffer.

Fixes incorrect error report in nested command buffers:
"Executing a command buffer with RENDER_PASS_CONTINUE_BIT outside of render pass"
2026-03-31 14:44:17 +01:00
Jake Turner a33b203f6c Replay create descriptor buffer buffer if failing to create wholeMemBuf
Apply similar fix done at capture time (75acc706f7) to replay
2026-03-31 11:38:43 +01:00
Jake Turner eb30aebfdf Add more overloads for VulkanGraphicsTest::setName 2026-03-30 13:27:30 +01:00
Jake Turner 3d9099bc78 Assign flags in vkh::ComputePipelineCreateInfo constructor 2026-03-30 13:27:21 +01:00
Jake Turner e4459b961b Secondary cmd buffers only add parent framebuffer usage to draw actions 2026-03-30 08:30:47 +01:00
baldurk 18e6d68772 Remove nvidia workarounds that have been fixed before or in 591
* Two of these were fixed in slightly earlier versions but the cutoff doesn't
  need to be exact, this major version is ~4.5 months old as of the time of
  this commit.
* The pipeline rebind workaround was likely fixed years ago.
2026-03-26 10:58:12 +00:00
Jake Turner 759f1734ac Fix Validation Warnings in VK_Descriptor_Heap 2026-03-26 08:38:41 +00:00
Jake Turner 0582078a9e Fix up some minor C++ linter warnings in DXIL Debug source files 2026-03-25 11:49:28 +00:00
widberg 6aca8fac04 Fix CheckHookThread calling convention
`CreateThread` expects `lpStartAddress` to be a function with the
signature
DWORD WINAPI ThreadProc(
  _In_ LPVOID lpParameter
);
on Win32 `WINAPI` is `__stdcall`, but `CheckHookThread` previously
had the effective signature
DWORD __cdecl CheckHookThread(LPVOID param);
because the calling convention was unspecified. The cast that was hiding
this error is also removed.
2026-03-25 00:31:43 +09:00
widberg feb00dc235 Add missing comma
Without the comma, this
"igvk32.dll",
"igvk64.dll"
"igxelpgicd32.dll",
"igxelpgicd64.dll",
becomes
"igvk32.dll",
"igvk64.dlligxelpgicd32.dll",
"igxelpgicd64.dll",
2026-03-25 00:31:43 +09:00
widberg 9ebfb6a1bc Remove #pragma once outside header 2026-03-25 00:31:43 +09:00
widberg c3dcdee57c Remove incorrect typename
T::IsForwardReferenceable is a static boolean member, not a type.
2026-03-25 00:31:43 +09:00
widberg 8396ceabd7 Add enum underlying type
The forward declaration of InterpolationMode already included its
underlying type. This commit does the same for ResourceRetType and
ResourceDimension.
2026-03-25 00:31:43 +09:00
widberg ec8f1d51f5 Move alignas
Placing `alignas` before the type is more in-line with the C++ standard,
Microsoft Learn examples, and other places in this codebase. While the
old way worked with MSVC, this is more consistent and improves
compatibility with other tools without affecting the MSVC build.
2026-03-25 00:31:43 +09:00
baldurk 3f08b821e5 Remove file from installer reference 2026-03-24 09:48:24 +00:00
Jake Turner 7946282ad3 Do not read baked command buffer info with ResourceId()
Avoid creating a default entry in the map
2026-03-23 12:01:14 +00:00
Jake Turner 7383432a26 In ReplayQueueSubmit always advance m_RootEventID, m_RootActionID
Explicitly check for a valid command buffer Id instead of relying on m_LastEventID > startEID check to fix reading baked command buffer when selecting vkQueueSubmit
2026-03-23 09:40:05 +00:00
Jake Turner 5e5230ddbd Do not read baked command buffer info when selecting vkQueueSubmit Event
The command buffer id will be 0 which will make an empty entry in the map.
The submit will be skipped because startEID >= m_LastEventID.
Add asserts to catch invalid command buffer ID being used during ReplayQueueSubmit()
2026-03-20 08:57:38 +00:00
Jake Turner 533debb940 Fix Vulkan resource usage EIDs for events without an action
Change resource usage EID offset for events without an action to match usage EID offset for events with an action.

Simplify EID offset when adding events without an action.

Closer match to the D3D12 implementation.
2026-03-19 16:03:56 +00:00
Jake Turner e53f27ef06 Added VK_Resource_Usage to check resource usage without a replay 2026-03-19 16:03:56 +00:00
Jake Turner f77ab6bd29 Remove ResourceUsage member view (which was optional)
No longer used anywhere
2026-03-19 09:37:03 +00:00
Jake Turner 6b16b327f2 Remove use of ResourceUsage view parameter from vk pixel history
Don't early ignore events by using the ResourceUsage view parameter, test the event for any modification.
2026-03-19 09:37:03 +00:00
Jake Turner 8fcbe0c2c2 Remove use of ResourceUsage view parameter from D3D11 pixel history
When doing history on depth targts, for ClearDepthStencil events, generate the DepthStencilView dimension from the depth target resource description instead of using the ResourceUsage view member.

Don't early ignore events by using the ResourceUsage view parameter, test the event for any modification.
2026-03-19 09:37:03 +00:00
baldurk d02d3de052 Add observed new NV 51:13 UBO descriptor format on 50 series
* The address is 64-byte aligned so shifted by 6, and the range 16-byte aligned
  so shifted by 4.
* The max UBO range is still 64k so 13 bits is 1 more than needed to represent
  all ranges.
2026-03-17 14:06:49 +00:00
baldurk dc8d61b028 Only fetch initial states for occlusion query heaps 2026-03-16 23:48:24 +00:00
baldurk aebb1f90ee Fix AoS output in mesh viewer being incorrect with mesh shaders
* This would generally only come up with gl_PerVertex, and was hidden before
  because gl_Position is the first member. It likely would also reproduce if a
  user had a struct output from the mesh shader.
2026-03-16 15:12:30 +00:00
baldurk 4f3fc2f0ff Remove unused indextype that is invalid for points. Refs #3816 2026-03-16 14:05:32 +00:00
baldurk 705ab0ea51 Tight alignment D3D12 bug workaround should apply to textures as well 2026-03-16 11:50:21 +00:00
baldurk 507a34d0fb Handle root signatures that alias our own
* We deduplicate on capture, but out root signatures are created before the
  replay so we use a replacement to handle that.
2026-03-16 11:49:41 +00:00
baldurk b157bd509d Reduce the timeout for auto-locking issues 2026-03-15 17:19:10 +00:00
baldurk ecfa3f2eb3 Change copy mode for qrenderdoc dependencies to Always
* This doesn't trigger a rebuild if nothing else has changed, but it does mean
  these files can't be customised without going through the build process as
  they'll be overwritten on any rebuild. It looks like IfDifferent doesn't work
  properly or maybe isn't available on all msbuild versions.
2026-03-14 12:36:02 +00:00
baldurk 7bb20b1d3a Fix for linux macro #define minor() 2026-03-14 10:31:47 +00:00
baldurk 74f895f650 Remove file that confuses old cmake 2026-03-13 21:41:23 +00:00
baldurk a3e8451857 Update CMakeLists.txt for new glslang files 2026-03-13 21:30:22 +00:00
baldurk 403725f69f Check global handle from correct object in extension loading 2026-03-13 18:21:33 +00:00
Jake Turner 337f5f20e5 Update VK_Parameter_Zoo test to macth the extra submit in the test 2026-03-13 17:31:17 +00:00
baldurk 1730e6b5af For callable docstrings allow either std::function or Callback typedef 2026-03-13 13:07:44 +00:00
baldurk 109e524d5c Improve cross-module references in docstrings 2026-03-13 13:07:44 +00:00
baldurk fc85e44a06 Output stderr as warnings, not necessarily errors 2026-03-13 13:07:44 +00:00
baldurk a72ea34c6c Don't use sys.stdout to find global handle
* Instead store sys._renderdoc_internal that won't be overwritten.
2026-03-13 13:07:44 +00:00
baldurk 6e3a0201a8 Determine python version from python module directly 2026-03-13 13:07:44 +00:00
baldurk d32b8a0371 Fix compatibility with python 3.14 2026-03-13 13:07:44 +00:00
baldurk 34b2cfdc40 Copy qrenderdoc dependencies if different during build 2026-03-13 13:07:44 +00:00
baldurk 08d2fa96b6 Fix for compiling on 32-bit without if constexpr 2026-03-13 13:07:44 +00:00
baldurk 1f10092108 Fixes to glslang for compiling on Android and linux 2026-03-13 13:07:43 +00:00
baldurk 2054748153 Add custom glslang feature to allow specifying I/O automap base location 2026-03-13 11:40:18 +00:00
baldurk 9a6981b015 Allow glslang global lock to be used during process teardown
* During capture we may have to shutdown glslang from inside a global
  destructor, we need to ensure the lock is still valid.
2026-03-13 11:40:18 +00:00
baldurk 6cf068670f Add macro helper to glslang for new C++ attributes 2026-03-13 11:40:18 +00:00
baldurk 4046052d16 Warning fixes in glslang
* These could likely be upstreamed but are extremely minor (just silencing
  warnings, not fixing issues) and we will have local changes either way.
2026-03-13 11:40:18 +00:00