Commit Graph
11875 Commits
Author SHA1 Message Date
Jake Turner e48450cc53 ImageViewer get the Custom Texture Description from the proxy
Use the cached Texture Description for all other Textures which matches the behaviour of GetTextureData()

When saving a texture when a custom visualisation shader is in use:
- fixes a crash when saving as HDR or EXT
- fixes incorrect image saved to DDS
2026-03-13 10:27:41 +00:00
Jake Turner 0fd4e8cff7 Fix EID being wrong if vkQueueSubmit has multiple submit infos
Move the m_RootEventID-- to outside the loop over the number of submits
2026-03-12 13:02:12 +00:00
Artem Kharytoniuk 195a4e6d6b Detect unused fields in VkDescriptorImageInfo
The Vulkan specification allows to have uninitialized fields in
VkDescriptorImageInfo based on descriptor type. Such fields should not
be touched by the implementation (which includes drivers, validation
layers and tools).
2026-03-12 20:52:05 +09:00
baldurk 71704d2885 Rejig to avoid cast that some compilers might warn on 2026-03-11 23:27:29 +00:00
baldurk dc82c117f5 Fix edge case of bitfield extract with count == numbits. Closes #3813
* This is only legal if offset is 0 and so degenerate, but it is valid and needs
  to be handled.
2026-03-11 22:43:24 +00:00
baldurk faf3e01248 Command annotations do not produce EIDs 2026-03-11 22:26:54 +00:00
baldurk c2147b0233 Clarify that most info is unavailable for pixel history on secondaries
* Also fix a potential crash if dynamic rendering is used in secondaries.
2026-03-10 12:40:02 +00:00
baldurk 9ab2b12c60 Note if dynamic rendering is active in a secondary 2026-03-10 12:24:37 +00:00
baldurk c984ff829a Fix crash if application submits the same command buffer multiple times
* Proper applications should not do this within a frame but it is legal and some
  may.
2026-03-09 12:36:13 +00:00
baldurk da56cab59d Rename vector members in annotations to preserve order 2026-03-09 10:06:10 +00:00
baldurk ef663a70e6 Set descriptor set for push descriptor serialise to check valid members 2026-03-05 10:33:38 +00:00
Jake Turner d0b7ff8b60 Change Spirv debug wrapper to have thread safety for input variables
FillInputVariable : can be called from any thread but the input variable data must be marked as read only
Made the input variable data containers private with a writable accessor
Mark the input variable data as read only just before calling BeginDebug
2026-03-04 07:29:20 +00:00
baldurk 6b6480fafb Fix detection of semantic arrays to not falsely merge separated elements
* It's impossible to distinguish a separate TEXCOORD0 and TEXCOORD1 from an
  array at TEXCOORD0. However making this an array by that same logic is fine.
  We can't make an array though if there is another element in between they must
  be contiguous.
2026-03-03 18:05:57 +00:00
baldurk c5df93bbfa Check for samplers potentially being garbage in descriptor updates
* If immutable samplers are used the sampler parameter of a descriptor update
  could be garbage. Checked for elsewhere but not handled in descriptor update
  template unwrap.
2026-03-03 17:54:46 +00:00
Jake Turner 0b9465fff8 Make pixel history pre mod invalid for events after BeginCustomResolve
Fix validation errors in pixel history related to custom resolve events
2026-03-03 16:53:14 +00:00
Jake Turner 604ef86c34 Move custom resolve FillWithDiscard to BeginRendering
Not valid to call it while the render pass is open
2026-03-03 16:53:14 +00:00
baldurk 8e788719c1 If bindless root sig is created mid-capture, force ref resources then 2026-03-03 14:10:13 +00:00
baldurk f49a394ed3 Add extra device idle before vulkan present 2026-03-03 14:10:08 +00:00
baldurk 4151720bdc Flatten user spec constants when debugging shaders. Closes #3803 2026-03-02 15:26:44 +00:00
baldurk 4287c87561 Prioritised library-local path over executable-adjacent paths 2026-03-02 15:26:44 +00:00
Jake Turner 3b8f8989be Support VK_EXT_custom_resolve extension 2026-03-02 13:32:19 +00:00
Jake Turner 5c63bfa417 Serialisation support for VK_EXT_Custom_Resolve structures 2026-03-02 12:49:17 +00:00
Jake Turner bb4baec204 Fix Vulkan Wireframe overlay fallback when fillModeNonSolid is false
Change the RenderState properties after calling PatchLineStripIndexBuffer()
Mark the draw as an Indexed action
2026-03-02 09:12:37 +00:00
Jake Turner baec22490f Add a missing end command buffer to Vulkan Triangle Size
Triggered if the built in shaders for Triangle Size are invalid
2026-03-02 09:12:25 +00:00
papalqi c5f8f43d6a OpenGL: fix ddy_fine macro in shader debugger quad swizzle 2026-03-01 23:22:10 +09:00
Trung Lê d217893e06 Add ppc64le architecture support for ptrace process tracing
On ppc64le (PowerPC 64-bit little-endian), the register struct is
pt_regs (from asm/ptrace.h) rather than user_regs_struct, and the
instruction pointer register is 'nip'. Without this, the code falls
through to the x86 #else branch which fails to compile because
user_regs_struct does not exist on ppc64le.

