baldurk
d90f8f0d41
Provide index to SV_VertexID when using index buffer. Refs #113
2014-12-04 14:10:16 +00:00
baldurk
3c05059529
Track our minimal shadow state on a per-context basis
...
* We track as little state as possible - basically only objects bound to
binding points that we need to identify for old-style non-DSA functions.
This is mostly for convenience - the best balance between tracking GL's
_insane_ state vector and having to query everything we want every time.
* Although we don't properly handle multiple contexts, we need to make sure
this state is tracked per context otherwise we can get weird mismatches
and get crashes with e.g. invalid VAOs.
2014-12-03 23:40:03 +00:00
baldurk
efac062cdd
Make sure to apply initial contents before first replay of frame
2014-12-03 23:24:40 +00:00
baldurk
670c0ef7e7
Handle BGRA vertex attributes
2014-12-03 23:22:24 +00:00
baldurk
13c613d757
Handle binding 0 imagetexture
2014-12-03 23:13:38 +00:00
baldurk
850410b1a3
Vertex buffer functions also need to bind the VAO when reading
2014-12-03 21:21:57 +00:00
baldurk
a4e6f0f1d1
Only explicitly bind vertex array object when reading, not executing
2014-12-03 21:20:26 +00:00
baldurk
a5e019d143
Fix glBufferData re-creating, preserve chunk ordering
2014-12-03 20:23:49 +00:00
baldurk
2a43d0d4bf
glCopyBufferSubData should contribute to record update count
2014-12-03 20:19:14 +00:00
baldurk
4bd1f940d6
only use CUBE_POSITIVE_X as a query target for CUBE_MAP
...
* GL_TEXTURE_CUBE_MAP_ARRAY can be used directly as a query target
2014-12-03 20:18:33 +00:00
baldurk
c7576d8a7f
Add resource record parent for VAO when binding buffer
2014-12-03 18:16:50 +00:00
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