Commit Graph

1022 Commits

Author SHA1 Message Date
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
Jake Turner 902a095c60 Marked GL Pixel History as a slow test 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
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 5eb3778b9d Basic test for shader debugger out of bounds matrix lookup 2023-12-19 16:09:31 +00:00
Steve Karolewics 28ce7ac51c Add test for D3D12 pixel history 2023-12-18 07:51:51 +00:00
Jake Turner d33ad62a26 D3D11 Test for discard on Staging and Dyanmic Buffers 2023-12-14 12:28:07 +00:00
Jake Turner 18a28eb8dc SPIR-V shader debug OpSwitch tests
Test with selector and literal of different types "int", "uint", "long", "ulong"
2023-12-13 10:24:47 +00:00
Jake Turner 466cc148cf VK Overlay Test clear a stencil rectangle to one 2023-12-13 10:24:31 +00:00
Jake Turner 33da4ed278 GL Overlay Test clear a stencil rectangle to one 2023-12-12 14:16:06 +00:00
Jake Turner 60cb36e4c5 D3D11 Overlay Test clear a stencil rectangle to one 2023-12-12 14:16:06 +00:00
Jake Turner c09d5a81b6 D3D12 Overlay Test clear a stencil rectangle to one 2023-12-12 14:16:06 +00:00
Jake Turner 3e08b6f451 Depth overlay test check pixels outside the drawcall are black 2023-12-12 14:16:06 +00:00
baldurk f8bbe1ed4f 32-bit compile fixes for demos project 2023-12-11 11:00:12 +00:00
Dan Hawson 442b48bb77 Mesh exploder
New 'Exploded' visualisation mode in BufferViewer with new exploder controls
hidden when not in 'Exploded' mode.

Change 'solidShading' and 'solidShadeMode' to 'visualisation' and
'visualisationMode'.

Hide the 'highlightVerts' widget when using 'Exploded' vis for both
real-estate and practical implementation reasons.
2023-12-09 11:40:30 +00:00
Jake Turner dd0c888d11 Extend Overlay tests to include shader exported depth scenario 2023-12-05 15:26:57 +00:00
baldurk 32e1f62199 Give overlay test reasonable epsilons to account for shift 2023-12-01 11:59:14 +00:00
baldurk 559a129d2c Fix vertex linking in GL_Mesh_Zoo to write to col2 properly 2023-12-01 11:44:44 +00:00
baldurk 0b18cefc5f Specify correct library flag when creating partial pipelines 2023-11-30 14:38:48 +00:00
baldurk 10bdf616a7 Fix memory corruption properly in test 2023-11-30 13:30:00 +00:00
baldurk 01820aad82 Donn't set rasterization state to NULL for pre-rasterization shaders 2023-11-30 13:29:59 +00:00
baldurk ae969dfdd5 Fix spirv-plugins build scripts 2023-11-28 13:24:30 +00:00
baldurk 65a13b1a6d Fix memory corruption in VK_Parameter_Zoo test 2023-11-28 12:04:26 +00:00
baldurk 9e79ba3416 Fix DXIL patching for quad overdraw
* Also tweak the test output to be more organised
2023-11-20 18:17:51 +00:00
baldurk 0d9ea809dd Fix some test failures by consistently stripping gl_PerVertex_Var prefix 2023-11-17 18:47:47 +00:00
baldurk d9fd975138 Add a test of unmapping read-only persistent buffers on GL 2023-11-15 14:51:04 +00:00
William Pearson 9cf30b190e Fix crash when descriptor update template uses unreferenced layout
It is possible for the VkDescriptorUpdateTemplateCreateInfo to have its
descriptorSetLayout or pipelineLayout be the only reference to the
corresponding object, as vkCmdPushDescriptorSetWithTemplateKHR and
vkUpdateDescriptorSetWithTemplate only require that the actual layout
matches/is compatible with the one used by the template. Before, there
was no dependency from the update template to the layout, so if it was
the sole use of a layout, the layout would not be saved in the capture,
resulting in a crash during playback.

This change also modifies the vk_parameter_zoo to test this case. With
those modifications, the change to vk_descriptor_funcs is required to
prevent the crash. Note that on my machine, I needed to comment out
other parts of vk_parameter_zoo, or else it would crash (even when
not run under renderdoc) due to driver issues.

