Commit Graph

6414 Commits

Author SHA1 Message Date
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
baldurk 5dd6a819d4 Update non-wrapping code for D3D12 command queues and lists 2017-11-08 18:24:44 +00:00
baldurk 6fcfdf3a1b Update D3D12 device non-wrapping code to new serialisation scheme 2017-11-08 18:24:43 +00:00
baldurk dcd22abd13 Update D3D12Replay and initialisation to new code & RDCFile based system 2017-11-08 18:24:43 +00:00
baldurk c2a8e19d07 Split D3D12 struct serialisers separately&serialise interfaces directly
* Interface objects are serialised by type as their ResourceId - see the
  D3D11 code that does the same thing for more explanation.
2017-11-08 18:24:42 +00:00
baldurk b7cc721db3 Update D3D12 chunk enum to enum class 2017-11-08 18:24:41 +00:00
baldurk 66d8aba60f Re-enable GL driver 2017-11-08 18:24:41 +00:00
baldurk 006ab01696 Update GL program uniform functions to new serialisation 2017-11-08 18:24:40 +00:00
baldurk f33b04ee7f Update GL texture functions to new serialisation 2017-11-08 18:24:39 +00:00