Commit Graph

85 Commits

Author SHA1 Message Date
baldurk a856b6ebbe Fix VK_Buffer_Address shader compilation 2019-05-23 15:38:22 +01:00
baldurk 4cec51ff6a Use demo project name to determine test availability
* This is better than testing by platform/platform version, because we can check
  specifically for extensions and avoid running a test we know will fail because
  extensions aren't supported.
2019-05-23 14:03:47 +01:00
baldurk ec8564642a Refactor demo API test initialisation order
* Instead of only doing a very lightweight check to see if the API is available
  up-front, we now share the API initialisation among all API tests far enough
  to determine availability of extensions, features, etc. Then we can precisely
  determine which tests are available and which aren't before running.
2019-05-23 13:18:37 +01:00
baldurk eb6f04f941 Build demos project to demos_x64 or demos_x86 on windows and linux 2019-05-23 10:51:58 +01:00
baldurk e0275bc92b Replace use of tmpnam which warns on linux at link time 2019-05-23 10:29:27 +01:00
baldurk 69e55628c2 Handle all enum values in switch 2019-05-23 10:29:12 +01:00
baldurk 5b6b723428 Remove useless casts to parent class 2019-05-23 10:29:03 +01:00
baldurk 2573dffde7 Remove MAP_UNSYNCHRONIZED_BIT from GL persistent maps
* This is required because we add MAP_READ_BIT and the spec doesn't allow maps
  that are both unsynchronized and reading.
* Also add a test for unsynchronised persistent maps, and update the
  GL_Buffer_Updates test to not require a reference image but check each quad
  individually for the expected colour.
2019-05-22 12:04:33 +01:00
baldurk 622291fde9 Set up to let demos project filter list of available tests
* This is primarily for the benefit of GL/VK where we need to feature-detect for
  some extensions or functionality that requires selecting a device, e.g. D3D12
  can be more easily detected with a quick check.
* We'll run this once and cache the results when running tests from python so we
  can do a better job of filtering out tests that the current machine doesn't
  support.
2019-05-20 16:23:09 +01:00
baldurk 6d47b35cd9 Change GL_Entry_Points test to use more generally available functions 2019-05-17 16:32:55 +01:00
baldurk 63728a425f Add newly-created tests to CMakeLists.txt 2019-05-17 16:32:55 +01:00
baldurk ce92ba70d1 Revert accidental change to GL_Simple_Triangle test 2019-05-15 14:12:17 +01:00
baldurk d3d5d63b2a Add tests of awkward lifetime edge cases for resources on all APIs
* This is primarily around initial states - either a resource which is from a
  previous frame and maybe wasn't dirtied and needs initial states created for
  it when it's modified mid-frame, or a resource that's created and destroyed
  all within one frame.
2019-05-14 17:13:29 +01:00
baldurk 5a18717b6e Add D3D12 helper to set descriptor table parameter offset 2019-05-13 19:07:23 +01:00
baldurk 60a4877c68 Add test that aliased entry points on GL are recorded faithfully 2019-05-03 12:32:44 +01:00
baldurk a42220a035 Add helpers to set/push/pop markers on GL 2019-05-03 12:27:21 +01:00
baldurk cd9ab1c9db Add test of GL_Buffer_Updates 2019-05-03 11:36:34 +01:00
baldurk a1adcd431d When adding GL_MAP_READ_BIT to persistent maps, remove INVALIDATE_*_BIT 2019-04-30 13:35:00 +01:00
baldurk 9c7430c305 Fix debug callbacks on GL demos 2019-04-30 13:32:51 +01:00
baldurk f2987cd30e Allow escape to close the demos project's launcher 2019-04-30 10:31:17 +01:00
baldurk 4d7e8d879a Fix compilation of demos project on 32-bit 2019-04-30 10:30:55 +01:00
baldurk 93d23ebac5 Add helper for creating D3D12 PSO with MSAA in testbed program 2019-04-24 13:10:00 +01:00
baldurk 77269327ef Add EXT_descriptor_indexing test
* This is a simple test using descriptor indexing in fragment and compute
  shaders, with sampled images and storage buffers, including passing bindless
  arrays through functions to be sure that's tracked properly.
* There's also a define to turn on a reasonably bad case (though not
  worst/extreme) of # of descriptors - roughly 5 million descriptors allocated
  in total, with roughly 1 million bound at draw time.
