Commit Graph

10281 Commits

Author SHA1 Message Date
baldurk 2ca43b82bd Fix gcc compilation 2020-03-03 19:26:00 +00:00
Tayfun Kayhan 2373ae7b45 Convert GPU Time counter correctly 2020-03-03 18:06:11 +00:00
baldurk 3a9152a318 Use local mirror of source archive which Qt deleted in build script 2020-03-03 18:05:12 +00:00
Aliya Pazylbekova 77131d3f75 Vk pixel history: support various texture formats 2020-03-03 18:02:58 +00:00
baldurk a788e51733 32-bit compile fix 2020-03-02 18:55:50 +00:00
baldurk 38481d9cd7 Fix out of bounds vertex buffer fetching behaviour 2020-03-02 17:37:23 +00:00
baldurk 7e9b6ff70f Check vertex debugging results in Iter_Test
* Also never hard error on debug results, just print an error message for manual
  evaluation
2020-03-02 17:37:23 +00:00
baldurk 15ec327782 Fix typo in name of evaluate function 2020-03-02 17:37:23 +00:00
baldurk e38f6b106f Check cbuffer variables work in debugging as well in cbuffer zoo tests 2020-03-02 17:37:23 +00:00
baldurk 4873a9fdc3 Add missing calls to FreeTrace 2020-03-02 17:37:23 +00:00
baldurk 175f71beb1 Always combine structures even with only one child
* This means that foo.bar.baz will still have a hierarchy created even if each
  level only has one child.
2020-03-02 17:37:23 +00:00
baldurk 48f52b2743 Ensure resources are always displayed in shader debugger 2020-03-02 17:37:23 +00:00
baldurk 29f0ad9b60 Fix wrong state being used to populate cbuffers in debugging 2020-03-02 17:37:23 +00:00
baldurk 8293a86530 Don't record rasterization event usage for dispatch calls 2020-03-02 17:37:23 +00:00
Benson Joeris a39569e950 Fix image ref state when loading old captures
This fixes a performance regression when loading captures from <=v1.6
(before the new image state code went in). The code to import the old
image state information was incorrectly discarding the frame ref
information, forcing the images to be reinitialized on every replay.

In old captures `ImageRefs` chunk is processed, creating `ImageState`
objects that only contain `refType`; then `BeginCaptureFrame` processes
the `ImageLayouts` info, to construct a new `ImageState` object,
containing the layout information. This `ImageState` was overwriting the
`ImageState` from the `ImageRefs` chunk, discarding the `refType` info.
This change merges the `ImageState`s from `ImageRefs`, where each field
of the merged image state comes from whichever `ImageState` had a
non-undefined value for that field.

For new captures, this change should be safe, since the image state
should be undefined when the `BeginCaptureFrame` chunk is processed, so
the `MergCaptureBeginState` call will just take all the state fields
from the `ImageState` stored in the `BeginCaptureFrame` chunk.

Change-Id: Id2252edb6382bd02bc0236b77c7cca667e97bf29
2020-02-28 20:51:52 +00:00
Aliya Pazylbekova 29a8637ae1 Fix bug with secondary cmd buffers 2020-02-28 11:38:10 +00:00
Aliya Pazylbekova ef2804bfd3 Refactor: Rendering state per command buffer
This is needed for Vulkan Pixel history, where we need to know render
state at current point of time for a command buffer during callback
replay.

Modifications:
- Removed m_pDriver and m_CreationInfo members from VulkanRenderState,
instead these are accepted as arguments to member functions.
- BakedCmdBufferInfo state is now full VulkanRenderState
2020-02-28 11:38:10 +00:00
baldurk da17ebed57 Check for bufferDeviceAddress feature properly. Closes #1744 2020-02-26 16:09:02 +00:00
baldurk d2e9b49fa1 Fix constant buffer source variable mapping in D3D. Closes #1742 2020-02-26 15:39:27 +00:00
baldurk da02e88201 32-bit compile fix 2020-02-25 20:30:48 +00:00
baldurk ce58f991f0 Apple compile fix 2020-02-25 19:06:58 +00:00
baldurk 4703012a87 Add pagination for very large range buffer viewers 2020-02-25 18:19:52 +00:00
baldurk a2b437b903 Change Find/Replace dialog to have Find Next/Find Previous buttons
* Enter and shift-enter in the find text go forwarwd and backwards respectively.
* This replaces the previous system of selecting a direction explicitly and only
  ever going in that direction when finding.
