Commit Graph

6996 Commits

Author SHA1 Message Date
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
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 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
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 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 2020-01-15 14:00:30 +00:00
baldurk 1a2876af62 Disable crash handler on opera as well 2020-01-15 10:02:20 +00:00
baldurk adac442411 Add missing call to CombineDepthStencilLayouts
* We need to always do this when submitting possibly split depth/stencil
  implicit transitions, in case the split transitions were actually from the
  same layout and use a combined depth/stencil layout.
2020-01-14 18:45:11 +00:00
baldurk 0b5ac81ff0 Don't get command buffer too early in vulkan replay
* This is because we always submit all command buffers we fetch, and we don't
  want to submit empty command buffers.
2020-01-14 18:02:11 +00:00
baldurk 3d8f9cfade Log instance layers as well as instance extensions 2020-01-14 18:02:11 +00:00
baldurk 506d92fcaf Remove GetTextureCompleteStatus timer 2020-01-14 18:02:10 +00:00
baldurk df266eb04d Fix some version properties in windows resource files 2020-01-14 18:02:10 +00:00
baldurk 69694ce9d6 Fix crash handler compilation 2020-01-14 18:02:10 +00:00
Benson Joeris fa94424f93 Add split depth/stencil layouts for input attachments
Change-Id: Ie5b2d816873224f0ebcc20000a5987f56769d61a
2020-01-14 18:01:58 +00:00
thisisjimmyfb 99cace95cb fixed the problem of glClear not displaying its output fbo 2020-01-14 09:43:28 +00:00
baldurk f4c864eb3d silence bogus GCC warning 2020-01-13 19:00:04 +00:00
baldurk f4ab28205f Add option to non-interactively resolve callstack symbols
* Primarily for use in scripts
2020-01-13 18:29:50 +00:00
baldurk 8e15b1b7fa When using D3D12On7 allow shader editing to fall back to sm5_0
* This should really be configurable to compile with the original shader's
  profile, but for now we do this.
2020-01-13 18:19:54 +00:00
baldurk 90e414d097 Avoid text rendering resources leaking out when using D3D12On7 2020-01-13 18:19:23 +00:00
Daniel Craig b3d15996b2 Add headers required to build windows files without precompiled header 2020-01-13 13:02:46 +00:00
baldurk dd6e409bb6 Even though Win32 only has one windowing system, it is supported
* Generic code may be looking for the supported window systems even on windows.
2020-01-10 14:59:14 +00:00
baldurk 259f948fdc Combine initial image state barriers as we go
* Rather than forcing image states to completely split then completely merge
  again when the barriers are the same but recorded per-subresource due to
  previous splitting.
2020-01-10 13:23:37 +00:00
baldurk 04bc540851 Check for stale descriptor sets on compute as well as graphics 2020-01-10 13:02:10 +00:00
baldurk bc6401f23a Don't refresh overlay unnecessarily when it's not enabled 2020-01-10 12:55:26 +00:00
baldurk 0b9a4b0100 Add some new shader builtins 2020-01-10 11:22:20 +00:00
baldurk 96ae3bddb3 Patch GLSL shaders to at least #version 130 when making separable
* This is needed for the out gl_PerVertex block
2020-01-10 11:00:00 +00:00
baldurk 62911e56e9 Handle vertex shaders with no outputs in GL transfrom feedback
* We just skip the VS out entirely and make sure we still process any
  geometry/tessellation (which could generate output from no inputs).
2020-01-10 10:47:18 +00:00