Commit Graph

6422 Commits

Author SHA1 Message Date
baldurk 152abc501a Fetch structured file on capture load so it's available persistently 2017-11-17 16:30:50 +00:00
baldurk 3ac3e6c3f1 Fill out resource descriptions in each driver
* For Vulkan and D3D12, we now create a dummy command buffer to ensure
  that there's actually a chunk available to correspond to the command
  buffer that gets submitted or recorded to.
2017-11-17 16:30:50 +00:00
baldurk 1c614029d8 Add a way to return basic information about all resources in a capture
* This provides a way to find the name of any resource besides 'special'
  resources like textures and buffers. In a follow-up commit, the names
  will be removed from their descriptors.
* It also allows us to list which chunks in the structured file were
  used to initialise the resource, giving the ability to look up and
  display the initialisation parameters.
* At the same time we also list the derived/parent resources to better
  allow the user to browse between related resources.
2017-11-17 16:30:49 +00:00
baldurk 8997cb9f07 Fix copy-paste error that searched ReadOnlyResources array for UAVs. 2017-11-17 16:30:48 +00:00
baldurk fb6211a3db Return user data from RDTreeWidget for UserRole variants 2017-11-17 16:30:47 +00:00
baldurk 79b51591c2 Add ForwardingDelegate for use in RD extended widgets.
* This item delegate will forward on either to a specified other
  delegate or to the base implementation. This allows chaining delegates
  (i.e. having one built-in to the widget, which forwards to a user-set
  delegate).
2017-11-17 16:30:47 +00:00
baldurk 0c1c171b4f Update toolwindowmanager to c0943da98b811f39f4fda56306bbeb741fb1214b 2017-11-17 16:30:46 +00:00
baldurk 2d15fe2c05 Fix incorrect chunk type in PersistentMapMemoryBarrier 2017-11-17 16:30:43 +00:00
Peter Gal 2ae9e8a4bc [EGL] Move GLWindowingData creation into it's own method
The GLWindowingData creation was done at three places
with almost no difference.
2017-11-17 17:30:16 +01:00
Peter Gal ca95a9c3ab [EGL] Move symbol loading into one file
The EGL function pointer loading was scattered
in two files thus it is hard to keep track where
the symbols were loaded.

Introduced a class which holds all internally used
EGL function pointers with a helper method to
load the required pointers. Not all EGL pointers
are loaded just the used ones (just like before).
2017-11-17 17:30:16 +01:00
Peter Gal 9c84b7f716 [GL/GLES] Fix incorrect chunk type serialization
In some cases a few GL wrapper methods are called
with incorrect gl_CurChunk during serialization.

This can happen if the capturing application calls
a GL method - for which the gl_CurChunk will be set correctly -
and the wrapped method calls another wrapped GL method
but for that the gl_CurChunk will be incorrect.

Also during the ActivateContext call the gl_CurChunk
was not set.

For now do a hotfix for glDrawArrays and initial context.
2017-11-17 17:30:05 +01:00
baldurk 004514e556 Give a little more room to pixel history when displaying it 2017-11-10 18:36:11 +00:00
baldurk 9958b47007 Update toolwindowmanager to b822d2e0d92063a9ceba112b7d4b89716da5da88 2017-11-10 18:36:10 +00:00
baldurk 2f02f2159e Fix some margins/spacings to be more consistent across the UI 2017-11-10 18:36:10 +00:00
baldurk 0dfae4d1c5 Remove Ctrl+W for closing captures, easily confused with close tab
* Whether there's a sensible way to define a tab closing shortcut is
  unclear at the moment - there isn't a single set of tabs, so just
  closing the most recently highlighted panel could be quite
  unintuitive.
2017-11-10 18:36:09 +00:00
baldurk 82e1218b62 Defer loading .rdc from drag & drop, to unblock the calling application 2017-11-10 18:36:08 +00:00
baldurk 136909eaad Raise capture dialog when an .exe is dropped on the window 2017-11-10 18:36:08 +00:00
baldurk 9cbff34d95 By default don't have any pixel selected in texture viewer 2017-11-10 18:36:07 +00:00
baldurk e3b0d8acc0 Ensure too-long popup menus have scroll buttons 2017-11-10 18:36:07 +00:00
baldurk d97f259fd5 Use case-insensitive comparison for process injection filter 2017-11-10 18:36:06 +00:00
baldurk 805f01244c Remove size policy causing problems on buffer view's format specifier 2017-11-10 18:36:06 +00:00
baldurk 8133188a4c Make mesh viewer more robust if no ibuffer is bound on indexed draw 2017-11-10 18:36:05 +00:00
baldurk 988121ee65 Display generic mesh input attrs, and add ---s for out of bounds access 2017-11-10 18:36:04 +00:00
baldurk e8140e0459 Fix serialisation of GL generic vertex attrib functions 2017-11-10 18:36:04 +00:00
baldurk 3c2a486d6a Use application-level event filter for handling shortcut redirects
* If we just filter the main window, it won't properly pick up shortcuts
  used in floating windows.
