14336 Commits

Author SHA1 Message Date
baldurk 04bfedcdd5 Add documentation entry for new offset/size configuration option v1.31 2024-01-26 12:02:35 +00:00
baldurk 775031c59b Limit impact of possible NV driver bug
* This seems to crash if no pipeline is bound when SetViewInstanceMask() is
  called. We can't make this completely conditional and still be legal, but at
  least we can avoid triggering it if view instancing isn't being used anyway.
2024-01-25 12:29:14 +00:00
Jake Turner aeaa2811f6 D3D12 Pixel History early return if config option is disabled 2024-01-23 15:29:24 +00:00
Jake Turner 7b1527e3ac Fix release compile error in tests project 2024-01-23 15:28:39 +00:00
baldurk 49c96806b6 Add test of solo numbered semantics to linkage zoo tests 2024-01-23 11:11:14 +00:00
anthark a55e82a0a2 Fix indexed semantic name when semantic index is not zero 2024-01-23 10:30:44 +00:00
baldurk 5bb66f67de Don't rely on ReplaceChunk silently doing nothing for missing chunks 2024-01-23 10:26:13 +00:00
baldurk e9430a02e0 Fix chunk-adding code to add fourcc and size 2024-01-23 10:25:53 +00:00
baldurk 86585b685c Fix some leaks creating root signature blobs 2024-01-22 14:10:43 +00:00
baldurk f7eccf03ff Implement DXBC ReplaceChunk adding a new chunk if it's not present 2024-01-22 14:10:43 +00:00
baldurk a232dc9a40 Fix header size being used wrongly
* The sizes changed so these headers are total sized not cumulative
2024-01-22 14:10:42 +00:00
baldurk 5778f5b3e7 Mark readback buffer as internal 2024-01-22 14:10:42 +00:00
Jake Turner 7b75e05b2c D3D12 Pixel History fix copy from texture to buffer
Use D3D12_PLACED_SUBRESOURCE_FOOTPRINT Offset parameter to get to within 16KB of the destination buffer byte offset.
Set the copy texture footprint to be a 1D Texture with a width to be equal to the remaining byte offset / pixel_byte_size + 1.
Use a destination X of the remaining byte offset / pixel_byte_size
2024-01-22 09:39:22 +00:00
Jake Turner e18ea02a2b D3D12 Pixel History Test add some drawcall stress tests
1000 drawcalls of 1 instance of 1 triangle
1 drawcall of 1000 instances of 1 triangle

Python tests verify the count of modifications is correct, the modifications are self-consistent and the picked texture value matches the final modifications tex after value
2024-01-22 09:39:22 +00:00
Jake Turner c4e3f96f57 VK Shader Debugger support for Buffer Device Address 2024-01-17 08:24:51 +00:00
Jake Turner b23e9f6b37 SPIRV KHR BDA Tests added to vk_shader_debug_zoo
Load buffer address from push constants as a uvec2 and bitcast to a pointer
Load vec4 from the buffer address pointer
Bitcast uint2 address to a pointer and load from the pointer
OpPtrAccessChain : float[] : ArrayStride 4
OpPtrAccessChain : float[] : ArrayStride 8
OpPtrAccessChain : float[] : ArrayStride 12
Convert u64 address to a pointer and load from the pointer
Convert u64 address to a pointer and back to a u64 address, load from the address
Arithmetic on a u64 address then convert u64 address to a pointer and load from the pointer
Generate a u64 address using arithmetic on two u32 values and load from the address
2024-01-17 08:24:51 +00:00
Jake Turner 932d1b1754 Basic Test for VK_KHR_Buffer_Address
Compare the pixel shader debugger result against the GPU rendered output
Compare the vertex shader debugger results against the postVS output
2024-01-17 08:24:51 +00:00
Jovan Ristic b197091212 Fix D3D12 pixel history MRT issues.
* Previously MRT draws were reduced to a single RT with the pixel
history color target bound, which meant shader output was always
showing the results for RT0 rather than the target requested.
* Shader-out and post-mod passes of the per fragment callback have been
changed to keep all RTs bound and replace the history target into the
correct slot. The RenderTargetWriteMask is used to mask out all writes
to everything but the history target.
* The pixel history fixed color write shader has been changed to
provide 8 variations, each of which writes to only one of the possible
RTs. This prevents the other targets from being polluted by unintended
writes and fixes the validation warnings about shaders writing to RTs
that will not be bound.
* Unused render target index was removed from the occlusion callback.
2024-01-16 09:03:38 +00:00
james-sumihiro 783d76fe73 Fix two handle leaks during remote probe
Added logic to the entry point RENDERDOC_CreateRemoteServerConnection to shutdown the socket used to connect to a remote device when the function is used to test a connection (IRemoteServer **rend is null.) This previously created a handle leak, visible as accumulating /device/afd/ file handles on Windows.

Added logic to the Windows specialization of Process::LaunchProcess so it will close two handles: hChildStdError_Rd, and hChildStdOutput_Rd if the handles were created successfully but the process failed to launch. Previously these would accumulate during a remote probe for Android devices if ADB was not present or otherwise failed to launch.
2024-01-15 10:54:01 +00:00
baldurk 4409e57919 Handle storage access on vulkan with dynamic rendering in pixel history
* When using dynamic rendering we were falling through if we didn't find the
  image as an attachment as we expected to, but in the case of direct stores we
  don't expect to find it so we should return early rather than crashing trying
  to look up a non-existent renderpass object.
2024-01-11 14:51:33 +00:00
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