Commit Graph
17570 Commits
Author SHA1 Message Date
baldurk e3c29f80cd Fix normal validation issues in vulkan tests
* Missing usage flags, invalid state creation/setting, invalid combination of
  LOAD op and UNDEFINED layout, etc.
2026-11-10 12:02:46 +00:00
baldurk eb8d0450a0 Don't add duplicate validation features structs
* This can happen if the test itself adds VK_EXT_validation_features
2026-11-10 12:02:46 +00:00
baldurk 77b4d531e5 Disable OBS during tests - it introduces validation errors 2026-11-10 12:02:46 +00:00
baldurk a73b9214a5 Prefer using spirv-as for assembly SPIR-V assembly if possible
* Since we no longer can link shaderc we have external dependencies anyway, most
  likely from the vulkan SDK. shaderc has never fixed the inability to apply
  target env to shader assembly so this means we can specifically target some
  SPIR-V versions.
2026-11-10 12:02:46 +00:00
baldurk 0a04b74e63 Reduce the number of descriptor sets in VK_Descriptor_Variable_Count
* This goes below the limit of what GPUVA will handle as a number of draws by
  default in one command buffer.
2026-11-10 12:02:46 +00:00
baldurk b345046d4a Ensure we delete all resources before test shutdown 2026-11-10 12:02:46 +00:00
baldurk 0b15a71e88 Move extra renderpass dependencies to helper creator
* This means we get the same benefit of syncing with clears/copies in test-
  created renderpasses.
