Commit Graph

13980 Commits

Author SHA1 Message Date
baldurk 65859d13bf Add test of Set*Root32BitConstants with 0 constants being set
* This crashes on nvidia, on compute only strangely, if we pass in a NULL
  pointer along with a 0 number of constants.
2023-08-04 17:06:03 +01:00
baldurk 3460be091a Expand NULL-protection for Set*Root32BitConstants 2023-08-04 17:06:03 +01:00
baldurk 19d7b038c2 Don't allow tooltip to display if context menu is shown in shader viewer 2023-08-04 17:06:02 +01:00
Jake Turner 7631831821 Add "used" attribute to prevent exported symbol dead-stripping
Ideally would use "retain" but that would require upgrading to recent compilers in CI and the project.

__attribute__((retain)) function/variable to prevent linker garbage
collection.
2023-08-03 10:41:22 +01:00
baldurk fa79938e8a Ensure image layout is up to date mid-command buffer in pixel history
* Previously we were obtaining the image layout from before the current command
  buffer was recorded, but this is out of date if the image layout has changed
  during the command buffer. Worst case it could be e.g. UNDEFINED if the image
  was created and not used until the current command buffer.
2023-08-01 16:05:49 +01:00
baldurk 44be6bdfff Add documentation for return type 2023-08-01 10:00:54 +01:00
baldurk 09bc166f1a Add missing documentation reference 2023-08-01 09:44:00 +01:00
Serdar Kocdemir 0a20c686fd Remove unimplemented function declarations 2023-07-31 17:41:01 +01:00
baldurk 26c673675e Add extra pings to reduce problems with unreasonably slow adb commands 2023-07-31 17:08:57 +01:00
baldurk 3d8ad35e9f Don't sanitise selected paths from remote hosts. Closes #3006
* If the remote host disconnects during the selection process we will no longer
  have a valid connection, we shouldn't sanitise the resulting path according to
  local filenames.
2023-07-31 17:08:37 +01:00
baldurk 7c1164e060 Tidy up and implement support for self capture on linux 2023-07-31 15:45:32 +01:00
baldurk 9c553bbfb1 Handle OpExecutionModeId in SPIR-V reflection 2023-07-31 15:03:24 +01:00
baldurk 4087a46d87 Bump version to v1.29 2023-07-31 15:03:11 +01:00
Jake Turner 75d7e06eb5 Handle non-square checkboxes : adjust to make them square
Extension of 7452e29cec
v1.28
2023-07-30 14:51:18 +01:00
Jake Turner e0bb46979f Change RenderDoc style checkboxes to use checks for low contrast themes
Include InidicatorCheckBox style to match style change in 7452e29cec
2023-07-29 17:27:42 +01:00
Jake Turner a6fed120ac Vulkan PostVS ignore primmitive restart indexes when restart is active
Compute primitive restart using VulkanRenderState not pipeline, to account for dynamic state.
Ignore primitive restart indexes, handles primitive restart indexes being used when there are no active vertex buffer bindings
2023-07-27 13:51:01 +01:00
baldurk 831ed40484 Fix branch specified in CI badge in README 2023-07-27 01:17:34 +01:00
baldurk 68ff839dd6 Make gcc happier with escaped \\ in comments 2023-07-26 23:13:48 +01:00
KenLee 32ab4273bf Hide invalid shader resources
Fixed the problem that showing invalid shader resource in pipeline state viewer since v1.24

Revert "Hide invalid shader resources"

This reverts commit e62b6fa13d24bcd8c9d2e2109a140efe1c068736.

Hide invalid shader resources on D3D12
2023-07-26 22:01:46 +01:00
baldurk 7452e29cec Change RenderDoc style checkboxes to use checks for low contrast themes
* Deliberately low contrast themes like the dark theme can have issues showing a
  box that is filled vs just a plain rectangle which is harder to read at a
  glance. Changing the fill to an X icon gives extra readability on the dark
  theme.
2023-07-26 14:40:23 +01:00
baldurk db6dadad6c Fix capture comments styling of links 2023-07-26 14:38:26 +01:00
baldurk 1033adc970 Remove explicit styling span in settings dialog, links style themselves 2023-07-26 13:37:10 +01:00
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