Commit Graph
13 Commits
Author SHA1 Message Date
baldurk 8fd2fe5932 Separate out calls to glLabelObjectEXT from glObjectLabel
* This is necessary since some of the identifiers are different.
2015-07-23 23:30:06 +02:00
baldurk f3e25ba194 Add EXT_debug_label enum variants to glObjectLabel 2015-06-10 18:43:19 +02:00
baldurk b41b5242d1 Support switching between multiple APIs in the same program. Closes #124
* The core class is now responsible for tracking the active window and
  cycling through, so it can cycle through multiple APIs.
* For GL we only set up associations for capturable windows, and only
  those that present (since helper windows are often created). Since
  GL doesn't really have a 'this window is done rendering' call, we just
  decay old windows that haven't presented in >5 seconds.
* Also on GL, legacy/uncapturable windows aren't associated so they will
  not cycle to at all.
* The embedding API now expects a device pointer and window handle to
  set active window or start/end a capture. You can still pass NULLs if
  there is only one API active.
2015-04-13 11:31:30 +01:00
baldurk 3be08dbb71 Add a few more extensions we support, and some more we never will
* There are a handful of ARB and EXT extensions left that aren't in either
  the list of supported, or will-never support. These are ones that I want
  to support but haven't written the code for.
2014-12-20 19:54:51 +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 81a09a7323 Fix a few typos, mostly using #define enum values not typed enum 2014-12-20 19:54:49 +00:00
baldurk acb66bf626 Check that resource is available before setting object label 2014-12-07 15:24:46 +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 2484bc8bc7 Use UTF-8 everywhere possible and only use wchar_t where required.
* This means that all APIs pass byte string types. ALL strings everywhere
  in the entire codebase must be assumed to be and treated as UTF-8 content
  not ASCII.
* Gets rid of all the horrible %hs specifiers that caused warnings on
  linux! Hooray.
* We convert to wide strings, or use wide characters, only when necessary
  to use the Win32 API. Some windows specific code will stay in wide chars
  just for convenience.
* Files are already serialised as UTF-8 strings for linux/windows binary
  compatibility, so this change doesn't break backwards compatibility.
2014-11-23 14:45:16 +00:00
baldurk 54abe30ee6 Implement glObjectPtrLabel 2014-11-08 23:00:13 +00:00
baldurk 41caebcdca Implement a whole bunch of glGet* glIs* API functions as pass-through 2014-11-04 21:54:33 +00: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 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