Commit Graph

13958 Commits

Author SHA1 Message Date
baldurk fb26326624 Ensure D3D12 barrier API is kept happy by matching access to layout 2023-07-26 11:57:28 +01:00
baldurk 9e7210611b Fix disassembly for arrays of pointers having wrong type declaration 2023-07-25 17:47:09 +01:00
baldurk 6e0ea69011 Account for arrays of pointers when calculating buffer offsets 2023-07-25 17:47:09 +01:00
baldurk 8a4735e6dc Use correct size for basic types when calculating cbuffer sizes 2023-07-25 17:47:09 +01:00
Kanglai Qian 36e5581d2a avoid get color_read_* with depth format 2023-07-25 13:40:45 +01:00
Jake Turner 9f72b87bc7 Fix Android Vulkan capturing
Add __attribute__((visibility("default"))) to VK_LAYER_EXPORT on Android.
It used to be defined in the Vulkan headers and changed when the update to the latest Vulkan headers was integrated in 5118f08e23
2023-07-25 06:30:10 +01:00
Jake Turner 1301d90418 GL Pixel History small code clean up in CalculateFragmentDepthTests
Move constant out of inner loop.
Remove if test for depth test being enabled and set the depth function to GL_ALWAYS if the depth test is disabled.
2023-07-24 18:35:50 +01:00
Jake Turner abba66ea10 GL Pixel History set preMod.depth before call to QueryPostModPerFragment
Copy the postMod depth to next history's preMod depth.
The preMode depth is used to prime the depth buffer in QueryPostModPerFragment.
2023-07-24 18:35:50 +01:00
Jake Turner 6314c525f9 Use GL_ANY_SAMPLES_PASSED instead of GL_SAMPLES_PASSED Closes #2972
GL_SAMPLES_PASSED is not supported by GLES.
The pixel history test is already using a 1x1 scissor test, GL_ANY_SAMPLES_PASSED should be the same as GL_SAMPLES_PASSED.
The pixel history logic is only testing for non-zero passing samples, the precise value is not used.
2023-07-24 06:37:32 +01:00
Jake Turner 47d25b141f Workaround nVidia crash in SetGraphicsRoot32BitConstants replay
When Num32BitValuesToSet = 0, set valid dummy pointer for pSrcData.
nVidia driver crashes if pSrcData is NULL.
2023-07-22 16:04:04 +01:00
Jake Turner f56a989e4f Add Qt:WindowStaysOnTopHint to resource preview Closes #2971
Qt on Ubuntu 23.04 includes https://github.com/qt/qtbase/commit/f9e4402ffe, which during show() under certain scenarios (for example Qt::ToolTip windows) would destroy and recreate the xcb window.

Adding Qt:WindowStaysOnTopHint to the window flags for ToolTip windows prevents the xcb window from being destroyed and recreated during show().
2023-07-21 17:34:11 +01:00
Jake Turner 117db087a4 Vk tests ignore default pipeline in headless mode
Fixes crash trying to launch VK_Compute_Only
2023-07-20 17:26:30 +01:00
Jake Turner 944b38dc1f Use innertype id to look up image type. Closes #2970
Fixes incorrect shader debugging for ImageFetch operation on arrays on buffers (and certain scenarios of arrays of textures).
2023-07-20 17:26:30 +01:00
baldurk d4c9de7f81 Set name on newly created named metadata. Closes #2981 (credit Yun) 2023-07-17 16:41:19 +01:00
jake.turner 958ab08018 Add missing ")" R11G11B10 GetBufferFormatString()
"[[packed(r11g11b10]] float3" -> "[[packed(r11g11b10)]] float3"

There was a missing ")"
2023-07-12 18:00:52 +01:00
Jake Turner a41a6931ba Ignore unbound texture resource overlay rendering 2023-07-06 15:51:33 +01:00
Jake Turner 66574fd2bb Test null DSV in D3D12::GetRenderOutputSubresource
Prevents a crash when refreshing the overlay for am unbound Texture resource and the pipeline state does not have a bound DSV.

Related to 742e3de2 which changed the internal behaviour of FillResourceView().
2023-07-06 15:51:33 +01:00
Jake Turner 5f88b303b5 D3D12 ExecuteIndirect replay use GPUSync(). Closes #2970
GPUSyncAllQueues() changed behaviour in e33629ca which meant the GPU was not being synchronized when patching the execute indirect arguments when loading a capture.

This led to a race between CPU & GPU and incorrect argument data being read back from the GPU to the CPU and then used for ExecuteIndirect replay.

