909 Commits

Author SHA1 Message Date
baldurk 69c1990035 Fix handling of descriptor feedback in iterating arrays 2022-11-21 15:22:43 +00:00
baldurk dfe07d6822 Update application API to 1.6.0, add capture title setter 2022-11-21 13:49:15 +00:00
baldurk 3ec6986ac4 Test that descriptor arrays of dynamic UBOs have offsets replayed 2022-11-18 14:21:14 +00:00
baldurk 428862d737 Test resolve attachments in D3D12 render passes 2022-11-18 14:04:57 +00:00
baldurk a37f62124d Test integer texture loads in D3D shader debugging 2022-11-18 14:01:59 +00:00
baldurk 037dd63d83 Fail D3D12 amd shader extensions test if UAV bind slot isn't supported
* UE5 checks for this feature so we'll also check for it.
2022-11-18 12:43:30 +00:00
baldurk 62bfec8442 Test empty submits are properly processed 2022-11-18 12:37:45 +00:00
baldurk 5aae46a86e Test out-of-bounds descriptor access in D3D12 indexing test 2022-11-18 12:24:05 +00:00
baldurk 1f34b0ba57 Test D3D12 descriptors with 0 or ~0 as mip count 2022-11-17 18:22:57 +00:00
baldurk 16f7791437 Test more edge case root signature mappings with D3D12 shader debug 2022-11-17 18:22:57 +00:00
baldurk 108e4695df Add a test for resources being accessed in-shader then overwritten 2022-11-17 18:22:57 +00:00
baldurk f2f77716ad Test that vkEnumeratePhysicalDevices correctly handles undersized array 2022-11-17 18:22:57 +00:00
baldurk 14484cc67c Slightly increase D3D12 leak check threshold
* We're now caching descriptor data so we deliberately allocate a bit more
  memory. This will still allow us to catch egregious leaks.
2022-11-15 13:11:16 +00:00
baldurk 1303a50cf5 Sampler tables should not be marked as data volatile (the default) 2022-10-28 14:13:06 +01:00
baldurk 338541cf3f Handle streams properly in vulkan GS output fetch. Closes #2745
* We only display the rasterized stream in the mesh output view.
2022-10-12 16:08:59 +01:00
baldurk 9d18db67a7 Fix some edge case pNext struct usages. Closes #2749 2022-10-12 13:04:34 +01:00
baldurk 18f41c6fb6 Add test of secondary command buffer dynamic rendering 2022-10-07 11:20:06 +01:00
baldurk 478ea838dd Update vulkan and SPIR-V headers to latest 2022-10-06 16:48:34 +01:00
baldurk 0afd742232 Check that S8 format is actually supported 2022-09-19 16:44:56 +01:00
baldurk a04321fdb6 Handle D3D12 tier 1 VRS devices better when testing 2022-09-19 16:44:56 +01:00
baldurk aa412ddf89 Don't hard-fail on results of undefined tests in shader debug zoo 2022-09-19 16:44:56 +01:00
baldurk 00d7827d06 Allow a ~500 difference between PS invocations and samples passed
* This can be caused by overshading/rasterization differences
2022-09-19 16:44:56 +01:00
baldurk 1fa4fed24a Check for shader 64-bit support before using them in tests 2022-09-19 16:44:56 +01:00
baldurk 4e4a7518fa Ensure inline uniform blocks have descriptor pool space allocated 2022-09-19 16:44:56 +01:00
baldurk c851c44a1b Get new cmake for building glslang in spirv plugins 2022-09-19 12:35:33 +01:00
baldurk 0fc35e966f Fix Draw_Zoo tests for strip restart index changes 2022-09-02 14:03:39 +01:00
Shahbaz Youssefi ed4c3756d0 Enable primitive restart for list topologies
This is supported by OpenGL, and on Vulkan with
VK_EXT_primitive_topology_list_restart.  On Vulkan, all drivers are
known to support this even without
VK_EXT_primitive_topology_list_restart.  On D3D, primitive restart is
only supported for strip topologies.