2026-11-10 12:02:46 +00:00
baldurk 31cad11e3d Enable features/extensions in vulkan tests that we use 2026-11-10 12:02:46 +00:00
baldurk 46ea9dc0d7 Mute a couple of validation messages on vulkan tests 2026-11-10 12:02:46 +00:00
baldurk 4b338b447b Add helper for setting environment variable values
* Needed for vulkan layer control
2026-11-10 12:02:46 +00:00
baldurk 3e143508ed Remove VK_EXT_Buffer_Address test
* This extension is no longer supported by VMA so doesn't run cleanly. We could
  fix it up to do everything manually, but there's little point as it's clear
  now that this extension had a short lifespan and limited support, and is
  unlikely to be in use today in significant manner. We still support it in
  RenderDoc of course, but there's not much value in testing it specifically
  (and it wasn't auto-tested before)
2026-11-10 12:02:46 +00:00
baldurk ae2f8db399 Add option to hard-break on validation errors in tests
* On D3D we also start checking for leaking objects on shutdown (Vulkan this is
  done by default, GL we have no control over validation).
2026-11-10 12:02:45 +00:00
Jake Turner 5ebc85a6bd Add Action and Callbacks to vkCmdBuildAccelerationStructuresIndirectKHR 2026-11-10 10:43:37 +00:00
Jake Turner e0399b6ef9 Remove any semaphores when replaying vkQueueSubmit2
- this matches the behaviour of vkQueueSubmit
- if any submit has wait semaphores then a device wait idle will already have happened
2026-11-10 10:37:18 +00:00
Jake Turner 3211e1e0aa Added Vulkan helper GetLoadingEventNode()
- Asserts in loading state
- Added assert in loading state to GetLastEventNode()
2026-11-10 10:31:49 +00:00
Jake Turner ce216bd6a7 Added Vulkan helper AddEventResourceUsage()
- Adds the usage directly to m_LoadingEventNode
2026-11-10 10:20:06 +00:00
Jake Turner 0c319e9e41 Added helper function VulkanEventNode::AddResourceUsage 2026-11-09 08:18:53 +00:00
Jake Turner 7c7e913697 Fix VS2026 Release build linker error about missing symbol memset 2026-11-09 07:39:19 +00:00
Shahbaz Youssefi 2835a735cd Fix color mask display when color write enable is static
When the color write enable state (from VK_EXT_color_write_enable) is
not dynamic (i.e the extension is not used),
VulkanRenderState::colorWriteEnable was initialized from pipeline's
color mask info.  However, this information should be ignored if color
write mask is dynamic (with shader object / EDS3).

Instead, if color write enable state is not dynamic, it can be
implicitly considered to be true if VkPipelineColorWriteCreateInfoEXT is
not provided, or otherwise it's taken from that.

This change fixes the UI (and HTML export) where the color mask was
output as `____` in such situations regardless of what mask was
dynamically set.
2026-11-07 20:41:56 +09:00
baldurk 34fbfb4352 Add D3D11/Vk demos that do rasterization with no outputs
* They write directly to a buffer
2026-11-04 12:25:03 +00:00
baldurk fd09bb3f4c Add a dialog for directly-launching pixel shader debug. Closes #3422 2026-11-04 12:25:03 +00:00
Jake Turner 282b28b3a3 Reset parent command buffer RenderState after executing a secondary 2026-11-03 12:58:23 +00:00
Jake Turner bf6fe56c5b VK_Resource_Usage improvements
- add secondary commands buffers to Submit() calls so they get put back into the command buffer pool
- fix validation error about renderEndSemaphore
- fix sync validation errors
- add more names to objects
- fix some incorrect names
- move the pipeline bind to after marker "DrawIndirect: Single"
- add marker to start and end of EIDS which should be tracked for resource usage
- add a per frame update descriptorset
- bind compute descriptor sets before binding compute pipelines

- Remove hard coded EIDs from VK_Resource_Usage python
2026-11-03 10:52:15 +00:00
Jake Turner e55f7a5497 DXBC Debugger: perform addition in OPCODE_UADDC 2026-11-03 07:58:14 +00:00
baldurk b23be092cf Fix compilation on older Qt versions 2026-11-02 17:31:20 +00:00
baldurk f039dcdefc Add a filtering system for the constant buffer viewer. Closes #3889 2026-11-02 16:36:36 +00:00
baldurk aa42dd6e45 Fix vulkan capture open progress bar being stalled for much of the read 2026-11-02 14:45:04 +00:00
baldurk 3067fc8259 Improve visual spacing on event browser toolbars 2026-11-02 14:15:07 +00:00
baldurk 5c76c20d92 Don't clamp mesh vertex count by unused vertex buffers 2026-11-02 13:32:51 +00:00
baldurk 0a2278d5ea Ensure interface names better match between debugging and reflection 2026-11-02 12:29:06 +00:00
baldurk 1d83c25876 Bump version to v1.48 2026-10-31 15:50:50 +00:00
Jake Turner b0e1370309 Fixup EventBrowser support for handling filtering in StepNext/Prev
- Use the CurAction() if the selected/effective EID are not valid
v1.47
2026-10-30 12:03:43 +00:00
Jake Turner a679886609 Update the Prev/Next buttons state on capture load
- added helper updateStepNextPrevButtonState() to unify setting the state
2026-10-30 11:38:57 +00:00
baldurk b0c749c86c Use correct context for shader debugging programs 2026-10-29 17:33:21 +00:00
baldurk 8e0a313621 Fix potential crash if an empty set of states is debugged 2026-10-29 17:33:21 +00:00
baldurk 29822109bd Set GL marker regions on consistent context 2026-10-29 17:33:21 +00:00
baldurk d059e150b6 Bind shader debug program for uniform setting 2026-10-29 17:33:21 +00:00
baldurk 2c39ab7138 Don't fetch sampler properties for texture buffer bindings 2026-10-29 17:33:21 +00:00
baldurk 10f9c2b471 Properly push and pop copy read buffer binding 2026-10-29 17:33:21 +00:00
baldurk 682a9b2c13 Use other name for debug sampling UBO 2026-10-29 17:33:20 +00:00
baldurk 31479b886a Ensure GL_Shader_Debug_Zoo is compiled into tests 2026-10-29 17:33:20 +00:00
baldurk b1620e0ae5 Use matching name for GL input/output variables
* GL doesn't use location matching due to it not being supported always.
2026-10-29 17:33:20 +00:00
baldurk d4f5a7e3ac Use correct GLSL version to compile debug sampling shader 2026-10-29 17:33:20 +00:00
baldurk 363cc7c29e For sanity only restore hooking env vars if we have something to restore
* If things went drastically wrong, better to leave these alone than set to
  empty.
2026-10-29 17:33:20 +00:00
Jake Turner 16a859d4f7 Fix GLES texdisplay fragment shader compile errors 2026-10-28 06:17:14 +00:00
baldurk 930452532b Remove redundant OnEventChanged calls in buffer viewer 2026-10-27 14:32:14 +00:00
baldurk d014cc6a7c Don't double-delete buffer if aborting buffer fetch while UI is closed
* buf was just pushed into the config which takes care of self-deleting when it
  is deref'd.
2026-10-27 14:12:27 +00:00
baldurk 205bfd5e4f Check fully dynamic attachment setup doesn't break 2026-10-27 12:26:20 +00:00
baldurk 41a17ba6f7 Don't set shader path tag when not available 2026-10-27 12:22:57 +00:00
baldurk 7abab64151 Add a global value to GL_Shader_Debug_Zoo
* This produces unique debug info for 'executable' code
2026-10-27 11:51:39 +00:00