Commit Graph

15562 Commits

Author SHA1 Message Date
baldurk f287da5bdf Fix assert on sparse page tables 2025-02-10 17:52:27 +00:00
Jake Turner 0a302c6707 Remove DXIL Debugger TODO's that have been done 2025-02-10 14:24:00 +00:00
baldurk 3c1fcf4616 Try to be more robust in the face of repeated VK_ERROR_OUT_OF_DATE 2025-02-07 11:28:25 +00:00
baldurk 2c5fee7c07 Set mesh viewer tables to always have a scrollbars
* This can prevent a very rare resize loop
2025-02-07 11:28:25 +00:00
baldurk b691f2421e Update vkconfig check 2025-02-06 17:55:07 +00:00
Martyn Jacques d44b326130 Dynamically allocate Vulkan output window swapchain arrays
Vivo X90 devices provide 11 swapchain images. Dynamically
allocate output window arrays to handle this.
2025-02-06 13:51:00 +00:00
baldurk faa13cb568 Only use one colour output for discard PS on vulkan
* Fixes a minor validation warning (which may or may not be legit, but is easy
  to silence)
2025-02-05 16:36:55 +00:00
baldurk fb5a6a6133 Fix regression that all D3D11 output targets were considered used
* This would lead to them showing up as 'red' if they are unbound.
2025-02-05 16:36:55 +00:00
baldurk ac27c60b05 Don't copy instructionLines map when processing shader printfs 2025-02-05 16:36:55 +00:00
baldurk b0e8d8e988 Fix writing of identifying SV values during D3D pixel shader debugging
* These inputs are not necessarily in element 0, though they tend to be. They
  can be packed into v2.y though so we should respect that element
2025-02-05 16:36:55 +00:00
Remi Palandri b1d581b3c2 prevent subsequent calls to setobjectname increasing chunk count 2025-02-05 16:36:33 +00:00
Stefano Bonicatti a0e52feba1 Fix stack-use-after-scope reading QT_QPA_PLATFORM env var
Setting QT_QPA_PLATFORM with putenv from a local variable
causes the environment to later still refer to it when it's out of scope.
Use setenv instead, as it copies the values provided.
2025-02-05 15:40:15 +00:00
Tristan Ritchie 9c8bb99494 Fix alignment calculation when copying GLES compressed tex data
Change-Id: I05140cd6493a2cda9a17864071e7c67a191c9907
2025-01-31 18:07:32 +00:00
Faith Ekstrand 876212c4da Add special cases for Fossilize encoding of mutable descriptors
When mutable descriptor sets are used, Fossizlie needs the
VkMutableDescriptorSetCreateInfoEXT. However, instead of taking it raw
like some other inputs, it uses a simplified version that is just a list
of lists. If we give it full structs, Fossilize will crash. In order to
do this, we need a couple special cases.
2025-01-28 23:31:30 +00:00
baldurk da6a31d619 Fix validation issues around KHR performance query
* Set sType for query-return structures.
* Ignore pass boundaries to not mix queries inside and outside of renderpass
  boundaries.
* Wait for idle before fetching KHR results (don't think it should be necessary
  with VK_QUERY_RESULT_WAIT_BIT but validation expects it).
2025-01-27 12:42:39 +00:00
baldurk 06df4418fd Only submit performance queries for main queue. Closes #3505 2025-01-27 12:41:49 +00:00
baldurk 6865755297 Don't compile multiview vulkan shaders if multiview is not enabled 2025-01-25 15:59:31 +00:00
baldurk e38e2d4177 Fix VK_Descriptor_Index test declaring too large array
* This was variably sized so in practice we didn't use it, but the spec still
  requires us to respect the max sizes that could be used for the upper bound
  and this lead to the wrong texture being sampled on NV.
2025-01-25 15:59:31 +00:00
baldurk 590f51151b Mark mesh shaders using task payloads as unsupported
* The mesh debugger implementation does not fetch the payload.
2025-01-24 16:38:36 +00:00
baldurk b8def8854e Fix typo accidentally introduced 2025-01-21 10:27:20 +00:00
baldurk fa2085860d Always prioritise loading a new d3dcompiler over re-using an old one
* Previously when replaying we'd always use our d3dcompiler_47.dll that we ship,
  but during capture we would always prioritise re-using an existing d3dcompiler
  that the process already had.
* Since it should be safe to have multiple (differently named) d3dcompiler's in
  the same process and we want to avoid using an old out of date d3dcompiler if
  possible, we prioritise loading a new d3dcompiler_47.dll over re-using an
  existing in-process d3dcompiler_43.dll
