Commit Graph
91 Commits
Author SHA1 Message Date
baldurk da93a4e0a0 Implement KHR advanced blend equation extensions 2014-12-20 19:54:50 +00:00
baldurk c02a8d7786 Implement GREMEDY string marker and frame terminator extensions
* We don't try and detect duplicate markers between GREMEDY and KHR_debug,
  just assume the program is smart enough to detect that both are available
  and pick only one to use.
2014-12-20 19:54:50 +00:00
baldurk 00ee02eabc Implement EXT_polygon_offset_clamp 2014-12-20 19:54:49 +00:00
baldurk 3e9c178c8b Add some other aliases of functions we already implement 2014-12-20 19:54:48 +00:00
baldurk b08592f502 Add EXT alias of glBlitFramebuffer for EXT_framebuffer_blit 2014-12-20 19:54:47 +00:00
baldurk 3298905d1d Optimise/improve hookset.pl, return dummy function pointers
* Now instead of returning NULL for entry points that we don't support and
  hoping the application will handle that or error out, instead we return
  a function that will log an error if it is ever called, and then pass
  through to the real function. In most cases, the capture will probably be
  broken as whichever function isn't saved.
* hookset.pl is much faster too, it outputs the whole gl_hookset_defs.h
  file and doesn't do multiple searches over the whole set of headers in
  official/ for each function.
2014-12-20 19:54:46 +00:00
baldurk 10926066bc Fix a couple of GL functions in the wrong hookset type 2014-12-17 18:22:05 +00:00
baldurk 6523dfde31 Add ARB function aliases for vertex functions 2014-12-11 22:04:49 +00:00
baldurk 050b5d4840 Add EXT function aliases for EXT_framebuffer_object 2014-12-11 21:10:43 +00:00
baldurk ddb272c126 Implement other EXT_dsa functions relevant to GL3.2 and above core
* None of these require extra serialisation functions, but some upgraded
  to DSA style serialise instead of selector serialise functions.
* There's a lot of duplication here now (expecially for MultiTex calls).
  This could really do with cleanup soon.
2014-12-10 08:18:07 +00:00
baldurk 5002d29415 glDepthRange needs to come from the dll hooks for windows 2014-12-04 21:26:48 +00:00
baldurk 2f48158a89 Add some extensions that we already support, and ARB func aliases 2014-12-03 16:03:19 +00:00
baldurk 907361c4bb Add glBindMultiTextureEXT - still need to add rest of EXT_dsa funcs 2014-12-03 16:02:40 +00:00
baldurk 237744a6dd Simple implementation of capturing transform feedback
* This won't work if the feedback is started before the captured frame then
  captured inside it, either by being paused or actually active across the
  SwapBuffers call.
2014-11-27 08:29:38 +00:00
baldurk c79fb99434 Implement some missing query/conditional render functions 2014-11-25 22:40:38 +00:00
baldurk 3f33541132 Implement glBindFragDataLocationIndexed and glUniformSubroutines
* Note that the uniform subroutines are saved and restored by the render
  state, but they are not properly restored anywhere where we fetch &
  restore the current program. Will probably need a special helper class
  to push/pop that correctly.
2014-11-25 22:18:24 +00:00
baldurk cbc4c4cc43 Implement missing glMultiDraw functions 2014-11-25 21:43:42 +00:00
baldurk eccde9c8b6 Add glMemoryBarrierByRegion and glTextureBarrier 2014-11-25 21:17:34 +00:00
baldurk 67140ee100 Add glMinSampleShading and renderstate value 2014-11-25 21:17:33 +00:00
baldurk f4851a292a Add integer forms of glTexParameter* 2014-11-25 21:10:54 +00:00
baldurk e9320b1987 Add ARB alias for glDebugMessageInsert 2014-11-25 21:05:34 +00:00
baldurk ee5a81739b "Implement" shader/program binary functions, but don't allow them
* We want the application to pass us real GLSL shaders so we can do all
  kinds of juicy things to them. This is generally indicated by the program
  having a LINK_STATUS of FALSE or similar, and we can pretty much get that
  by just not passing through the call.
2014-11-25 21:03:38 +00:00
baldurk e6b5516776 Implement glFramebfuferParameteri 2014-11-23 19:55:10 +00:00
baldurk 56d500ffdb Implement glDrawRangeElementsBaseVertex 2014-11-23 19:39:10 +00:00
baldurk 403456a82f Add some missing hooked gl state functions
* glClipControl, glProvokingVertex, glPrimitiveRestartIndex,
  glDepthRangeIndexed, glClearDepthf
2014-11-23 19:30:23 +00:00
baldurk bdcde1b3f6 Add 2D multisampled array texture storage functions. 2014-11-23 18:37:50 +00:00
baldurk c1a5fc9a62 Implement glInvalidate* just by marking resource as GPU dirty 2014-11-23 17:06:15 +00:00
baldurk 81c7f985f3 Add glClampColor and glReadnPixels
* glClampColor doesn't have to be serialised as it only affects
  glReadPixels (which aren't serialised).
2014-11-23 16:41:44 +00:00
baldurk 841d77485c Add glActiveShaderProgram and direct glUniform* to right program 2014-11-23 16:37:23 +00:00
baldurk 5acc53bae0 Add EXT_DSA glGetTextureParameter functions 2014-11-15 13:58:52 +00:00
baldurk 5b2a754196 Serialise a few more state change functions 2014-11-15 12:03:16 +00:00
baldurk d2afc191c9 Handle some common ARB aliases a program was requesting 2014-11-11 22:54:56 +00:00
baldurk b8f74610b4 Implement glShaderStorageBlockBinding 2014-11-11 22:54:56 +00:00
baldurk 62f28f751c Implement some multi-binding functions. 2014-11-11 22:54:55 +00:00
baldurk 97fcde8402 Implement glClearTexImage and glClearTexSubImage 2014-11-11 17:47:38 +00:00
baldurk f13f07ee4e Implement remaining functions that UE4 uses
* glBindFragDataLocation
* glMultiDraw* (non indirect)
* glDraw*Indirect
* glDispatchComputeIndirect
2014-11-08 23:00:13 +00:00
baldurk 54abe30ee6 Implement glObjectPtrLabel 2014-11-08 23:00:13 +00:00
baldurk d50b74694d Implement glTexBuffer, multisampled tex functions, glTexImage*
* glTexImage probably makes some assumptions about usage, at the least it
  assumes that it won't be called to re-size/re-allocate textures (that
  will probably break), and it also assumes that level 0 will always be
  glTexImage'd and the other levels are standard mip sizes (I don't know
  what happens in GL if you specify non pow-2 descending mip sizes for
  different levels. Given we're only targetting core 3.2 and above, this is
  probably a safe set of assumptions.
2014-11-08 23:00:12 +00:00
baldurk 23a748eca9 Add renderbuffer support 2014-11-08 18:03:48 +00:00
baldurk 1276eda4c7 Add glFlushMappedBufferRange, but not implemented yet
* Still need to implement persistant/etc buffer Map()s
2014-11-08 13:49:23 +00:00
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 fbabc0180b Add a couple of missing glGet*s 2014-11-08 13:48:40 +00:00
baldurk 9756b60a8a Add some missing ARB aliases of core functions 2014-11-08 13:48:39 +00:00
baldurk d3650cc73d Remove wgl/glx from hookset.pl - unused. Also skip blank lines 2014-11-08 13:48:39 +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