622 Commits

Author SHA1 Message Date
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 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 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 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
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 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
baldurk ef003ec881 Test depth bounds serialisation on GL 2022-06-17 17:27:30 +01:00
baldurk 6a006625f2 Ignore rasterizerDiscardEnable == true if it is dynamic. Closes #2617
* Normally we have to ignore subsequent states as potentially garbage pointers
  if discard is enabled, but when it's dynamic state we have to ignore its
  valid.
2022-06-17 10:46:14 +01:00
baldurk 3e9a72071d Update to latest VK and SPIR-V headers
* This also adds support for VK_KHR_fragment_shader_barycentric as a mostly in-
  place upgrade from the NV extension
2022-06-06 18:35:29 +01:00
baldurk 1f1f1fae2d Fix some issues with tests found running on linux 2022-05-26 13:43:46 +01:00
baldurk da974ad5cf Fix test failing if compiler eliminates dead inputs 2022-05-24 13:31:04 +01:00
baldurk e925688913 Fix use-after-free when freeing vulkan postponed memory. Closes #2573 2022-05-23 13:56:05 +01:00
baldurk 4953adde03 Add a test of KHR_Dynamic_Rendering
* Not all possible interactions are currently tested, but at least the ones that
  have been broken in the past.
2022-05-03 18:47:27 +01:00
baldurk a9562c87f5 Test that discard patterns don't disturb bound state on vulkan 2022-05-03 15:30:20 +01:00
baldurk 96a7639c2e Add test of flow control constructs in D3D11 shader debugging 2022-05-03 14:06:07 +01:00
baldurk 04c62f9595 Add a test debugging shaders on D3D12 with banned flags in the root sig 2022-04-28 14:19:38 +01:00
baldurk c1240effe3 Test alternative functions for binding contexts on GL 2022-04-28 14:05:38 +01:00
baldurk 7066692262 Test that sampler heaps are represented in structured data properly
* This is a test of a specific case of lazy serialisation, but in particular
  D3D12 descriptors do some aliasing tricks for types to compress the data, so
  repeated serialisation needs to be safe.
2022-04-28 13:39:37 +01:00
Jake Turner aef7fc698b Add header files to demos CMakeLists.txt
Helpful for source browsing when using an IDE project generated by CMake

Potential list of header files found using:

find util/test/demos -name '*.h' \! -path "*3rdparty*" \! -path "*official*"
2022-04-25 12:08:51 +01:00
baldurk da08c10c41 Update vulkan & SPIR-V headers to latest 2022-04-13 12:19:15 +01:00
Benoit Dumesnil 2ace1fe84d Add test of D3D12 bindless feedback for shadermodel 6.6. 2022-03-21 11:30:47 +00:00
Benoit Dumesnil e47450a43b Fix test of D3D12 bindless feedback.
Fix a typo in a comment in D3D12_Descriptor_Indexing.py.
Fix UAV using a typed buffer view instead of a structured buffer view.
Fix SetDescriptorHeaps being called before ClearUnorderedAccessViewUint
2022-03-21 11:30:47 +00:00
Benoit Dumesnil 29770ef762 Update D3D headers in test project to latest D3D12 headers 2022-03-21 11:30:47 +00:00
baldurk 345206b2b8 Fix validation error with inline uniform block writes 2022-03-17 18:10:05 +00:00
baldurk fcdea67879 Update copyright years to 2022 2022-02-17 17:38:32 +00:00
baldurk 745bff2eeb Fix tests not passing a window title 2022-02-11 11:52:36 +00:00
baldurk ec5c14dee8 Add support for multiple batched presents on vulkan. Closes #2492 2022-02-10 16:36:19 +00:00
baldurk b7e13e7d6f Update demos vulkan headers to 1.3 2022-02-08 18:07:38 +00:00
baldurk f37516bfc3 Use depth image specifically for depth-compare tests in shader debug zoo
* The spec doesn't guarantee that non-depth formats support comparisons like
  this.
2022-02-08 18:07:38 +00:00
baldurk 9a75846343 Only provide mutable format list when needed 2022-02-08 18:07:38 +00:00
baldurk 68401caea3 Generate larger staging buffer for vulkan discard patterns
* The pattern buffer is 64x8 but doing copies to each target location can cause
  issues on very large textures. Instead we generate a 256x256 buffer with
  repetitions on load (which is still only ~256-512kB), and copy from that. We
  can still do truncated copies so we don't need a smaller buffer, and this
  greatly reduces the number of buffer copies issued.
2022-02-04 16:45:14 +00:00
baldurk d844d3af39 Fix missing stencil store op in discard zoo test 2022-02-02 15:00:44 +00:00
baldurk e4fd52c367 Fix generation of NaNs in vulkan shader debug zoo test 2022-02-02 15:00:44 +00:00
baldurk 0d7dcabdac Clamp version for vulkan 1.3 drivers that don't support BDA cap/replay 2022-01-31 17:25:23 +00:00
baldurk d0563ebaea Fix array overrun in test 2022-01-10 12:51:37 +00:00
baldurk 22d4dc4574 Don't create temporary device if D3D12 is not supported 2021-11-26 10:59:22 +00:00
baldurk 8d9a618bd6 Fix possible compile error in VK_Load_Store_None test 2021-11-22 13:15:41 +00:00
baldurk 861f55b467 Test picking empty draws in mesh view 2021-11-19 12:26:06 +00:00
baldurk 8f51857c69 Test D3D12 placed resources keeping a reference on their heap 2021-11-19 11:22:53 +00:00