Commit Graph

76 Commits

Author SHA1 Message Date
baldurk 5b3a8aabdb Implement glClearBufferSubData 2014-11-08 13:48:41 +00:00
baldurk 06b8b76973 Implement glCopy*Image functions
* When not capturing a frame, we just mark the resource as dirty
2014-11-08 13:48:41 +00:00
baldurk e4edec0d4e Implement glQueryCounter 2014-11-08 13:48:41 +00:00
baldurk 8dbdd97a2f Implement glSampleCoverage 2014-11-08 13:48:40 +00:00
baldurk 9b02d4a73e Implement remaining glVertexAttrib functions 2014-11-07 01:18:04 +00:00
baldurk d0b3078b95 Implement glPointParameter* 2014-11-06 23:30:00 +00:00
baldurk 7c7503432d Implement glBlendEquation{,i} 2014-11-06 23:18:42 +00:00
baldurk d318ca5182 Implement all glUniformN_ and glProgramUniformMatrixMxN_ variants
* Using macros for most implementations redirecting to either
  Serialise_glUniformVector or Serialise_glUniformMatrix
2014-11-03 22:25:11 +00:00
baldurk c7528aeb49 Serialise glUniform through glProgramUniform 2014-11-03 20:59:28 +00:00
baldurk 65e567d91f Implement glClearBufferData 2014-11-02 20:54:21 +00:00
baldurk bb87949c89 Implement glMemoryBarrier 2014-11-02 19:52:58 +00:00
baldurk e549c58413 Implement glBindImageTexture and glDispatchCompute 2014-11-02 13:43:55 +00:00
baldurk 6308d78cd4 Implement debug device/debug api message tracking for GL 2014-11-02 10:52:24 +00:00
baldurk a4fe8e3261 Add missing serialise call for PROGRAMUNIFORM_MATRIX 2014-11-02 10:52:23 +00:00
baldurk 61df69d80f remove debug print that got left in 2014-11-02 10:52:22 +00:00
baldurk 9e817e7e19 Fixes for in-program font rendering on linux 2014-11-01 17:15:45 +00:00
baldurk a429bf3ab9 OpenGL in-app text overlay 2014-11-01 17:14:23 +00:00
baldurk 53a4964cb3 Don't write log for spammy unimportant debug messages 2014-11-01 17:04:52 +00:00
baldurk 360199b2ce Only account for faked backbuffer in renderstate when replaying 2014-11-01 17:04:52 +00:00
baldurk 8d8c8a7c47 Hook into platform delete context function 2014-11-01 17:04:51 +00:00
valeriog f9c0436360 Serialize glUniform* to the current program resource record as glProgramUniform* while in idle state. 2014-10-28 17:31:32 +01:00
valeriog e0450d7940 Fix for typo found in pull request conversation. 2014-10-15 11:50:26 +02:00
valeriog 86a87f091c Differentiate between glDepthRangef and glDepthRange when capturing.
This prevents a crash when the captured application doesn't retrieve the glDepthRange pointer, and uses glDepthRangef instead.
2014-10-14 17:45:53 +02:00
valeriog b09454a67d Correctly set and restore pixel pack state when capturing thumbnail; don't set GL_PIXEL_UNPACK_BUFFER to zero in the process. 2014-10-14 17:29:16 +02:00
baldurk aaaf9ae908 Pass through chunk serialiser and log state to ResourceManager 2014-09-25 01:29:39 +01:00
baldurk 8d685de609 Reorganise 3rdparty, include breakpad with sln, drop mhook. Closes #84 2014-09-24 20:24:35 +01:00
baldurk 5ed280ae33 Markers don't increment drawcall ID, use eventID for prev/next/parent 2014-08-24 00:59:26 +01:00
baldurk fc347a0235 Update to 4.5 official headers, tweak to GL enum
* GLenum enum now lists all GL_ before GLX_ and WGL_ to give priority for
  string representation.
* Also dropped eGL_UNKNOWN_ENUM for eGL_NONE as it's a little friendlier
2014-08-18 18:40:10 +01:00
baldurk f3e9e3ffed Save off and store VAO initial frame state 2014-08-15 17:10:20 +01:00
baldurk 5f206da36d Add hooks for vertex attrib format/binding functions 2014-08-15 16:09:53 +01:00
baldurk 0c086abc6f Substitute fake backbuffer FBO where FBO binding state is 0 2014-08-15 14:47:07 +01:00
baldurk 56430387db Hook Vertex Buffer binding functions and save as initial state
* Vertex attrib state is a property of the VAO so should be saved as
  initial resource contents.
2014-08-15 14:26:13 +01:00
Baldur Karlsson ec683ea474 Make sure outputs are always erased 2014-08-08 14:01:02 +01:00
Baldur Karlsson 6d7283f580 Fetch current framebuffer bindings per-draw 2014-07-28 11:27:19 +01:00
Baldur Karlsson 29792558e1 call Serialise_ functions, not real functions 2014-06-27 14:39:41 +01:00
Baldur Karlsson 5e32950195 Change GLResource tuple to be three components including Context
* This lets us distinguish framebuffer object 1 on context A from
  FBO 1 on context B.
* At the moment we assume that all shareable objects are shared between
  all contexts. I think this is sensible and fairly common, but it will
  break if some contexts don't share as the objects will alias.
2014-06-27 13:24:19 +01:00
Baldur Karlsson 8d44497712 Simple tracking of active context per thread
* Should change this to TLS
2014-06-27 13:02:12 +01:00
Baldur Karlsson 0f715059c8 Return a few extension strings that programs might query for 2014-06-24 16:00:19 +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 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 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