Commit Graph

99 Commits

Author SHA1 Message Date
Baldur Karlsson 47e33feeb2 Create meshVAO on replay context, early out if no VB is bound 2014-06-19 15:22:21 +01:00
Baldur Karlsson 7941c3ebb3 Fixes for querying things out of cubemaps 2014-06-19 13:43:47 +01:00
Baldur Karlsson c9d8ab2dcf Add a few last buffer related hooks 2014-06-19 13:00:33 +01:00
Baldur Karlsson b345b9ceb7 Hook the EXT_direct_state_access functions.
* Normal selector functions are implemented via these, which requires
  EXT_direct_state_access to be available, but this isn't hard to work
  around with some wrapper functions should that become necessary.
2014-06-19 12:05:49 +01:00
Baldur Karlsson acb36a5308 A few more assorted functions wrapped.
* Also rearranged and organised the ProcessChunk() switch to match the
  enum in gl_common.h for easier reference
2014-06-18 17:23:07 +01:00
Baldur Karlsson eeadec99f6 Tidy up RDCUNIMPLEMENTED() macros, adding text comments to each 2014-06-18 16:08:21 +01:00
Baldur Karlsson 9015b139c0 Add query and sync object handling.
* Sync objects need special handling because the identifier is an opaque
  pointer and so we can't use the existing GLResource stuff. Instead to
  handle this, we assign a GLuint ourselves and keep a mapping around
  to map GLuint<->GLsync. Everything else works as usual from the GLuint
2014-06-18 16:07:58 +01:00
Baldur Karlsson 72de770e22 Tidy up wrapped functions and reorganise into logical files
* Remove legacy wrapped functions that were only hacked-in to get
  glxgears working as a proof of concept.
* Split out groups of wrapped functions into separate files by type
2014-06-18 15:19:56 +01:00
Baldur Karlsson fd7bb21832 Add compressed texture manipulation functions 2014-06-18 14:13:04 +01:00
Baldur Karlsson dc7ff68ac8 Add stencil, glTexParameter* variants, patch param, sample mask 2014-06-18 13:42:59 +01:00
Baldur Karlsson 317c79e2f5 Implement glDetachShader (might not behave correctly, need to test) 2014-06-18 11:10:28 +01:00
Baldur Karlsson bc3a1d8e0a Add functions for separable programs and program pipelines. 2014-06-18 11:01:08 +01:00
baldurk 5b6f8e5e5c After each command list execute, renumber child draws. Closes #62 2014-06-17 21:07:35 +01:00
baldurk cb67ae894a Demote some hook errors as they don't seem to succeed on win64 currently 2014-06-17 18:27:29 +01:00
baldurk 4822322509 Compile error fixes 2014-06-17 18:26:30 +01:00
Baldur Karlsson e78f728799 Support Push/Pop markers from KHR_debug and implement begin/set/end 2014-06-17 17:23:41 +01:00
Baldur Karlsson b659c734a1 Add other BaseVertex variants of glDrawElements*, and glDrawRangeElements 2014-06-17 17:03:55 +01:00
Baldur Karlsson 272fa3d2b7 Add support for EXT_depth_bounds_test 2014-06-17 16:41:47 +01:00
Baldur Karlsson 76ad555ddf Add single depth range functions, change renderstate to fetch by index 2014-06-17 16:32:16 +01:00
Baldur Karlsson 715670d021 Hook a couple more GL debug message functions 2014-06-17 16:20:07 +01:00
Baldur Karlsson e57dcbb063 Actually serialise out IDs for texture bindings instead of empty array. 2014-06-17 16:06:34 +01:00
baldurk b89470a0b7 Protect against crash report exception, check rect is valid size 2014-06-17 00:00:01 +01:00
baldurk f0c4cfe51d Handle exceptions when saving config files and alert the user 2014-06-16 23:11:03 +01:00
baldurk 71cd654523 Add a macro (that is default on) to include win8 sdk dependency
* Disabling the macro means that the DirectX SDK (June 2010) should be the
  only dependency and you can compile as normal, just without d3d11.1
  support.
* This won't be massively supported and official releases will not use this
* It might break in future as I won't be testing, it might even be deleted
  to tidy up, but until then it might come in handy for some.
