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