2019-04-05 09:19:23 +01:00
baldurk 2c583b66f6 Add initial VK_EXT_buffer_address capture/replay implementation
* The extension is not yet whitelisted as there is no solution currently for
  feedback on used bindings or handling of pointers in data structures within
  the UI or shader reflection.
2019-04-05 09:19:22 +01:00
baldurk ccd5ba218e Explicitly shutdown only the running test, instead of using destructors
* The tests are global objects so there's a potential ordering issue of
  destroying these tests after RenderDoc's global destructors have run.
2019-04-04 15:50:34 +01:00
baldurk 043fcda299 Fix check for external glslc 2019-04-04 15:50:34 +01:00
baldurk 3cc2c37149 Don't crash on linux if getenv() returns NULL for unknown variable 2019-04-04 15:50:34 +01:00
baldurk d351ac9ea4 Update to 1.1.105 vulkan headers 2019-04-04 15:50:24 +01:00
baldurk 4c3a68d866 Add a couple of setName overloads in VulkanGraphicsTest 2019-04-01 15:23:27 +01:00
baldurk 1cada82d2f Use VK_EXT_debug_utils in testbed program 2019-04-01 15:23:27 +01:00
baldurk 7cef20fde5 Add missing demo project tests to CMakeLists.txt 2019-03-29 17:48:15 +00:00
baldurk d677b594b1 Fix D3D11_Binding_Hazards test 2019-03-25 17:48:44 +00:00
baldurk 143c75f5a0 Update volk to 1.1.101 2019-03-05 16:03:20 +00:00
baldurk c72e79960e Allow launching demos program with no arguments to see test selection 2019-02-15 14:55:30 +00:00
baldurk bbc2f47fa8 Centralise generation of buffer format strings for struct buffers
* We also fix a number of issues that could cause incorrect formats to be
  generated.
* Test cases added for D3D11/GL/Vulkan to test different struct types. These
  aren't automated at the moment because most of the code they're testing is in
  the UI itself.
2019-02-13 18:50:56 +00:00
baldurk 166bd285ae Add help output when running demos program 2019-02-13 18:50:56 +00:00
baldurk 28e0e17d16 Enable scalar block layout feature in VK_Adv_CBuffer_Zoo 2019-02-13 18:50:56 +00:00
baldurk 014619eaf9 Add D3D11_RESOURCE_MISC_SHARED in GL/DX interop tests
* Necessary for it to work correctly on AMD
2019-02-13 18:50:55 +00:00
baldurk be67e91cc7 Add testing of saturate on NaNs in D3D shader debug 2019-02-07 15:23:06 +00:00
baldurk fbb6b23b23 Support advanced cbuffer layouts
* This includes 8/16/64-bit integers, 16-bit/64-bit floats, and scalar block
  packing
2019-02-07 15:23:06 +00:00
baldurk 134cdfd09b Add tests to CBuffer Zoos to test alternate uniform sources on APIs
* Vulkan: Specialization constants
* OpenGL: Bare uniforms (not in a UBO)
* D3D12: Root signature constants
2019-02-07 15:23:06 +00:00
baldurk 351c75e006 Fix some cases handling arrays of matrices
* We also pick the output pixel in the CBuffer_Zoo tests to ensure the API
  agrees with our interpretation of the data.
* Follow-up commit will tidy D3D cbuffer code that needs it.
2019-02-07 15:23:05 +00:00
baldurk 6d07e1c42e Add support for VK_EXT_discard_rectangles 2019-02-05 18:40:31 +00:00
baldurk 354b37be56 Add support for VK_EXT_sample_locations 2019-02-05 18:40:31 +00:00
baldurk cb9fc1dc4f Update vulkan headers in demos project 2019-02-05 18:40:31 +00:00
baldurk 73a5357419 Fix handling of primitive restart with a vertex offset 2019-02-04 18:06:09 +00:00
baldurk 73063703e6 Inherit indirect copies from secondary to primary cmdbufs. Closes #1251
* Updated VK_Indirect test to run everything in secondary command buffer as
  well.
2019-02-01 18:32:14 +00:00
baldurk 86ff87863e Update copyright years to 2019 2019-02-01 18:32:13 +00:00
baldurk 4bded8be29 Add missing GL_DYNAMIC_STORAGE_BIT specifiers in GL_Buffer_Updates test 2019-01-24 13:21:03 +00:00
baldurk f2253404f7 Add test that verifies postvs data is correct with separable GS shaders 2019-01-22 16:56:04 +00:00