2020-02-25 18:19:52 +00:00
baldurk 8102a784bf Update ToolWindowManager to eb4eb70f1 2020-02-25 18:19:52 +00:00
baldurk 8de39dd850 Don't report duplicate GL extensions. Closes #1739 2020-02-25 18:19:52 +00:00
baldurk 914dc88cd0 Pass signature index in source variable mapping, not builtin
* The builtin is more directly useful but the signature index allows us to match
  up inputs and outputs that don't have a builtin meaning (pure interpolators).
2020-02-25 18:19:52 +00:00
baldurk 12e378f04b Add cases for opcodes we explicitly expect not to handle 2020-02-25 18:19:52 +00:00
Steve Karolewics 58227c2214 Add impl of D3D12 vertex shader debugging 2020-02-25 18:19:36 +00:00
baldurk 4673f29da1 Add an error if an unknown global is processed 2020-02-24 18:10:56 +00:00
baldurk d034c91686 Check for supported capability/extensions when debugging 2020-02-24 18:10:56 +00:00
baldurk 0a309f04c2 Handle block-level flow control 2020-02-24 18:10:56 +00:00
baldurk 66931b146a Remove extra margin on replay settings tab 2020-02-24 18:10:56 +00:00
baldurk fd14205d40 Don't refresh current event every ContinueDebug 2020-02-24 18:10:56 +00:00
baldurk 4d6938614e Add a couple of simple operations
* This includes maths, comparison, conversion.
2020-02-24 18:10:56 +00:00
baldurk 0ff541caca Handle scope changes between function calls properly 2020-02-24 18:10:56 +00:00
baldurk fbfd337de9 Fix vector/matrix constants having members added
* Only arrays and structs should have members, vectors and matrices have values
  stored directly
2020-02-24 18:10:56 +00:00
baldurk 55ea78f331 Improve OpDecoder's AddUsedIDs to instead call a callback per-ID
* Also fix handling of opcodes that take a variable number of IDs
2020-02-24 18:10:56 +00:00
baldurk a81d5c78b2 Update ToolWindowManager to 4c47912 2020-02-24 18:10:55 +00:00
baldurk f11e6a067e Fix mapping for arrays when element is selected. Closes #1736 2020-02-24 18:10:55 +00:00
baldurk c05dd34962 Switch back to setPointSizeF for scaling fonts 2020-02-24 18:10:55 +00:00
baldurk 930b688518 Slightly expand margin for testing sleep, to account for OS X 2020-02-24 18:10:55 +00:00
Steve Karolewics 3927d82e24 Improve D3D12 compute shader debugging
Added fetching of texture data for UAVs, to allow stores to occur.
Fixed issues with sample/gather when debugging a compute shader.
Added a demo for dispatch in D3D12.
2020-02-24 18:10:43 +00:00
Benson Joeris 640fc256dd Record MemRefs for every VkDeviceMemory
This fixes an ambiguity between old captures (where missing MemRefs
indicates a lack of information, and we need to act pessimistically), vs
new captures where the memory contents were not accessed (e.g. only
bound to images). Now the latter case will have an explicit MemRefs
entry indicating that the memory was not referenced.

Change-Id: Ib76d56ef6f2e250952412b4cdbe0b2432a4ca0ec
2020-02-24 18:10:30 +00:00
baldurk aacf148201 Add test of creating an empty capture 2020-02-21 17:56:53 +00:00
baldurk 70913fdda5 Add test that GL multi-draw mesh output works with builtins 2020-02-21 17:56:53 +00:00
baldurk db04c797d1 Fix comparisons between single elements and tuples of one element 2020-02-21 17:56:53 +00:00
baldurk 81110ceca3 Fix accidental stomping of relative byte offsets in tests 2020-02-21 17:56:53 +00:00
baldurk e8b342f332 Add event for base of GL multi draw commands 2020-02-21 17:56:53 +00:00
baldurk 4ec8280ee8 Add test of KHR/EXT GL debug marker behaviour 2020-02-21 17:56:53 +00:00
baldurk 4b57eec35d Treat glStringMarkerGREMEDY the same as EXT_debug_marker 2020-02-21 17:56:53 +00:00