Commit Graph

10044 Commits

Author SHA1 Message Date
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
baldurk 4a587da167 Account for byte offset when expanding arrays in bufferviewer formatter 2020-01-17 19:53:38 +00:00
baldurk e347912479 Don't set TextureCategory::SwapBuffer on image viewer texture
* This prevents toggling linear/gamma display because swap buffers are always
  interpreted as gamma.
2020-01-17 19:53:38 +00:00
Steve Karolewics 654acb67f5 Add register space support for shader global state UAV/SRV data
Instead of fixed arrays, the global state stores a map of UAVs and
SRVs, with the key being a pair of the shader register and register
space. Switched D3D12 sampler/gather to use SM5.1 and handle register
spaces.
2020-01-17 19:53:23 +00:00
Alex Vakulenko 6cd2d18d9e Fix build break on VS2019 due to implicit wchar_t->char conversion
Converting std::wstring to std::string by constructing the latter with
wchar_t iterators result in implicit conversion of wchar_t to char which
trips Visual Studio 2019 compiler into throwing a warning of potential
data loss during conversion. Use conv() helper function to do the
conversion and please the compiler at the same time.
2020-01-17 19:53:09 +00:00
baldurk 526240f2d5 Fix order of functions to ensure non-SRGB format in pixel history 2020-01-16 23:06:24 +00:00
baldurk a1e662eb30 Fix mismatched GLMarkerRegion after changing context 2020-01-16 23:06:23 +00:00
baldurk 08b2572554 Fix precision loss when downcasting to HDR/EXR identified by @iOrange
* When outputting to a format supporting more than 8-bit data, we don't want to
  lose precision by downcasting e.g. D32S8 to RGBA8, instead use RGBA32.
2020-01-16 23:06:23 +00:00
baldurk 892abb686f Apply clang-format to demos project as well 2020-01-16 23:06:23 +00:00
baldurk ca07c1626e Fix MSAA mismatch in mesh view output rendering 2020-01-16 23:06:23 +00:00
Jeremy Ong 29403836c6 Fix numerous compiler warnings and errors
Depending on OS and compiler, certain types may not be included
transitively by headers that were included previously. This commit
produces a clean build on the latest trunk versions of GCC, Clang,
and QT.
2020-01-16 23:05:58 +00:00
Steve Karolewics 7076e674ca Change boundDescs to a rdcpair to avoid perf issues at runtime
With large bindless descriptor tables, traversing all entries to
fill the boundDescs vector was a perf bottleneck. By switching to
storing the first descriptor pointer and a count, the bottleneck is
eliminated. Traversal during queue submit is slightly more complicated
but the same number of descriptors are visited.
2020-01-16 23:05:46 +00:00
Benson Joeris f12ae2d9fa Fix alignment for mapped memory when loading initial contents
Change-Id: If40878b6b7a190237c3686463c7358bb033c8b06
2020-01-16 23:05:31 +00:00
Benson Joeris 84fd1858ca Fix missing SAMPLER descriptor type
Change-Id: If1e466bb0479fee914e5b8c0cbca5f54b327229d
2020-01-16 23:05:19 +00:00
Aliya Pazylbekova 8891a8d6fd VK pixel history: refactor, and add outline of additional callback
- Add an outline of another callback used to detect which tests
failed.
- Refactor to make it easier to add additional callbacks: add shader
cache to keep track of created shaders and share them between
callbacks.
2020-01-16 23:05:09 +00:00
Aliya Pazylbekova 791d1089b0 Add drawcall callbacks to end and next renderpass cmds
For Vulkan pixel history vkCmdEndRenderPass and vkCmdNextSubpass
can represent a modification, since it might be doing an implicit
image resolve. Pixel history is using drawcall callbacks to figure
out values pre- post- events, and vkCmdEndRenderPass and
vkCmdNextSubpass might be such events.

Also adds clear image usage to vkCmdBeginRenderPass(2) for images that
have VK_ATTACHMENT_LOAD_OP_CLEAR.
2020-01-16 23:04:53 +00:00
Steve Karolewics 1403162a39 Unwrap resource when the application calls AssertResourceState 2020-01-16 12:32:37 +00:00
baldurk b41c36427a Bump version to 1.7 2020-01-15 14:42:42 +00:00
baldurk 0e7f772596 Add Vulkan 1.2 support v1.6 2020-01-15 14:00:30 +00:00
baldurk 2418a8faef Add a per-test duration log when running tests 2020-01-15 11:24:41 +00:00
baldurk 1a2876af62 Disable crash handler on opera as well 2020-01-15 10:02:20 +00:00
baldurk 82fca7d325 Make the display_window.py example quit after a few loops 2020-01-15 10:02:20 +00:00
baldurk 7d22448d3f Sample code should take the capture to load as an argument
* This makes it easier to run the examples from the command line without editing
  them
2020-01-15 09:23:12 +00:00