Define the appropriate macros:
- Map user_regs_struct to pt_regs
- Set INST_PTR_REG to nip
- Set BREAK_INST to 0x7fe00008 (ppc64 trap instruction)
- Set BREAK_INST_BYTES_SIZE to 4
- Set BREAK_INST_INST_PTR_ADJUST to 0
2026-02-28 23:17:27 +09:00
baldurk 4afec0d8af Bump version to v1.44 2026-02-27 16:33:16 +00:00
Jake Turner 9b0532079d Fix constant type for baseVertex & vertexOffset in postvs 2026-02-27 11:33:32 +00:00
Alexander Obzherin c3142d1fc6 FreeBSD: implement threading backend (name, cores, semaphore) 2026-02-26 20:13:07 +09:00
Alexander Obzherin 60511ab657 FreeBSD: fix FunctionLoadCallback signature 2026-02-26 20:13:07 +09:00
baldurk b84a42da6f Fix typo left in by accident 2026-02-25 12:20:15 +00:00
baldurk cab8c4f649 Only try to read annotations when capturing
* This iterator will be invalid on replay
2026-02-25 11:32:59 +00:00
baldurk fb57ff7dba Fix typo of casing on cmake-generated layer json 2026-02-24 11:45:30 +00:00
Jake Turner 7bd3fe38f7 DXBC Shader Debug logging tidyup
Show
"Found debug data in the shader"
instead of
"Found debug data in the shader ''"
2026-02-23 14:41:40 +00:00
Jake Turner 4a30e1ad8a Fix typo in name GetInitialShaderBob() -> GetInitialShaderBlob() 2026-02-23 11:39:22 +00:00
Jake Turner 2815523744 D3D12 Mesh Dispatch PostVS show error when mesh buffer is too large 2026-02-23 11:02:42 +00:00
Jake Turner f9a3cf6193 Check for PackedVectorFormat in SPIRV debugger interger dot products 2026-02-23 11:02:42 +00:00
baldurk 71d251294c Use memmove for potentially overlapping copies
* The first couple of pixels will overlap
2026-02-20 13:39:07 +00:00
baldurk 2db8fef33e Ensure we have properly generated IDs for inline shaders 2026-02-18 13:42:04 +00:00
baldurk d1ec8ad622 Store and lookup shader data for aftermath dumps 2026-02-16 15:52:44 +00:00
baldurk edbcd6d592 Clear deferred descriptor buffer copies after executing them
* We don't want to do these copies multiple times, similar to indirect copies.
2026-02-16 15:08:08 +00:00
baldurk 5a00a246c4 Ignore VUID about access masks in pipeline barriers 2026-02-16 15:07:02 +00:00
baldurk 6cc38286ee Remove unused lambda capture 2026-02-13 16:08:58 +00:00
baldurk 8d27883043 Generate unique layer name for vulkan layer
* When self-capturing the loader now requires a unique name even if the enable
  var is different.
2026-02-13 15:27:47 +00:00
baldurk e8e20a7444 Fix potential race in memory free code on shutdown 2026-02-13 13:54:36 +00:00
baldurk 1f05fc8564 Fix potential early deletion of replay-time command buffers
* We want these command buffers to be around long enough so that we can do
  GetResID() to get m_LastCmdBufferID etc. If we delete them as soon as possible
  then an early flush (e.g. with single submit flushing enabled) could destroy
  the command buffers and lose our tracking of their IDs.
* Deferring to the next full replay won't leak much and will still keep them
  around long enough.
2026-02-13 13:38:06 +00:00
baldurk e3b4ff8395 Update vulkan headers to 1.4.343 2026-02-13 13:06:20 +00:00
baldurk f1a57ff64a Update SPIR-V headers to latest 2026-02-13 13:06:19 +00:00
baldurk a4b8179794 Fix query tracking to be per-cmdbuf on replay. Closes #3797 2026-02-13 13:06:19 +00:00
Jake Turner 8f82b17705 Fix Spirv Debugger Op::ImageRead of an MSAA subpass texture
The MSAA sample index was not being applied
2026-02-13 07:40:50 +00:00