Commit Graph

822 Commits

Author SHA1 Message Date
baldurk d30ce5d6b2 Fixes for replay, and populating hooks (call through hooked func) 2014-12-03 18:16:06 +00:00
baldurk cb7dd8fa6d Check that functions are available before doing anything 2014-12-03 16:52:54 +00:00
baldurk 185df924dc Use proper wglGetProcAddress hook 2014-12-03 16:52:37 +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 431eef4e6d 64-bit compile fixes 2014-12-03 14:10:57 +00:00
baldurk 46a29c7d14 As a slight concession, create a 'fake' VAO to use when 0 is bound
* I think this is invalid in the core profile, but it's a simple workaround
  and this might be a common problem.
2014-12-03 14:00:23 +00:00
baldurk 8397aa1f28 Handle glBufferData being used to rename/orphan to a new size 2014-12-03 13:57:03 +00:00
baldurk 34b39d79d2 Respect program settings for depth/stencil tests
* This means we don't e.g. enable the depth test when it was originally
  disabled, and show incorrect 'failure' of the draw to pass the depth test
2014-12-03 13:15:48 +00:00
baldurk 3cac0c339d Only set readbuffer to GL_BACK after default FBO is bound 2014-12-03 13:08:19 +00:00
baldurk e8006dde6c Only end unfinished queries etc if we're replaying from scratch 2014-12-03 13:08:01 +00:00
baldurk 03f631bc82 Actually serialise SRGB decode value (!) 2014-12-03 13:07:46 +00:00
baldurk 192ff9c007 Texbuffer display for GL 2014-12-03 12:31:00 +00:00
baldurk a05a8d457e Consider buffers that are bound to xfm feedback to be dirty 2014-12-03 11:53:11 +00:00
baldurk 2a3fde6e51 Special case GL_POINTS as it's enum value 0 (shows as GL_NONE) 2014-12-03 11:45:45 +00:00
baldurk 08174ef277 Serialise transform feedback buffer bindings into feedback record 2014-12-03 11:45:16 +00:00
baldurk 1061948185 Implement AllowFullscreen (or rather, !AllowFullscreen) for win32 GL 2014-12-03 10:41:37 +00:00
baldurk 61909e56c9 Handle shader being deleted before detach (just drop the detach) 2014-12-03 10:29:31 +00:00
baldurk c0c436f6ed Make sure to set all sources at once (glShaderSource replaces). 2014-12-03 10:23:31 +00:00
baldurk 6039958ba1 Check for validity of params before trying to serialise 2014-12-03 09:23:30 +00:00
baldurk d7485ad466 Correctly replay glUseProgram(0) 2014-12-03 09:23:19 +00:00
baldurk e52981ad47 Display of MSAA textures in GL 2014-12-02 23:28:12 +00:00
baldurk 4aab1172a4 Save out multisample count on default framebuffer 2014-12-02 23:27:03 +00:00
baldurk 46c70e6f69 UTF-8 bugfix (leave room for null terminator) 2014-12-02 22:39:45 +00:00
baldurk 72b8725c69 Serialise element buffer bindings into VAO record
* Also some VAO chunks weren't going into the VAO record properly.
2014-12-02 22:39:33 +00:00
baldurk e868280f3c Handle missing internal format case 2014-12-02 19:06:10 +00:00
baldurk 2017cdfc35 glBindBuffer sets the 'general' bindpoint buffer regardless of index 2014-12-02 19:02:53 +00:00
baldurk a9861f36bd Add list of extensions used in g_truc 430 and 440, just for now 2014-12-02 01:32:10 +00:00
baldurk 4b9854aa5e Add missing chunk handler 2014-12-02 01:32:00 +00:00
baldurk 973bfaaad0 Don't mark framebuffer itself as dirty 2014-12-02 01:31:55 +00:00
baldurk 314e9ee4db Handle NULL array of textures in glBindTextures 2014-12-02 01:31:45 +00:00
baldurk 9369c85953 Mute the spam about supported extension functions not being returned 2014-12-02 01:31:35 +00:00
baldurk ed7b394a57 Handle other object label types, and negative message lengths
* If a message length is set to a negative value, the message should be
  treated as null terminated
2014-12-02 00:50:32 +00:00
baldurk 6e213a71a7 More cheeky extensions. 2014-12-02 00:48:55 +00:00
baldurk 552581bdaa Fix wrong chunk enum being used 2014-12-02 00:37:54 +00:00
baldurk 46c06893e2 Another cheeky extension 2014-12-02 00:37:44 +00:00
baldurk 90e33ab95f Handle GL_EXT_texture_sRGB_decode. See gl-420-fbo-srgb-decode-ext 2014-12-02 00:25:49 +00:00
baldurk c1287fe853 Include SAMPLER_CUBE_MAP_ARRAY in switch (as any other sampler type) 2014-12-02 00:16:29 +00:00
baldurk 69562fb82d Handle invalid index type reasonably gracefully 2014-12-02 00:16:29 +00:00
baldurk 77db507027 Get chunk names the right way around 2014-12-02 00:16:28 +00:00
baldurk b2d3b94bdc Cheeky add a couple of supported extensions that g_truc looks for 2014-12-02 00:16:23 +00:00
baldurk 52476118de Support doubles in shader vars natively, not packed in 2*uint32 each 2014-12-02 00:16:12 +00:00
baldurk 2cdb6c6ccf Convert internal format to sized early, for making copies
* When serialising out initial states of textures, we make a duplicate to
  copy into. Since we use the storage APIs we need a sized format, so let's
  convert the format early so the stored internal format is sized. This
  doesn't cause a behaviour change as the impl is free to choose any sized
  format and we're just reading back the choice, and making it explicit.
2014-12-01 23:38:00 +00:00
baldurk d26b01ae26 Add support for texture rects & renderbuffers to histogram/minmax 2014-12-01 23:06:35 +00:00
baldurk c51fade47a Add support for texture rectangles. See gl-330-texture-rect 2014-12-01 22:55:35 +00:00
baldurk b0e36c551e Don't want to sample mipmaps even when linaer sampling 2014-12-01 22:54:52 +00:00
baldurk 4b019b059f Handle missing format. See gl-330-texture-integer-rgb10a2ui 2014-12-01 22:25:35 +00:00
baldurk c37884bdd8 Handle arrays of sampler variables. See gl-330-sampler-object 2014-12-01 22:23:49 +00:00
baldurk 116b1b1325 Serialise out scissor test enabled bit 2014-12-01 22:17:14 +00:00
baldurk 78257a1fd9 Track if transform feedback is active, and ensure we deactivate 2014-12-01 22:08:58 +00:00