Commit Graph

822 Commits

Author SHA1 Message Date
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 bd2659a6ab Increase number of captures on GL_Leak_Check test to match other APIs 2021-11-19 12:11:41 +00:00
baldurk 2498043374 Add test of standard counters 2021-11-19 11:56:36 +00:00
baldurk 8f51857c69 Test D3D12 placed resources keeping a reference on their heap 2021-11-19 11:22:53 +00:00
baldurk 0f4433f658 Add a test of multiple entry points in a SPIR-V module 2021-11-16 16:27:36 +00:00
baldurk 751c80af85 Don't use spec constant ID as offset for storage. Closes #2413
* This requires a linear search to get the offset for a constant by ID, but
  hopefully no-one will have so many constants that this becomes an issue.
2021-11-16 15:01:42 +00:00
baldurk 37fd59313b Add a test of vulkan shader debug printf 2021-11-15 16:14:00 +00:00
baldurk ff1fc1c20f Test handling of residency refcounting and placed resources on D3D12 2021-11-15 15:07:56 +00:00
baldurk 799f3a806b Add tests of multi-bind GL functions that take NULL arrays 2021-11-15 13:32:10 +00:00
baldurk f96a91a108 Show how to hardcode a single test in the demos project 2021-11-15 13:09:24 +00:00
baldurk 32fd5b5f18 Fix SDK detection on VS2022 where the windows SDK has no 64-bit reg key 2021-11-15 11:02:05 +00:00
baldurk 4d906c5007 Check that multiple D3D12 devices with different resources doesn't break 2021-11-11 15:54:47 +00:00
baldurk 3da6a89bfb Test reading from NULL vertex buffer at offset 0 with VK_EXT_robustness2 2021-11-11 15:36:56 +00:00
baldurk 77e11abf07 Test that mapping and unmapping a "persistent" buffer each frame works 2021-11-11 15:20:43 +00:00
baldurk eb96e8007c Fix validation error in VK_Shader_Debug_Zoo 2021-11-11 15:15:50 +00:00
baldurk d0d809f43e Add a test using ~0U for OpVectorShuffle inputs 2021-11-11 15:15:42 +00:00
baldurk 352821026e Add tests that frame 0 can be captured and contains correct events 2021-11-11 14:43:17 +00:00
baldurk bb3343786b Add support for VK_KHR_dynamic_rendering 2021-11-05 14:15:01 +00:00
baldurk 7a4e68959f Support VK_EXT_load_store_op_none & color_write_enable. Closes #2363
* These are added together because VK_EXT_load_store_op_none is easier to test
  in a realistic fashion using VK_EXT_color_write_enable
2021-10-22 14:48:58 +01:00
baldurk 56f87abcab Update vulkan & SPIR-V to latest
* Vulkan header 1.2.196
2021-10-21 14:25:44 +01:00
baldurk 3cec544508 Patch quad overdraw shaders on D3D12 to follow rules. Closes #2356
* This is a stupid requirement as the quad overdraw shader doesn't use any
  interpolators, but the D3D12 runtime complains and refuses to create a PSO
  unless the PS has a matching signature. This works as long as the position was
  the first output from the previous stage, but if it isn't the PSO fails to
  create.
* To fix this, we take the existing shader and patch it by grafting the output
  signature from the last stage over onto the input signature, and patching up
  where the position is.
2021-10-20 17:22:43 +01:00
baldurk 97dfda3c3c Fix use of GetCBufferVariableContents in tests 2021-10-18 10:20:08 +01:00
baldurk 62d6ffaec2 Enable DXIL bindless feedback test 2021-09-27 12:26:22 +01:00
baldurk bffeb08a86 Try to do a version check on installed VC redist. Refs #2359
* Unfortunately there isn't an easy registry key to check to see if the
  2015-2019 redist that we need is installed. Instead we need to check the
  major/minor version to see if it's at least 14.20.
* This is complicated by the fact that windows installer returns DWORD registry
  values with an extra # but provides no built-in way to strip it so it can be
  compared numerically. The solution we've used here is a custom vbscript
  action, but apparently they are problematic. Worst case I believe this will
  try to install the runtime when not necessary, which might require an
  unnecessary reboot. Or alternatively it may misdetect the runtime as installed
  but the large majority of people have a compatible redist so this isn't too
  bad either.
