Commit Graph
104 Commits
Author SHA1 Message Date
baldurk 8e4b44aed7 Add test of integer offsets on texture sample for D3D shader debug 2022-06-30 13:51:26 +01:00
baldurk 7d9a1a05b8 Correctly handle programs that don't create graphics queues 2022-06-21 15:31:41 +01:00
baldurk 71d7f000c4 Add test for D3D12 texture contents including with DENY_SHADER_RESOURCE 2022-06-17 17:27:30 +01:00
baldurk a351fc14f4 Fix tests for API changes 2022-05-24 12:48:17 +01:00
baldurk cef00a102b Add struct VarType and combine flags into single field
* This is not a space saving right now, but allows more flags to be added
  without adding more storage.
2022-05-20 13:37:25 +01:00
baldurk cfdbc3da57 Remove outdated experimental feature check 2022-05-03 15:30:47 +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 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
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
baldurk 2498043374 Add test of standard counters 2021-11-19 11:56:36 +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 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 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 50219acaf9 Fix crash when tests are run on linux 2021-07-28 11:37:14 +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 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
baldurk 732ccb2d89 Fix D3D12_AMD_Shader_Extensions test for DXIL support
* We can't build with -O0, it has to be at least -O1 for DXIL. We also need -Ges
  / strictness on both builds.
2021-05-10 17:02:49 +01:00
baldurk efd2a50a3a Use python datetime for calculating durations, not time.time() 2021-05-04 14:12:03 +01:00
baldurk 2af11c5395 Add test of AMD extensions in D3D12 2021-04-30 16:41:17 +01:00
baldurk 7ff6300843 Add test of D3D12 VRS features 2021-04-29 16:18:06 +01:00
baldurk 106999a43a Fix leak of descriptor memory during each capture on D3D12 2021-01-25 11:13:28 +00:00
baldurk 086b038d0b Add simple checks for large memory leaks
* Smaller memory leaks are harder to differentiate from noise, so we go for a
  large enough leak to be noticable over time (50,000 frames).
2021-01-19 15:22:12 +00:00
baldurk bb5834fd1c Add test of root signature ranges larger than the descriptor heap 2021-01-13 16:07:43 +00:00
baldurk 7ff7e0a71d Replace fixed C arrays with wrapper class in public interface
* These map more naturally to python tuples and are easier to wrap in and out.
* We also tidy up the FloatVecVal etc and standardise the members of
  ShaderValue.
2020-12-09 18:16:08 +00:00
baldurk 580f96c8a1 Rename ShaderVariableType/Descriptor to ShaderConstant
* These structs are no longer used with ShaderVariable so the name is misleading
  at best.
2020-12-09 15:18:27 +00:00
baldurk ed0138a242 Test that debugging sampling from vert shaders in D3D12 works correctly
* We also test that pixel shaders can be debugged even if they have
  DENY_ROOT_SIGNATURE_ACCESS enabled.
2020-10-29 16:12:33 +00:00
baldurk ffd8827812 Add test that tries to stress reallocation/pool allocation of commands 2020-10-29 15:08:50 +00:00
baldurk 3465809447 Add test that different list/queue types are handled in D3D12 2020-10-29 12:51:29 +00:00
baldurk ec73718cf0 Test that overlays work on D3D12 with no viewport or scissor bound 2020-10-22 14:48:33 +01:00
baldurk 9e17b91a94 Test different variations of DXGI swapchains on D3D11 and D3D12 2020-10-02 17:41:58 +01:00
baldurk 4518fda3ed Test entry points that could be applied to wrong resource types 2020-10-02 16:43:11 +01:00
baldurk 0e7bdc4cc7 Fix python call to GetDisassemblyTargets 2020-09-04 10:43:36 +01:00
baldurk 9ce60a0b6e Test that OpenExistingHeapFromAddress can be captured and replayed 2020-07-29 15:39:04 +01:00
baldurk 02a54be6ad When replaying resource discards fill with explicit pattern. Closes #284
* This helps catches cases where a discarded image is accidentally used and in
  many cases may still have valid data. Particularly on Vulkan this is relevant
  for DONT_CARE renderpass load and store ops.
2020-07-13 17:29:11 +01:00
baldurk aa3fda9baa Fix DXIL check to work on any dxc version 2020-07-02 10:07:42 +01:00
baldurk a0c66317e3 Add test of DXBC and DXIL D3D12 shader reflection 2020-06-19 14:46:00 +01:00
baldurk ab5c527489 Update D3D12 cbuffer test to check DXIL 2020-06-19 14:46:00 +01:00
baldurk d4ddb565d0 Add a per-shader debuggable flag to allow finer grained status
* E.g. on D3D12 we can debug DXBC shaders but not DXIL shaders. On vulkan this
  will allow us to have the UI work better when encountering shaders with
  unsupported capabilities or extensions.
2020-06-18 17:22:45 +01:00
baldurk a0a373a8e1 Fix handling of buffer truncation and zero-sized buffers 2020-05-29 17:26:29 +01:00
baldurk 78335f7d00 Fix calculation of array stride on structs in D3D
# Conflicts:
#	util/test/tests/GL/GL_CBuffer_Zoo.py
2020-05-13 18:07:26 +01:00
baldurk 15fa728ab9 Fix handling of empty structs in D3D 2020-05-13 18:07:26 +01:00
baldurk 01ca197655 Fix tests broken with updated non-remapped postvs index data 2020-05-13 18:07:26 +01:00