2014-06-16 22:05:19 +01:00
baldurk ecbbd98950 Don't bake DrawcallTreeNodes too early, just copy children across.
* Fixes markers within deferred contexts from not showing their children
  in the event browser (although they would still replay the events)
2014-06-16 21:10:20 +01:00
baldurk a9df1e4ef2 Don't try and hook OpenGL functions if the dll isn't even loaded on win32 2014-06-16 00:00:00 +01:00
baldurk 9553f66278 Handle case where UpdateSubresource is recorded for unused resource
* If a resource isn't referenced anywhere else (ie. isn't then serialised
  out to the logfile by default and has no live resource equivalent) we
  need to account for this and simply skip the UpdateSubresource. Similar
  things are done for CopyResource etc
* This is backwards compatible with old logs as it handles their case with
  a "missing" resource
2014-06-15 23:59:42 +01:00
baldurk 48c3b384f8 Commit latest mhook changes from https://github.com/martona/mhook 2014-06-15 23:42:53 +01:00
baldurk d7e752f7e9 Fixes for compiling on linux 2014-06-08 11:19:22 +01:00
baldurk 0f080d1f44 Cleaned up renderdoccmd, split out necessary bits to OS-specific files 2014-06-08 11:00:41 +01:00
baldurk 772fd94336 As a slight hack, reference glXWaitGL to pull in libGL in the right order
* Basically we want libGL to be loaded second, after librenderdoc. This is
  in order to make sure dlsym(RTLD_NEXT) can work.
* This can be done just by order in the ld command. Unfortunately since
  renderdoccmd links directly against librenderdoc (rather than LD_PRELOAD)
  any symbols exported by librenderdoc resolve, so unless we reference a
  function that isn't exported by librenderdoc, libGL won't be linked in
  at all.
* I realise this is probably a horrible hack, but it works for now.
2014-06-07 13:50:26 +01:00
baldurk 53d6f422be 64bit compile fixes 2014-06-07 13:48:25 +01:00
baldurk 92c1df0573 Check index is in valid range for pipeline arrays. 2014-06-07 13:48:09 +01:00
baldurk c5a74f0ad5 Serialise newer parts of the GLPipelineState 2014-06-07 13:47:46 +01:00
baldurk 773c53d82e Use the same FBConfig for both the pbuffer and context, else it might fail 2014-06-03 21:12:49 +01:00
baldurk 85052ccf57 Return ID of output window 2014-06-03 21:12:17 +01:00
baldurk a92a240227 Fix typo 2014-06-03 21:12:07 +01:00
baldurk 87dab79f78 Serialise rdctype::wstr as if it were a wstring (ie. as UTF-8).
This is only used in network transmission so we don't have to worry about
backwards compatibility.
2014-06-03 21:12:00 +01:00
baldurk 253f47c097 Get linker parameter order correct for dependency resolution 2014-06-03 21:10:21 +01:00
baldurk 5b42fa1e42 Add a bunch more glDraw variants 2014-06-01 16:27:08 +01:00
baldurk 4d59116a2d Add 1D/3D versions of glTexStorage and glTexSubImage 2014-06-01 15:58:06 +01:00
baldurk f9072d6cdf Fix dlsym() call to fetch right function name 2014-06-01 12:40:14 +01:00
baldurk 61f9d1ddec Don't serialise size_t across network (not fixed length) 2014-06-01 12:23:26 +01:00
baldurk 399c18a6ce Linux compile fixes 2014-06-01 12:04:28 +01:00
baldurk 9b8adebb91 Bind resources while in READING, as we're replaying edit chunks
* While replaying the initial chunks, we're doing edit type operations but
  we haven't serialised out the binding operations in between, so in this
  state we do the bind-to-edit binds ourselves.
2014-06-01 11:54:54 +01:00
baldurk c4fa9f0fd6 Don't need record when not writing 2014-06-01 10:01:17 +01:00
baldurk 932995da56 First attempt to implement Map/Unmap 2014-06-01 10:01:10 +01:00
baldurk 60ca0d065b Fix renderstate fetch/apply to not spew GL debug errors 2014-06-01 10:00:40 +01:00
baldurk 169fe852be Add glDrawBuffers 2014-06-01 10:00:13 +01:00
baldurk f6880a158e Add more glUniform* variants 2014-05-31 17:05:01 +01:00