Previously, RenderDoc specifically disabled primitive restart for
non-strip topologies.  In this change, that is no longer done.  If the
app enables primitive restart, so will RenderDoc behave accordingly.  It
would be the responsibility of the app to avoid primitive restart if the
API doesn't allow it.
2022-08-29 14:59:14 +01:00
baldurk be4f10557c Update vulkan header files to latest 2022-08-05 13:29:16 +01:00
baldurk 0b187934de Track bytes written for hidden SO counters. Closes #2662
* The D3D11 spec is unclear but checking sources including D3D11On12 it looks
  like the defined behaviour for SO counters is to calculate the number of bytes
  written and divide that by the VB stride on draw.
* Old captures can't be updated to work with this because the stride is unknown,
  but new captures will work correctly as well as any data that is stream'd out
  mid-capture.
2022-07-22 16:10:59 +01:00
Jake Turner fca14eac32 Apple minimal Nuklear implementation using AppKit 2022-07-18 13:13:37 +01:00
Jake Turner 6d7832df6f Update testing docs with info about Apple
Adding note about using "--demos-binary" option to specify the filepath of the demos binary as an alternative to making sure the demos binary is in the PATH.

Fixed a typo "can'tbe" -> "can't be"
2022-07-08 11:08:18 +01:00
Jake Turner c83851e884 First Apple platform support for Vulkan demos
Uses Metal-CPP-Extensions code to create window and the event loop.
Does not include support for Nuklear
2022-07-08 11:08:18 +01:00
Jake Turner 4e13b1ad38 Update Metal CPP to support tests project
Copy Metal driver metal-cpp files to the tests project for use in the tests project

Add extensions from Learn Metal-cpp project: https://developer.apple.com/metal/cpp/

https://developer.apple.com/metal/LearnMetalCPP.zip

Custom additions to Metal CPP to get NSApplication, NSView, NSWindow, CAMetalLayer to work stand alone without requiring MetalKit library.
2022-07-08 11:08:18 +01:00
Jake Turner 01184079c3 Test editing vulkan compute shader
Replace existing HLSL compute shader with a GLSL compute shader
2022-07-05 13:37:47 +01:00
Jake Turner 5b2b988bb3 Test changing vulkan compute shader entry-point
Commit for original bug fix:
"Fix entry-point remapping when editing compute shaders on vulkan"
c81a522360
2022-07-05 13:37:47 +01:00
baldurk 4dc80c1793 Use non-legacy ASIC to generate AMDIL
* This may break on drivers old enough to not recognise the first non-legacy
  ASIC, but that is much rarer than new drivers that have dropped support for
  the old ones.
2022-06-30 15:41:45 +01:00
baldurk 8e4b44aed7 Add test of integer offsets on texture sample for D3D shader debug 2022-06-30 13:51:26 +01:00
baldurk de619024c8 Test for extended UAV support in D3D11 test 2022-06-30 13:51:26 +01:00
baldurk 1928315de5 Fix a copy-paste error in D3D12_Compute_Only test 2022-06-24 13:34:46 +01:00
baldurk 4d9f53427e Check queue availability in vulkan compute-only test 2022-06-24 12:22:13 +01:00
Jake Turner 81436706c8 Recursive patching of qt external dependencies
Recursively copy and repoint the external libraries and their external dylib dependencies
2022-06-23 12:10:35 +01:00
baldurk 7d9a1a05b8 Correctly handle programs that don't create graphics queues 2022-06-21 15:31:41 +01:00
baldurk 687c11ba68 Fix handling of 64-bit integer vertex attributes in mesh output fetch 2022-06-20 16:47:50 +01:00
baldurk 183f50bfb7 Fix patching of qt dependencies 2022-06-20 16:47:50 +01:00
baldurk e15df3a75c Test that glBindProgramPipeline(0) generates no errors 2022-06-17 17:27:30 +01:00
baldurk db06aaa2de Test that recreating renderbuffers doesn't leak resources 2022-06-17 17:27:30 +01:00
baldurk 95c8a3f42e Test swizzles of UAV reads 2022-06-17 17:27:30 +01:00
baldurk 4a0bc691a7 Add test that solid/lit rendering works on points and lines 2022-06-17 17:27:30 +01:00
baldurk 71d7f000c4 Add test for D3D12 texture contents including with DENY_SHADER_RESOURCE 2022-06-17 17:27:30 +01:00
baldurk 20b496fc7a Add test of integer bare uniforms on GL 2022-06-17 17:27:30 +01:00