For reference:

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html#VUID-vkCmdPushDescriptorSetWithTemplateKHR-layout-07993
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkUpdateDescriptorSetWithTemplate.html#VUID-vkUpdateDescriptorSetWithTemplate-pData-01685
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorUpdateTemplateCreateInfoKHR.html#_members
2023-11-09 10:15:00 +00:00
Dan Hawson 0ff1c66ca7 Removed demos project reference to '.clang-format' file
This was added by mistake in an earlier commit.
2023-11-08 15:25:36 +00:00
Dan Hawson 910f1dcd7e Add new d3d12_multi_wait_before_signal.py test
It's currently forcibly disabled via 'check_support' because it's known
to fail due to the fact that the commands are always serialised and
replayed in submission order instead of the order that respects queues
blocked on fence waits that get signalled later from other queues.
2023-11-08 15:25:36 +00:00
Cam Mannett ec408e21c0 Android extra flags not applied on initial CMake generation
CMAKE_CXX_FLAGS was overwritten if not already in the cache (i.e. when first built).  Presumably down to toolchain loading order.
2023-11-07 19:01:04 +00:00
Jake Turner cf004e8ba5 Basic tests for non-zero UNPACK_ROW_LENGTH and glTexImage?D APIs
Covers:
glTexImage1D
glTexImage2D
glTexImage3D
2023-11-06 12:02:50 +00:00
Jake Turner b19665212c Fix demos compile error on Linux & Android 2023-11-05 13:10:53 +00:00
Dan Hawson 7619414b8a Add multi-queue wait-before-signal test
This tests submitting commands, signals, and waits to graphics and
multiple compute queues where the entire frame's submission for each
queue depends on the other queues and the submission order is not the
order in which the GPU (and replay) need to be processed.  This is to
ensure any capture or replaying deserialises adequately.
2023-11-03 10:46:42 +00:00
Dan Hawson fb02202505 New D3D12BufferCreator and D3D12TextureCreator state setters
Added 'D3D12BufferCreator::InitialState(D3D12_RESOURCE_STATES)' to allow
user code to avoid adding unnecessary transition barriers after resource
creation.

Added 'D3D12TextureCreator::ClearVal(const D3D12_CLEAR_VALUE &)' to avoid
a PIX performance warning/tip about clearing resources that haven't had
their clear value set on creation.
2023-11-03 10:46:42 +00:00
Jake Turner 3fbf060894 Test for very large variable sized descriptor binding
New Binding 3
Initial size is UINT32_MAX
Updated to be sized DESC_ARRAY3_SIZE
Used in the shader to ensure the binding is referenced

Stress tests the FetchShaderFeedback code when it computes the maximum size of feedbackStorageSize.
2023-11-01 14:53:06 +00:00
Cam Mannett aec25cfcaa Add -Wno-deprecated-declarations to demo when NDK >=26 is used
Compiles the demo APK with -Wno-deprecated-declarations when the NDK is v26 or over, otherwise it fails to compile the fmt core header.  In the LLVM version used in the NDK, using std::char_traits with non-std types is marked as deprecated.
2023-10-27 18:12:15 +01:00
Cam Mannett 3746f83039 Minor functional test fixes
* Fixed issue where a previously built demo APK would be added into the APK archive upon next build
* Correct the functional test's --in-process help output
2023-10-26 15:38:48 +01:00
baldurk dd4e0d44ad Do two-pass processing of pNext chains for strict validity. Closes #3093
* We first need to do a pass to find extension structs that affect validity of
  pointers (whether they're ignored or not), then do a pass to process.
2023-10-25 17:56:38 +01:00
baldurk b6470b03de Add a delay after Compute_Only tests to allow capture to be found 2023-10-25 17:56:38 +01:00
Jake Turner 5b8c8e30a4 Changes to Android demos to support RenderDoc capture
Change package name to "renderdoc.org.demos" instead of "org.renderdoc.demos" (RenderDoc filters out packages containing "org.renderdoc.")

Added an <intent-filter> to the Android manifest.
This registers the activity with the android package system which means RenderDoc Launch Application knows the activity name to launch.
Used category CATEGORY_ALTERNATIVE to prevent the activity from appearing on the launcher UI.
2023-10-10 16:12:36 +01:00
Steve Karolewics e1516fa521 Add D3D12 pixel history test
This is a basic test that mirrors the Vulkan pixel history test,
but repeats draws multiple times to verify SM5.1 and SM6.0.
SM6.6 should be tested as well for writes from direct heap access
but is not yet implemented differently than SM6.0.
2023-10-10 11:50:55 +01:00
Steve Karolewics bad922e1f4 Allow providing NULL shaders for D3D12PSOCreator 2023-10-06 11:26:20 +01:00
Jake Turner b835a4cbad Abs x,y for pixel history in Iter_Test python script
Prevents exceptions about uint32_t overflow if negative x or y is used
2023-10-02 09:06:08 +01:00
Eric Long f36d8a3b23 RISC-V support
With some addition to macros the project is able to build on riscv64
machine.

plthook has added RISC-V support upstream [1]. However upstream has
changed their code quite a bit, so I just modified the current vendored
version.

[1]: https://github.com/kubo/plthook/commit/a564738a4707fc5eb4d388b9e97eeab51b8c9d56
2023-09-29 17:26:11 +01:00