Commit Graph

14316 Commits

Author SHA1 Message Date
baldurk df686bfce0 Handle D3D12 mesh shaders that don't read from an existing payload
* In this case we can't find a getMeshPayload call even though we're expecting
  it, so we can't find the payload type either.
2024-01-11 14:51:33 +00:00
Jake Turner d0166c0984 GL Depth Overlay use non-stencil mask approach by default
Only use stencil mask approach for depth exporting shaders.
The stencil mask approach does not show discarded pixels as passing.
2024-01-11 14:42:25 +00:00
Jake Turner efc30ca723 VK Depth Overlay use non-stencil mask approach by default
Only use stencil mask approach for depth exporting shaders.
The stencil mask approach does not show discarded pixels as passing.
2024-01-11 14:42:25 +00:00
Jake Turner b04560933e D3D12 Depth Overlay use non-stencil mask approach by default
Only use stencil mask approach for depth exporting shaders.
The stencil mask approach does not show discarded pixels as passing.
2024-01-11 14:42:25 +00:00
Jake Turner fe1111340e D3D11 Depth Overlay use non-stencil mask approach by default
Only use stencil mask approach for depth exporting shaders.
The stencil mask approach does not show discarded pixels as passing.
2024-01-11 14:42:25 +00:00
Jake Turner 8c5cbbecdf Depth overlay tests include a shader with discard 2024-01-11 14:42:25 +00:00
Jake Turner 1ca2f15fe0 UI: By default hide windows created by direct code calls
Fixes a problem if a window creates a different window whilst loading a layout and the layout does not contain the second window i.e.