2017-11-10 18:36:03 +00:00
baldurk 335919a42c Add a fast path when skipping bytes in a file-based I/O reader. 2017-11-10 18:36:03 +00:00
baldurk de452da804 Update picked pixel values when changing overlays
* This accounts for e.g. quad overdraw where the picked pixel value is
  affected.
2017-11-10 13:21:19 +00:00
baldurk cac4c7f100 Locate RDTableView even if it's a parent in slot functions
* These slots are called on the item selection view, so the RDTableView
  is actually the sender's parent.
2017-11-10 13:17:11 +00:00
baldurk 5c4f867bd9 Remove unnecessary copy in FillRegisterSpaces
* This was previously used because rdcarray wasn't runtime resizeable.
2017-11-10 13:05:56 +00:00
baldurk 3504d2741a Clear PostVS cache when a resource is replaced. Refs #729
* For now, resource replacement implicitly means shader edits, but other
  replacements could also affect the results of PostVS (e.g. buffer or
  state changes). Trying to capture all this state in the cache key is
  not very useful.
* The PostVS cache will be re-filled immediately after, as any
  replacement does a force-refresh of the current event.
2017-11-10 13:01:40 +00:00
baldurk 954a11de89 Implement shutting down individual replay outputs
* This means e.g. that if the mesh output view gets closed, we don't
  keep it around internally and keep calling InitPostVSBuffers for it.
2017-11-10 12:22:13 +00:00
baldurk 241b8f4404 Clarify the draw range options (this inst vs. all inst vs. whole pass) 2017-11-10 12:10:02 +00:00
baldurk 5b8d0aeee0 Fix code for SINGLE_FLUSH_VALIDATE path 2017-11-09 18:09:49 +00:00
Peter Gal 9603e86215 Fix renderdoccmd help screen
The help information for the 'convert' command in the
renderdoccmd was incorrect.
2017-11-09 19:09:40 +01:00
Janos Pantos ce4aee7bdd Add workaround for reading back BGRA textures 2017-11-09 19:09:30 +01:00
baldurk 997248380e While structured exporting frame/context chunks need to save buffers too 2017-11-09 15:12:22 +00:00
baldurk ebe1318f72 When exporting struct buffers we must always allocate memory to readback
* If the external code has a NULL pointer and doesn't want to allocate
  but we are exporting buffer data, we still need to read the data
  somewhere so make a temporary allocation to read it into.
2017-11-09 15:12:06 +00:00
baldurk 13f4ac481e Fix incorrect arguments to error printf 2017-11-09 15:11:20 +00:00
baldurk 92ec567e9e Serialise vkMap offset before replaying MapMemory, so it includes offset 2017-11-09 15:11:04 +00:00
baldurk 35801dcd72 Don't try to fetch resource ID from already unwrapped image 2017-11-09 15:10:05 +00:00
baldurk 401705ec15 Mark barriers as containing optional resources 2017-11-09 15:09:51 +00:00
baldurk c49bb6fc7a Add simple in-line implementation of rdcarray::push_back
* Coverity can't figure out that a pointer being push_back'd isn't
  leaking, possibly due to the call to insert.
2017-11-09 12:41:17 +00:00
baldurk 2353421526 Add some hefty padding to reported image required size on AMD. Refs #795
* AMD reports image required sizes with some variation even for the same
  creation parameters. This can mean the same image is reported with
  less required size during capture compared to replay, meaning memory
  binds won't work.
* To get around this, we pad up the requirements to alignment * 4 and
  fudge to try and encompass any possible variation.
2017-11-09 12:03:31 +00:00
baldurk e9c4de1dd5 Suppress error for eGL_UNSIGNED_BYTE and eGL_BGRA 2017-11-08 18:24:49 +00:00
baldurk 7fa3ec51c9 Fix emulation of glMapNamedBuffer - pass correct map access bits 2017-11-08 18:24:48 +00:00
baldurk 6f500afe6d Re-enable D3D12 driver. (See commit msg if bisecting)
* This marks the end of "Temporarily remove driver support" which
  disabled drivers until they could be updated to the new serialisation.
2017-11-08 18:24:47 +00:00
baldurk 3aa8398ec2 Update D3D12 command list wrapping code to new serialisation 2017-11-08 18:24:47 +00:00
baldurk 5452940739 Update D3D12 command queue wrapping code to new serialisation 2017-11-08 18:24:46 +00:00
baldurk 5e4a919bc9 Update D3D12 device wrapping code to new serialisation 2017-11-08 18:24:45 +00:00
baldurk 40fd82a42a Update D3D12 initial state handling to new serialisation 2017-11-08 18:24:45 +00:00