Commit Graph

6388 Commits

Author SHA1 Message Date
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
baldurk 8cc5a66465 Update GL state-setting functions to new serialisation 2017-11-08 18:24:38 +00:00
baldurk 7a36ef4acb Update GL shader functions to new serialisation 2017-11-08 18:24:37 +00:00
baldurk 770938d804 Update GL sampler functions to new serialisation 2017-11-08 18:24:37 +00:00
baldurk 6952472830 Update GL DirectX interop functions to new serialisation 2017-11-08 18:24:36 +00:00
baldurk 8d18a1cbfa Update GL query functions to new serialisation 2017-11-08 18:24:35 +00:00
baldurk 19877fb400 Update GL framebuffer functions to new serialisation 2017-11-08 18:24:35 +00:00
baldurk 3ddd30530e Update GL drawing functions to new serialisation 2017-11-08 18:24:34 +00:00
baldurk 7f80a304b6 Update GL debug functions to new serialisation 2017-11-08 18:24:34 +00:00
baldurk 71a3c92284 Update GL buffer functions to new serialisation 2017-11-08 18:24:33 +00:00
baldurk bca836d087 Update core GL code to new serialisation system 2017-11-08 18:24:31 +00:00
baldurk 2322ffb3a6 Update GL initial state handling to new serialisation 2017-11-08 18:24:29 +00:00
baldurk 074ee8d8b8 Update GL replay to new serialisation & renderstate 2017-11-08 18:24:28 +00:00
baldurk d1e4d65447 Update GL renderstate to new serialisation system, using GLResource
* The renderstate now saves textures, buffers, etc as GLResource so they
  are naturally saved and restored to Ids by the GLResource serialise
  function.
2017-11-08 18:24:28 +00:00
baldurk 2982b2f8cf Update GL replay initialisation code to new RDCFile based scheme 2017-11-08 18:24:27 +00:00
baldurk 86cf11a6f6 Add direct serialisation of typed GLResource handles 2017-11-08 18:24:26 +00:00
baldurk d96e0b01bf Move GL's stringise functions into a separate file 2017-11-08 18:24:26 +00:00
baldurk f2eb9841e4 Set gl_CurChunk in entry points, forward aliases to real functions 2017-11-08 18:24:24 +00:00
baldurk b889843b01 Change GL chunk enum to contain all supported function entry points
* Many of these chunks will be identical, but we use the chunk ID to
  store which function exactly was originally called.
2017-11-08 18:24:24 +00:00
baldurk 5ac10b9406 Use structured data exposed from replay controller to document API calls 2017-11-08 18:24:23 +00:00
baldurk 7ca6c80414 Add ability to convert a capture to structured data without replaying 2017-11-08 18:24:22 +00:00
baldurk 15f78b7ffd Re-enable Vulkan driver 2017-11-08 18:24:22 +00:00
baldurk 076c203f9a Update drawcall wrapping Vulkan functions 2017-11-08 18:24:21 +00:00
baldurk a1aeebb462 Update command-recording function wrappers 2017-11-08 18:24:20 +00:00
baldurk e7dca4beb7 Update vulkan resource handling wrappers 2017-11-08 18:24:20 +00:00
baldurk 10ce7ee266 Update vulkan queue wrapping functions 2017-11-08 18:24:18 +00:00
baldurk f2645cb634 Update physical/logic device handling wrapper functions 2017-11-08 18:24:18 +00:00