Loading a layout which contains "Mesh Viewer" will create "Event Browser" window from code. If the layout does not contain "Event Browser" then the "Event Browser" window would get parented to the main window and displayed incorrectly when the main window is shown.
2024-01-11 14:24:59 +00:00
Jake Turner 1f53a414c8 SPIR-V disassembler treat Op::InBoundsAccessChain like OpAccessChain 2024-01-11 10:53:57 +00:00
Jake Turner 0bfca6eeb3 Fix warning about duplicate 'label_4'
../../qrenderdoc/Windows/Dialogs/SettingsDialog.ui: Warning: The name 'label_4' (QLabel) is already in use, defaulting to 'label_41'.
2024-01-11 10:47:27 +00:00
Tristan Ritchie d8a0b1c6d3 Add sperate retry for permission checks
Change-Id: Ibbce02fa14a003f80a2de10ebe5e4e756168c2d5
2024-01-10 17:13:36 +00:00
Tristan Ritchie 7a22f9579d parse adb command output on host
Change-Id: I6b1a0c7612d5ecb0edc0a48ae91b1557b7d6c8e1
2024-01-10 17:13:36 +00:00
Tristan Ritchie 4effbfaca1 clarify logic around retry to avoid unecessary adb traffic
Change-Id: I8e2a4d4255e9959579a06f839301434e1e104c2f
2024-01-10 17:13:36 +00:00
Tristan Ritchie a7cb486708 [#3183] Fix Android RD capture layer discovery
* Installing the Android server on certain devices will not grant
  'force-queryable' permissions, necessary for capture layer
  discovery for API>=30. Reinstalling a second time fixes this
  issue. With this change, the 'force-queryable' attribute is
  checked post-install. If the check fails, it prompts a second
  installtion attempt.
* Solution tested on:
  - OPPO find X6, Android 13 (affected device)
  - Google Pixel 6 and 7, Android 13
  - SM-G930F, Android 8
2024-01-10 17:13:36 +00:00
baldurk 928de11118 Make pipeline flowchart more 'sticky' between mesh and normal draws
* It won't be as quick to revert to the normal pipeline, but stay showing the
  mesh pipeline.
2024-01-10 14:03:31 +00:00
baldurk 6fdea16fd1 Propagate subgroup size properly when recreating graphics pipelines
* Also add an additional indicator in the pipeline state view.
2024-01-10 13:59:29 +00:00
Jake Turner 6862b620f5 D3D11: Improve handling of unsupported tiled resources feature
Return DXGI_ERROR_UNSUPPORTED if try to create tiled resources
from CreateBuffer(), CreateTexture2D(), CreateTexture2D1()

Return D3D11_TILED_RESOURCES_NOT_SUPPORTED in CheckFeatures() with D3D11_FEATURE_D3D11_OPTIONS1
2024-01-09 12:44:14 +00:00
Jake Turner b820a46605 D3D11 Parameter Zoo tests for tiled resource handling
CreateTexture2D(), CreateTexture2D1(), CreateBuffer() should fail
CheckFeatureSupport() with D3D11_FEATURE_DATA_D3D11_OPTIONS1 or D3D11_FEATURE_DATA_D3D11_OPTIONS2 should return D3D11_TILED_RESOURCES_NOT_SUPPORTED
2024-01-09 12:44:14 +00:00
Jake Turner edbcbe53e2 D3D12 Pixel History Simple D16 test 2024-01-09 12:44:14 +00:00
Jake Turner 3363b29883 SPIR-V Debugger fix Bitcast from vector to scalar 2024-01-09 12:44:14 +00:00
Jake Turner 8b3cfc59eb Tests: SPIR-V Debugger Bitcast tests vector to/from scalar 2024-01-09 12:44:14 +00:00
Jovan Ristic a4ff65b59a Fix D3D12 pixel history on 16 bit depth targets.
* Trying to copy a D16_UNORM source to a destination with format
R32_TYPELESS causes an invalid argument error.
2024-01-09 12:01:52 +00:00
Philip Rebohle 14eea0f8a1 Add missing strings for Vulkan task and mesh shaders.
Fixes a crash when replaying a capture that uses mesh/task shaders
with GPL.
2024-01-09 11:14:35 +00:00
Jake Turner 4a620bb5a1 Fix Vulkan wireframe overlay, set the dynamic state polygonMode
When replaying capture using "vkCmdSetPolygonModeEXT(VK_POLYGON_MODE_FILL)"
2024-01-04 15:25:05 +00:00
Jake Turner 8f2c311670 Added parameter test for ID3D11Device2 GetResourceTiling 2024-01-04 14:38:59 +00:00
wanghaiwei 3d96ccd6d1 Fix D3D11_2 GetResourceTiling return unsupport value
Change to use UnwrapResource helper function
2024-01-04 10:09:49 +00:00
Jake Turner 93eb160e08 Revert "Update VMA Allocator to v3.0.1"
It is causing more problems than benefits

This reverts commit 6895194805.
2024-01-03 13:34:13 +00:00
Jake Turner a871457172 Disable "nullability-completeness" warning in Tests project 2024-01-03 09:57:26 +00:00
Jake Turner 9dad897802 Enable D3D12 Pixel History Depth Bounds test
Replay code was fixed in 3d5ce05e11
2024-01-02 14:05:00 +00:00
Jake Turner 04856b53c1 Enable D3D12 Pixel History MSAA test
Replay code was fixed in 7e8c22ce68
2024-01-02 14:05:00 +00:00
Jovan Ristic 3d5ce05e11 Add D3D12 pixel history depth bounds test.
* Copied from the Vulkan implementation.
2024-01-02 12:49:46 +00:00
Jovan Ristic 71a5d3dae0 Fix D3D12 pixel history on MSAA depth stencils.
* Performing pixel history on an MSAA depth target caused a memory
stomp due to the depth and stencil copies being mis-identified as a
4-component operation, stomping the following 12 bytes. For the depth,
this stomped the stencil and the following padding, but when the
missing stencil copy was added in 4815ada it stomped
dsWithoutShaderDiscard as well. This triggered an assert due to a clear
event appearing to have frags associated with it.
2024-01-02 12:15:37 +00:00
Jovan Ristic 7e8c22ce68 Fix D3D12 pixel history MSAA test issues.
* Add missing resource transitions for the dispatch copy to fix
validation issues encountered while running the test.
* Adjust the MSAA copy path to use the second channel for stencil to
fix copies failing to output anything, which manifested as the fragment
only showing one primitive without correct output data.
2024-01-02 12:15:37 +00:00
Jake Turner 902a095c60 Marked GL Pixel History as a slow test 2023-12-31 08:41:23 +00:00
Jake Turner 79465c670f D3D12 Pixel History set fragment postMod stencil to unknown (-2) 2023-12-31 08:41:23 +00:00
Jake Turner 51ae45420d Extend D3D11 Pixel History tests
Validate that in a fragment event the postMod stencil value should be unknown (-1 or -2)
2023-12-31 08:41:23 +00:00
Jake Turner 0171ee464a Tidyup python logging in GL Pixel History 2023-12-31 08:41:23 +00:00
Jake Turner a70bed751b Extend D3D12 Pixel History tests
Check the post mod stencil at pixel location 110,100
Check the post mod stencil is unknown at pixel location 275, 260 for fragment zero of a multi-fragment event

Validate that in a fragment event the postMod stencil value should be unknown (-1 or -2)
This test validates the code change in 4815adaa83
2023-12-31 08:41:23 +00:00
Jake Turner baa5999582 Extend Vk Pixel History tests
Check the post mod stencil at pixel location 110,100
Check the post mod stencil is unknown at pixel location 275, 260 for fragment zero of a multi-fragment event

Validate that in a fragment event the postMod stencil value should be unknown (-1 or -2)
2023-12-31 08:41:23 +00:00
Jovan Ristic 4815adaa83 Fix D3D12 pixel history missing stencil copy.
* When viewing pixel history on a depth stencil, the depth value was
copied but the stencil value was not.
2023-12-29 19:21:14 +00:00
Jake Turner 6895194805 Update VMA Allocator to v3.0.1
Disabled warnings 4189, 4324 for vk_test.cpp

4189: 'identifier' : local variable is initialized but not referenced

4324: 'struct_name' : structure was padded due to __declspec(align())

because of warnings in vk_mem_alloc.h
2023-12-22 12:53:40 +00:00
Jake Turner 65e77c56ba Vulkan PipelineSate CS Tooltip now says "Save Shader SPIR-V"
Minor copy-paste error used to say "Save Shader DXBC"
2023-12-22 12:53:40 +00:00
Jovan Ristic a7e8422237 Fix D3D12 pixel history lacking primIDs for draws without a PS.
* No rendertarget was bound to the primitive ID generating draw
because rts is empty in draws without a rendertarget bound in the base
draw. Setting rts[0] was presumably stomping memory instead in this
case.
* Included is a fix for validation layer error thrown when reproducing
the problem, in D3D12ColorAndStencilCallback during a Pre/PostDispatch
CopyPixel uses the value of m_SavedState but was not set. In the case
of rpFlags, the value was uninitialized because D3D12RenderState does
not include it in its constructor. That caused an invalid resource
transition to be issued and was fortunately caught by the debug layer,
otherwise it was thus far invisible when running without debug on.
2023-12-22 07:51:13 +00:00
Jake Turner 977adf5001 Opening DDS file better estimate size of mip-tail closes #3179
If a mip-tail exists estimate that it will be the same size as mip 0
2023-12-20 10:00:56 +00:00
baldurk 586ba368ce Fix incorrect stride when access chaining into vectors within matrices
* This would only break for row-major matrices where the index needs to pull out
  a column.
2023-12-19 17:07:26 +00:00
Jake Turner 5eb3778b9d Basic test for shader debugger out of bounds matrix lookup 2023-12-19 16:09:31 +00:00
Jake Turner a7a881c20d SPIR-V debugger: Fix error message parameters not matching format
Fixes a potential crash when displaying an error message about invalid scalar index on a matrix
2023-12-19 16:09:31 +00:00
Steve Karolewics f20c596a69 Fix D3D12 pixel history for events that do not have a pixel shader 2023-12-18 07:54:59 +00:00
Steve Karolewics 28ce7ac51c Add test for D3D12 pixel history 2023-12-18 07:51:51 +00:00
baldurk ca5783e712 Compile fix for bool cast 2023-12-14 15:31:29 +00:00
baldurk ec78d567dd Don't create illegal combinations of graphics pipelines for mesh renders 2023-12-14 15:19:40 +00:00