Commit Graph

13544 Commits

Author SHA1 Message Date
baldurk 428862d737 Test resolve attachments in D3D12 render passes 2022-11-18 14:04:57 +00:00
baldurk a37f62124d Test integer texture loads in D3D shader debugging 2022-11-18 14:01:59 +00:00
baldurk 037dd63d83 Fail D3D12 amd shader extensions test if UAV bind slot isn't supported
* UE5 checks for this feature so we'll also check for it.
2022-11-18 12:43:30 +00:00
baldurk 62bfec8442 Test empty submits are properly processed 2022-11-18 12:37:45 +00:00
baldurk 5aae46a86e Test out-of-bounds descriptor access in D3D12 indexing test 2022-11-18 12:24:05 +00:00
baldurk de2d6e7be9 Clamp/sanitise number of mips or array slices in D3D12 pipeline view 2022-11-17 18:22:57 +00:00
baldurk 153bc31a92 Fix off-by-one when searching for re-used arrays 2022-11-17 18:22:57 +00:00
baldurk 1f34b0ba57 Test D3D12 descriptors with 0 or ~0 as mip count 2022-11-17 18:22:57 +00:00
baldurk 16f7791437 Test more edge case root signature mappings with D3D12 shader debug 2022-11-17 18:22:57 +00:00
baldurk 108e4695df Add a test for resources being accessed in-shader then overwritten 2022-11-17 18:22:57 +00:00
baldurk f2f77716ad Test that vkEnumeratePhysicalDevices correctly handles undersized array 2022-11-17 18:22:57 +00:00
Artur Wojcik 3624d6e30b Fix the invalid pointer dereference bug in the combo widget 2022-11-17 19:22:40 +01:00
Artur Wojcik 789a2a131c Use the previous naming to keep source compatibility 2022-11-17 19:22:40 +01:00
Artur Wojcik e630515813 MiniQtHelper: upgrade ComboBox widget
Added interface functions:
    - GetComboBoxCount() the function returns the number of
      combo box options currently set,
    - SelectComboBoxOption() - selects an active combo box
      option by name from the list of set options.

Updated interface functions:
    - Changed SetComboOptions() to SetComboBoxOptions to keep
      consistency in naming.
2022-11-17 19:22:40 +01:00
Artur Wojcik e2f3426dc6 MiniQtHelper: fix the bug in SetWidgetFont() while setting the font face
Signed-off-by: Artur Wojcik <artur.wojcik@amd.com>
2022-11-15 19:56:25 +01:00
baldurk 14484cc67c Slightly increase D3D12 leak check threshold
* We're now caching descriptor data so we deliberately allocate a bit more
  memory. This will still allow us to catch egregious leaks.
2022-11-15 13:11:16 +00:00
baldurk e8cd70c22d Add some missing error messages during init contents prepare 2022-11-14 14:44:17 +00:00
baldurk 48f0c9a709 Fix missing release of resources 2022-11-14 13:57:21 +00:00
baldurk 1755176b1a More mac fixes 2022-11-13 15:26:09 +00:00
baldurk a1240f5f04 Fix mac compilation 2022-11-13 14:20:35 +00:00
baldurk bbdf7ffbca Make sure to upload mapped memory via cpu copy during loading on D3D12 2022-11-12 21:50:25 +00:00
baldurk 7291567fff Implement GPU-pushed readback for memory when optimal on D3D12 2022-11-11 15:25:51 +00:00
baldurk 7b96647dac When only returning used entries, skip entirely unused descriptor arrays 2022-11-09 18:02:46 +00:00
baldurk 61fc2f82f2 Improve iteration for large unused descriptor arrays in D3D12 pipeline 2022-11-09 17:51:33 +00:00
baldurk 6343a52c2f Conservatively reserve space for return arrays 2022-11-09 16:45:44 +00:00
baldurk ef2bdc995d Fix mutable bitmask being set when cache is populated 2022-11-09 16:36:49 +00:00
baldurk f0644a2257 Fix issue where multiple thumbnails would be added for overlapping binds
* Previously we iterated over each bind, and found the matching resources. Now
  we iterate over resources and find the matching bind. This matters when there
  are multiple overlapping binds so they are only found once (we don't
  disambguate which bind was used, as we don't elsewhere currently)
2022-11-09 14:15:15 +00:00
baldurk d11da2f3a1 Refactor texture viewer thumbnails to not use swapchains
* There seems to be a significant slowdown when using real swapchains, both for
  creation and display. Since thumbnails don't update often (only on event
  change, or if the panel is resized which is not a regular occurence)
  counterintuitively it's better to render and readback the image offscreen and
  re-upload it on the CPU.
