Commit Graph

10066 Commits

Author SHA1 Message Date
baldurk 2d668e13b7 Prevent race condition if multiple threads create identical D3D12 object
* We use HasWrapper() to deduplicate D3D12 objects which must not be created as
  duplicates, but we need to ensure that checking for existing wrappers and
  adding a new one all happens atomically with respect to other checks.
2020-01-23 15:51:13 +00:00
baldurk 332925d47e Handle OpLine/OpNoLine in SPIR-V disassembly 2020-01-23 15:08:02 +00:00
baldurk 0f8c9073b7 Hopefully fix handling of physical device functions in vkGet*ProcAddr 2020-01-23 12:32:04 +00:00
baldurk 4c9bb5d844 Add special push/pop logic for WGL contexts
* We can't easily restore the application's context if the DC that was current
  has been released. Instead we check to see if the last known window is still
  valid - if so, we get the DC handle from it. If not then we assume that
  rendering to the application's context setup would have failed so we bind our
  own backdoor window (but with the application's context still).
2020-01-22 19:05:53 +00:00
baldurk 14b3a06361 Add test of D3D12 ExecuteIndirect 2020-01-22 19:05:53 +00:00
baldurk a49f3f5462 Add test of degenerate vertex shaders with no outputs but full GS output 2020-01-22 19:05:53 +00:00
baldurk 9b29c5b35e Fix selection of MSAA pipeline variant on D3D12 2020-01-22 19:05:53 +00:00
baldurk d8c112dd78 Don't try to initialise texture when structured exporting on GL 2020-01-22 19:05:53 +00:00
baldurk 6c68576707 Add workaround for strange systems with difficult visualinfo setups 2020-01-22 19:05:53 +00:00
Steve Karolewics 0d2275ac02 Fix pixel pick value in D3D12 with a sRGB target 2020-01-22 19:05:37 +00:00
Aliya Pazylbekova ea5e63cfa6 VK pixel history: Update which tests failed
Run the same draw multiple times with an occlusion query and
tweaking the graphics pipeline to figure out which test failed
(if any).
2020-01-22 19:05:25 +00:00
baldurk 9dc53d4dd1 Add a test of D3D12 sharing resources 2020-01-21 18:28:57 +00:00
baldurk 1cb3cd5a1b Handle replaying captures that use VK_EXT_tooling_info 2020-01-21 18:28:57 +00:00
baldurk 60951195c2 Use VK_EXT_tooling_info in VK_Simple_Triangle 2020-01-21 18:28:57 +00:00
baldurk a869f12c9c Update vulkan headers and volk in tests project 2020-01-21 18:28:57 +00:00
baldurk 1a93888999 If no vertex pick result is found in a single instance, return error
* We don't want to return that no vertex was found in one particular instance,
  as that is misleading.
2020-01-21 18:28:57 +00:00
baldurk 45f983f97b Fix compilation of GL demo on linux 2020-01-21 18:28:57 +00:00
baldurk 0dd050f785 Add extra warning if target control ident isn't found on linux systems 2020-01-21 18:28:57 +00:00
baldurk 6b1d186e6f Collapse variable initialisation & assignment into just init
* This doesn't make any difference but removes some warnings from PVS Studio and
  is slightly cleaner.
2020-01-21 18:28:56 +00:00
baldurk 4a779e371b Add bracketing to macro use of parameters 2020-01-21 18:28:56 +00:00
baldurk 322e3c667d Fix some memcpy/pointer access issues identified by PVS Studio
* I don't think any of these were bugs, but they're certainly better off being
  fixed.
2020-01-21 18:28:56 +00:00
baldurk 7dd116abd4 Remove redundant/tautological comparisons identified by PVS Studio 2020-01-21 18:28:56 +00:00
baldurk 8fa93105f2 Fix some casts/calculations to keep PVS Studio happy
* It identifies some potential overflows which we know likely won't happen, but
  the fixes are harmless.
* Some issues are definitely bad, though not actual bugs.
2020-01-21 18:28:56 +00:00
baldurk baac06ca93 Remove redundant/dead code identified by PVS Studio 2020-01-21 18:28:56 +00:00
baldurk 68b9d223b0 Add explicit comparisons where we were implicitly checking for non-zero
* This fixes some warnings from PVS Studio, though none of these checks were
  actually wrong it's better to be explicit.
2020-01-21 18:28:56 +00:00
baldurk 421201df7a Fix support for fetching postvs from vertex shaders using subgroups 2020-01-21 18:28:56 +00:00
baldurk a2ce7215ff Ensure work is flushed before D3D12On7 presentation 2020-01-21 18:28:55 +00:00
baldurk 22dd60e0f1 Support MSAA backbuffers for headless outputs on D3D12 2020-01-21 18:28:55 +00:00
baldurk 5df64ac8b0 Enable line AA on D3D12 mesh rendering 2020-01-21 18:28:55 +00:00
baldurk 1ff3879815 Don't try to present on D3D12On7 for headless outputs 2020-01-21 18:28:55 +00:00
baldurk ba9f0c0e89 Make sure replay contexts tidy up share groups correctly 2020-01-21 18:28:55 +00:00
baldurk db0779e09b Add test for mesh view - vertex picking and mesh rendering 2020-01-21 18:28:55 +00:00
Steve Karolewics 36e81aba5d Change SRV/UAV fetching to be on-demand, when needed by an instruction 2020-01-21 18:28:42 +00:00
Steve Karolewics 8fb23b9010 Add SM 5.1 resource binding support to shader debugging
With SM 5.1, instructions specify a resource by a logical identifier,
but root signatures specify them with a base register and register
space. Find the appropriate declaration and retrieve the data needed
for resource lookup.
2020-01-20 17:46:16 +00:00
baldurk a5c54b3ce7 Don't pass event ID to PickVertex()
* It's meaningless to try and pick on any other event but the current one
2020-01-20 17:44:34 +00:00
baldurk a4961df6f0 Don't return an index byte stride if postvs data doesn't use indices
* Since we use the index byte stride to indicate whether a draw is indexed or
  not, returning a valid value here is misleading.
2020-01-20 15:04:14 +00:00
baldurk 2ecee8fc54 Fix D3D error in D3D11_Deferred_Map 2020-01-20 14:57:00 +00:00
baldurk 210626ae18 When updating postvs position/secondary configs, reset camera properties 2020-01-20 14:32:22 +00:00
baldurk cd3ef3dd55 Fix near/far plane specifiers being backwards 2020-01-20 14:28:59 +00:00
thisisjimmyfb 0734776a49 added test demo and script for opengl backdoor context 2020-01-20 13:41:18 +00:00
thisisjimmyfb 68ea2ddd67 fixed a problem with wglMakeCurrent failing
the issue of deleted DC making backdoor context
2020-01-20 13:39:13 +00:00
thisisjimmyfb c7c929eca9 Backdoor context for opengl resource retrieval 2020-01-20 13:38:30 +00:00
baldurk 11f1f30b46 Fix crash when mapping textures on deferred contexts 2020-01-20 12:23:47 +00:00
baldurk 42841e23be Expose vulkan layer registration in renderdoccmd on win32. Closes #1690
* This is needed so that the functional tests can elevate and run renderdoccmd
  to register the vulkan layer, if needed.
* At the same time remove the old spammy message and ignore flag - this dates
  back to before the UI existed, and that should be the way users run RenderDoc
  generally and it has a good UI for walking through layer registration if
  needed.
* The command is always available, but will only show up in help if attention is
  needed.
* Also fix registering installs on shared drives.
2020-01-20 11:46:48 +00:00
baldurk 78c68d643a Fix viewport when rendering custom shader on mips. Closes #1688 2020-01-17 19:53:39 +00:00
baldurk 4895219d59 Disable blending when rendering custom shader output 2020-01-17 19:53:39 +00:00
baldurk c98500e657 Fix pixel picking from custom shader output in image viewer. Refs #1688 2020-01-17 19:53:39 +00:00
baldurk ec5e63a53f Ensure component count is set correctly for special formats. Refs #1688 2020-01-17 19:53:38 +00:00
baldurk d4e723bfd8 Fix bugs identified by using PVS Studio
* A few copy-paste errors, some tautological checks indicating errors, missing
  return value checks.
2020-01-17 19:53:38 +00:00
baldurk cec30d499a Use ToStr() instead of %llu to format Resource IDs 2020-01-17 19:53:38 +00:00