* 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.
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.
* 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.
* 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.
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*"
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
* 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.