2025-01-17 15:43:51 +00:00
baldurk a3a5f07a7e Workaround compile error on old fxc's using .sample on 2DMS texture 2025-01-17 15:41:54 +00:00
baldurk 341ed79ed1 Print the reason for unoptimising shaders 2025-01-17 15:26:49 +00:00
baldurk 7cf63c71bc Add more robust error-checking for debug resources 2025-01-17 15:24:01 +00:00
baldurk 07bec58317 Don't create empty D3D12SDKLayers.dll file if not available 2025-01-17 15:21:44 +00:00
baldurk c97ac7907c Fix addressing calculation in sparse table mip tails with D3D12 wrapping 2025-01-17 13:37:16 +00:00
baldurk e1ff74fca6 Update valgrind suppressions 2025-01-17 11:39:52 +00:00
baldurk 7840000d24 Ensure descriptors are cleanly serialised and initialised for all types 2025-01-16 19:43:20 +00:00
baldurk e8abd693c6 Fix uninitialised struct being accessed in next chain unwrap helper 2025-01-16 19:43:03 +00:00
baldurk 9cfb2acdfa Strip any skipped resources (with no initial content data) on vulkan 2025-01-16 14:00:24 +00:00
baldurk 0f515d591a Don't assert on an empty next list of VkBindSparseInfo 2025-01-16 12:30:28 +00:00
baldurk 62a89fcf22 Quote newline entries for matrix CSV exports. Closes #3520 2025-01-16 12:04:15 +00:00
baldurk 4f91478f43 Switch installer custom action from jscript to vbscript
* MS has deleted vbscript because breaking things is fun, so we use jscript
  instead to do the weird replace of '#' so that numbers read from the registry
  can be compared to numbers
2025-01-14 17:54:54 +00:00
baldurk 6feafaf74e Workaround AMD driver bug
* This may be present on other drivers - the vulkan spec allows a NULL pointer
  (or really garbage)
2025-01-14 15:47:39 +00:00
baldurk 2dee289ff5 Fix calculation of OOB bounds on vulkan 2025-01-14 15:47:39 +00:00
baldurk 22e9ef1972 Ignore initial states for images that are still in UNDEFINED
* By definition they can't have meaningful contents.
2025-01-14 15:47:39 +00:00
baldurk 049ad9787d Don't assert on empty geometry list in BLAS if there should be no geoms 2025-01-14 15:16:07 +00:00
baldurk c8223f5869 Fix D3D12 descriptor indexing test for named descriptors 2025-01-14 12:18:31 +00:00
baldurk e692c30a05 Handle 16-bit types not being supported in demos project 2025-01-14 12:07:24 +00:00
baldurk 3c5ce8a84a Remove unused API function
* Headless windows are used as immutable in tests so allowing resizing is
  unnecessary complication
2025-01-13 11:09:10 +00:00
baldurk f3f0617b37 Do extremely stupid version checking to workaround dxc nonsense in tests
* On a new enough dxc we can pass a flag to tell it to ignore dxil.dll
* This allows the tests to run on the test machine with an old windows SDK
  (where the demos project copies the dxcompiler.dll + dxil.dll from) but still
  pull in a new dxcompiler.dll without having it break on an old dxil.dll
2025-01-13 11:02:22 +00:00
baldurk cd84566b1c Fix case where PreprocessLineDirectives could eat preamble before #line
* This would happen if a #line referenced the file it was already in - we would
  only start outputting lines starting from the first one. Normally in this case
  there's a #line before any text, but that's not guaranteed.
2025-01-10 15:51:26 +00:00
baldurk 2e3a54b9d0 Fix 64-bit type casts on linux 2025-01-10 14:21:26 +00:00
baldurk b46b8d96cf Prefer using custom D3D12/ local dxcompiler.dll in demos project 2025-01-10 11:29:28 +00:00
baldurk f6c016245e Fix indexing and dimension calculation for non-square matrices in DXIL 2025-01-10 11:20:32 +00:00
baldurk 7f294a7e68 Handle anonymous structs in DXIL 2025-01-10 11:20:18 +00:00
baldurk d526a1a076 Don't re-cache same types if AddDebugType is called again 2025-01-10 11:20:00 +00:00
baldurk d4ecc62684 Update GPUVA tracker API to only take address & ID for removal
* Size is not always set on removal and we were accidentally relying on it in
  the implementation.
2025-01-09 17:01:26 +00:00
baldurk 9582c1b624 Update GPUVA tracker to keep a list of overlaps
* This allows us to better return a valid mapped resource for an address even in
  the case of overlaps/aliasing which might otherwise 'hide' a larger buffer.
2025-01-09 17:01:26 +00:00
baldurk 14f238247b Add unit tests to GPUVA tracker and keep implementation private 2025-01-09 17:01:26 +00:00