2021-09-17 13:20:46 +01:00
baldurk 33d36788a6 Always check mapped memory for changes if it has BDA buffers
* Normally we only check mapped memory when it's referenced during capture by
  some binding, but for BDA we don't have bindings so we have to conservatively
  check it every time.
2021-09-13 19:13:30 +01:00
baldurk 6659fae944 Don't use sudo in docker prepare script 2021-08-31 09:04:57 +01:00
baldurk 7d1cc7a6b8 Fix ubuntu docker build failing due to packages moving URLs 2021-08-31 08:54:34 +01:00
baldurk a76aa1dede Update RGA devices list to include RDNA2
* We also drop everything gfx804 to keep the device list from being too bloated,
  as well as AMD planning to remove support for these devices soon.
2021-08-18 20:12:07 +01:00
baldurk a490606012 Handle D3D12 CreateConstantBufferView with a NULL desc 2021-07-28 14:01:13 +01:00
baldurk 50219acaf9 Fix crash when tests are run on linux 2021-07-28 11:37:14 +01:00
baldurk 08b0a1d7ea Fix use-after-free on temporary vector 2021-07-28 11:37:13 +01:00
baldurk d2a03c6e06 Fix filling in missing components on typed buffer loads 2021-07-28 11:37:13 +01:00
Jake Turner 076b2827c6 Fixed unused variable warnings when compiling with VS 2022 compiler
Debug & Release builds for renderdoc.sln and demos.sln
2021-07-28 11:06:53 +01:00
baldurk a3a0aae660 Handle fixed index lookups in array resources 2021-07-19 16:51:50 +01:00
baldurk abe0787bb2 Add test of D3D12 bindless feedback 2021-07-15 16:41:23 +01:00
baldurk 7f13429d0e Log in tests when using linked shaderc 2021-07-13 17:45:59 +01:00
baldurk 24af06ac3e Fix validation warnings in VK_Synchronization_2 test 2021-07-13 17:45:49 +01:00
Jake Turner 59ca2811ef Change glGetInternalformativ bufSize values
Specify the maximum count of parameters instead of number of bytes
i.e.

GLint iscol;

GL.glGetInternalformativ(target, fmt, eGL_DEPTH_COMPONENTS, sizeof(GLint), &isdepth);
becomes
GL.glGetInternalformativ(target, fmt, eGL_DEPTH_COMPONENTS, 1, &isdepth);

From GL references pages: https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetInternalformat.xhtml

bufSize

Specifies the maximum number of integers of the specified width that may be written to params by the function.
2021-07-12 20:36:00 +01:00
baldurk 81b4d3d804 Add public domain md5 library and implement modified DXBC container hash
* This allows us to disabled any requirement for "experimental shaders".
2021-07-07 19:18:32 +01:00
Jake Turner fc08cb17f9 Fix VS2019 compiler warnings in demos solution 2021-07-07 09:59:22 +01:00
Jake Turner b3f57d1427 Fix Vulkan Validation Layer error when running VK_Parameter_Zoo
refpushtempl desscriptor update template was not deleted before shutdown
2021-07-07 09:59:22 +01:00
baldurk 23fe6ae67f Remove SM5.0 test for D3D12 AMD shader extensions
* This seems not to work and is not officially supported so there's little value
  in testing it.
2021-07-05 14:20:48 +01:00
baldurk a1b5f01159 Fix tests with references to removed properties 2021-07-05 14:20:48 +01:00
baldurk 979f5244e2 Make demos timeout more generous for leak check tests
* It's fine as-is in release, but in development builds it can take almost a
  minute to reach that frame and capture.
2021-07-05 14:20:48 +01:00
baldurk 634a8c381a Update test scripts to latest APIs and behaviour changes 2021-07-01 15:15:05 +01:00
baldurk 7149302680 Rename 'draw' or 'drawcall' to action
* There's not a good accepted terminology for this kind of event, and for
  historical reasons 'drawcall' has been the accepted term, even though
  that can be quite confusing when a dispatch or a copy is a 'drawcall'.
* This is particularly highlighted by the event browser filters where
  $draw() includes draws and dispatches, but $dispatch() only includes
  dispatches, it's hard to intuitively understand why $draw() matches all
  of these calls.
* As a result we've defined the term 'action' to cover these types of
  events in the same way that we defined 'event' in the first place to
  mean a single atomic API call.
2021-07-01 15:15:05 +01:00
thisisjimmyfb f64cba8e91 Add test to show drawcall count is incorrect 2021-06-26 09:28:42 +01:00