Commit Graph
14364 Commits
Author SHA1 Message Date
Jake Turner a4ff744a0a Fix Linux compile error 2024-02-08 05:15:07 -08:00
Jake Turner 4c8c31919a On Vulkan do not fill discard pattern during loading
The state tracking will not be complete during loading and can cause a crash trying to rebind the current pipeline after filling the image with the discard pattern
2024-02-08 10:48:10 -08:00
Jake Turner b1d78763c7 Fix Vk validation error about scissor exceeding signed int 2024-02-08 10:46:29 -08:00
Jake Turner f938afee2c PipelineStateViewer support right-click copy of stencil values
Having NoSelection caused nothing to be copied to the clipboard

Examples of copied data

D3D12 `Front Greater Keep Keep Replace FF FF 55`
D3D11 `Front Greater Keep Keep Replace`
GL `Front Greater Keep Keep Replace FF FF 55`
Vk `Front Always Keep Keep Replace FF FF 01`

Closes #3240
2024-02-06 05:45:52 -08:00
Jake Turner 03ab274252 Fix off by one error in the slice range tooltip 2024-02-01 15:43:36 +00:00
Jake Turner 0a330ef593 Add slice information to the Pixel History Window Title 2024-02-01 15:43:24 +00:00
Jake Turner a3eecf33eb Vulkan Mesh Output use state to query vertex bindings
Do not use the "VkGraphicsPipelineCreateInfo" because this does not include the dynamic state.
Fixes Mesh Output being incorrect when dynamic state for vertex input is used.
2024-01-31 12:54:20 +00:00
baldurk 6de0787b58 Update docs to mention customising python path on module project as well 2024-01-30 20:33:13 +00:00
baldurk faa0695323 Support property-page customisation on python module projects 2024-01-30 20:31:35 +00:00
baldurk 1e70124bd6 Support setting overridden python path via VS properties page 2024-01-30 20:29:07 +00:00
Jake Turner 9c163aaeca D3D12 Pixel History fix validation error
D3D12 ERROR: ID3D12CommandList::CopyTextureRegion: D3D12_SUBRESOURCE_FOOTPRINT::RowPitch must be a multiple of 256 (aka. D3D12_TEXTURE_DATA_PITCH_ALIGNMENT) and greater or equal to the pitch implied by the width.[ RESOURCE_MANIPULATION ERROR #855: COPYTEXTUREREGION_INVALIDDSTROWPITCH]
2024-01-30 17:03:11 +00:00
Jake Turner 7b72610d9b D3D12 ExecuteIndirect fix argument buffer reading out of bounds
Only increase the number of bytes to read when crossing an execute boundary and doing a partial execute.
Fixes out of bounds access on the source argument buffer when going from a complete execute to the next complete execute i.e. selecting the draw actions in sequence in the Event Browser
2024-01-30 17:03:11 +00:00
Jake Turner 9d2fe84d69 D3D12 ExecuteIndirect remove asserts on VB and IB
When doing partial replay the data is not guaranteed to be read back into the indirect buffer
2024-01-30 17:03:11 +00:00
Jake Turner 20578f46a6 Extend D3D12 ExecuteIndirect test to do multiple draws per Execute
The argument buffers are used fully used with no spare bytes
The python test iterates over every draw to check the replay has a valid output target count
This verifies the replay did not crash when replaying ExecuteIndirect with multiple draws and an argument buffer with no spare bytes
2024-01-30 17:03:11 +00:00
Jake Turner b6a105d695 D3D12 Pixel History fix for typeCast of CompType::Typeless
For instance history on swapchains
2024-01-30 17:03:11 +00:00
baldurk 32c946dd14 Search for newer python versions at build time 2024-01-30 16:51:03 +00:00
Jake Turner 2cc4558815 Update tests python to work with Python 3.12
Tested running with Python 3.12, 3.11, 3.10, 3.6.8
2024-01-30 09:30:12 +00:00
Jake Turner c8d3b6a79d Apple metal-cpp update to MacOS SDK 14.2 2024-01-29 18:15:33 +00:00
Jake Turner 6fd951acac Fix Apple demos project memory leaks and GC 2024-01-29 18:13:26 +00:00
Jake Turner 3150a1028e Mac compile warning/errors in tests project 2024-01-29 18:13:26 +00:00
Jake Turner 018434e7de Fix Mac demos project compile errors on clang 15
Add "-Wno-deprecated-declarations"

util/test/demos/3rdparty/fmt/core.h:378:30: error: 'char_traits<fmt::internal::char8_type>' is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in LLVM 18, so please migrate off of it. [-Werror,-Wdeprecated-declarations]
      : data_(s), size_(std::char_traits<Char>::length(s)) {}
                             ^
util/test/demos/3rdparty/fmt/format.h:580:9: note: in instantiation of member function 'fmt::basic_string_view<fmt::internal::char8_type>::basic_string_view' requested here
      : basic_string_view<internal::char8_type>(
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__string/char_traits.h:79:8: note: 'char_traits<fmt::internal::char8_type>' has been explicitly marked deprecated here
struct _LIBCPP_DEPRECATED_("char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in LLVM 18, so please migrate off of it.")
2024-01-29 18:13:26 +00:00
Isaac MarovitzandJake Turner adb6fe2e8d MTLComputePassDescriptor 2024-01-29 18:12:20 +00:00
Isaac MarovitzandJake Turner e6b8b380d4 MTLComputePipelineDescriptor
Pipeline Descriptor Correction
2024-01-29 18:12:20 +00:00
Isaac MarovitzandJake Turner 115d27a028 MTLComputePassSampleBufferAttachmentDescriptor
SampleBufferAttachemnt Correction
2024-01-29 18:12:20 +00:00
Isaac MarovitzandJake Turner c9f8757497 MTLStageInputOutputDescriptor 2024-01-29 18:12:20 +00:00
Isaac MarovitzandJake Turner 70793c4f0a MTLBufferLayoutDescriptor 2024-01-29 18:12:20 +00:00
Isaac MarovitzandJake Turner 750983bd27 MTLAttributeDescriptor
AttributeFormat
2024-01-29 18:12:20 +00:00
baldurk 8d065f389e Bump version to v1.32 2024-01-29 12:34:17 +00:00
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
antharkandBaldur Karlsson 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 RisticandJake Turner 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-sumihiroandBaldur Karlsson 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