In addition to fixing the bug changed other calls from GPUSyncAllQueues() to GPUSync() where appropriate ie. single flush validate debug mode.
2023-07-03 13:05:10 +01:00
Jake Turner 53bf231104 Extend D3D12 Execute Indirect test
Change it to do 8 indirect draws with a clear in between.
Check the pixel and mesh data for each draw is correct (simple triangle)
2023-07-03 13:05:10 +01:00
baldurk c328c3fdf7 Fix raw html leaking in an error message 2023-06-23 18:58:26 +01:00
baldurk 7c6b4633df Don't report unsupported file types as 'corrupted' captures
* This adds a specific error message if even the magic number doesn't look like
  a supported file type.
2023-06-23 18:53:41 +01:00
baldurk 615c02dbd7 Fix handling when rendering to mips of an image in pixel history 2023-06-23 18:44:30 +01:00
baldurk 0759f7a16a Update extension_support.md for recently implemented extensions 2023-06-23 17:41:55 +01:00
baldurk 811ab29c75 Always offset bindings when doing vulkan shader feedback
* If we don't have BDA support we patch bindings to get our output buffer, but
  we need to be sure to always patch all shaders - if some stages can't be
  patched properly due to lacking store support, we need to still patch the
  bindings.
2023-06-23 17:41:45 +01:00
baldurk a34f890604 Disallow EXR files that are too large 2023-06-22 13:09:25 +01:00
baldurk c3266acd15 Remove D3D8 and D3D9 stub backends
* These were added 6-7 years ago and have been untouched since. They add no
  value to preserve as they are almost guaranteed to never be reasonably
  implemented.
* The only thing that is useful is the D3D9 hooks for begin/end events used in
  some D3D11 programs, which has been moved to the D3D11 project.
2023-06-22 12:21:33 +01:00
baldurk 472add2f51 Fix autotests for new global resources 2023-06-21 12:43:33 +01:00
baldurk 2887409961 Add support for VK_EXT_image_2d_view_of_3d 2023-06-21 12:43:33 +01:00
baldurk a6c1ba1fc5 Add support for VK_EXT_attachment_feedback_loop_dynamic_state 2023-06-21 11:40:42 +01:00
baldurk 4b87803071 Add support for VK_EXT_provoking_vertex 2023-06-21 11:40:42 +01:00
Kanglai Qian 367d55d88d continue improving glCopyImageSubData 2023-06-15 19:28:47 +01:00
Kanglai Qian 2ad52d4009 improve glCopyImageSubData 2023-06-15 19:28:47 +01:00
Kanglai Qian a70ea20253 support glCopyImageSubData from uncompressed texture 2023-06-15 19:28:47 +01:00
baldurk c4d4a4c19f Fix separate android layer exports 2023-06-15 17:08:21 +01:00
baldurk 81a2da7877 Fix linux build with removed VK_LAYER_EXPORT 2023-06-15 16:55:21 +01:00
baldurk 910c316404 Fix .ui formatting 2023-06-15 14:45:37 +01:00
baldurk 5118f08e23 Update Vulkan & SPIR-V headers to latest 2023-06-15 13:56:10 +01:00
baldurk 082402ed66 Delete AMD action callbacks if multiple passes happen. Closes #2958 2023-06-15 11:25:57 +01:00
baldurk 7f8e14fb65 Add some helpers to make minimal templates for each autotest API 2023-06-15 11:25:27 +01:00
baldurk ea77ec746f Don't generate BGRA8 internal format for DX interop textures in GL
* Proper GL doesn't seem to support this internal format, and fortunately the
  contents save/load work fine with GL's built-in swizzling if we treat the
  texture as RGBA8 instead.
2023-06-12 14:28:24 +01:00
baldurk 505229b9a9 Lock around access to m_Error in file writer 2023-06-12 13:50:08 +01:00
baldurk 98f2ad00e6 Don't free StreamWriter buffer until after callbacks
* Some callbacks may want to process the data so we can't free it out from under
  them.
2023-06-09 15:04:22 +01:00
baldurk 96e39bb360 Help users who might be confused about adding custom tools 2023-06-09 12:18:55 +01:00
baldurk 763cfbe2b8 Fix blend factor in driver bug workaround 2023-06-09 12:18:28 +01:00
baldurk 722191184b Handle degenerate case on D3D12 of indexed draw with no index buffer 2023-06-08 17:09:50 +01:00
baldurk a1f56d01c5 Add handling of HALF_FLOAT for glClear type data passing. Closes #2956 2023-06-08 15:44:27 +01:00
baldurk eb4938e2a3 Fix D3D12 highlighted vertex/triangle not being rendered correctly
* The input data comes directly from the mesh output so does have homogenous co-
  ordinates.
2023-06-07 13:39:11 +01:00
baldurk 86a6d5051b Add debug regions to D3D12 mesh rendering 2023-06-07 13:38:43 +01:00
baldurk 60493a2465 Disable use of new barriers on D3D12 on older SDKs
* This avoids a crash that has been fixed in newer SDKs.
2023-06-07 12:25:38 +01:00
baldurk b90c19c388 Fix counting of EIDs for partial multidraws on GL 2023-06-07 12:21:03 +01:00