2022-11-09 14:14:24 +00:00
baldurk 2e276a7f84 Remove rdcarray sized constructor 2022-11-09 13:22:53 +00:00
baldurk 2cf7b911c7 Fix refcounting issue with python frame objects 2022-11-09 12:20:48 +00:00
baldurk 742e3de252 Cache expanded views from large immutable D3D12 descriptor heaps
* The principle here is that on D3D12 it's common to have huge descriptor heaps
  in which only a handful of descriptors are changed. By caching the expanded
  D3D12Pipe::View results from these unchanging descriptors we don't have to do
  that over and over. Any descriptors written in the captured frame may have
  different contents depending on where we've replayed up to, so we don't cache
  them to keep things simple rather than invalidating the cache.
2022-11-08 17:42:18 +00:00
baldurk ffe09f1cb0 Do a better job of reserving memory for D3D12 pipeline state arrays 2022-11-08 16:26:09 +00:00
baldurk a21b78f55a Treat custom heaps on D3D12 with appropriate properties as CPU-copied 2022-11-08 16:16:31 +00:00
baldurk aacbaa77fb Refactor D3D12 map to do CPU uploads directly into mapped memory 2022-11-08 15:46:04 +00:00
baldurk 909b400683 Increase the data upload list array to 64 to reduce mid-frame syncs 2022-11-08 15:40:29 +00:00
baldurk 94c6b36e44 Don't mark draws as having valid empty feedback results 2022-11-08 15:40:16 +00:00
baldurk c4088be170 In-line buffer -> MSAA copies into command buffer rather than splitting
* We defer destruction of the view objects created until the next flush. In
  future this could be smarter about associating resource destructions with a
  submitted batch and deferring further until a fence is signalled to avoid
  synchronisation.
2022-11-08 13:12:35 +00:00
baldurk e400e9c4f6 Use initial state command buffer for memory 2022-11-08 13:12:35 +00:00
baldurk 4a6c34ac11 Account for D3D12 applications that call CheckFeatureSupport often
* The log is spammy if they check once per frame for example.
2022-11-08 13:12:35 +00:00
Sebastien Alaiwan 3bfea49a2d Fix uninitialized variable 2022-11-07 13:31:27 +01:00
Oliver Enseling 5451acedc1 source home directory from ${HOME} 2022-11-04 20:34:48 +01:00
baldurk 672557f8fa Add some internal logging for D3D12 CheckFeatureSupport calls 2022-11-04 17:42:23 +00:00
baldurk 8e4ae67929 Only apply D3D12Core.dll signature check to untrusted files
* UE5 at least currently (as of this commit) re-signs D3D12Core.dll by Epic.
  Rather than failing to load all such captures, only fail if the capture is
  marked as downloaded since local captures should be implicitly trusted.
2022-11-04 17:42:23 +00:00
Brian Osman 7a3ea53b3d vkEnumeratePhysicalDevices: Handle count being too small
Per the Vulkan Spec: "If pPhysicalDeviceCount is less than the number of physical devices available, at most pPhysicalDeviceCount structures will be written, and VK_INCOMPLETE will be returned instead of VK_SUCCESS, to indicate that not all the available physical devices were returned."
2022-11-03 16:48:55 +01:00
baldurk 95ade35dab Implement vkSetDeviceMemoryPriorityEXT and allow extensions 2022-11-03 12:47:13 +00:00
baldurk 86807180d1 Implement memory oversubscription vulkan extensions 2022-11-02 16:49:48 +00:00
baldurk 30453eb8ce Treat it as valid if no shaders that use dynamic resources are invoked
* E.g. if a draw is off-screen, the PS might not be invoked. If that's the only
  place we expect to see dynamic resources accessed we won't get our valid
  marker but the results should still be considered correct.
2022-11-02 15:29:16 +00:00
baldurk 9df7d40241 Fix compilation on python version update on mac CI 2022-11-02 12:22:33 +00:00
baldurk 32dbbaa707 Correctly handle D3D12 resources with no sparse subresources at all 2022-11-01 16:33:37 +00:00
baldurk 52b5a8954e Update superluminal API header to most recent version 2022-11-01 16:33:37 +00:00