summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2013-12-17 14:32:18 -0800
committerEric Anholt <eric@anholt.net>2013-12-17 15:08:02 -0800
commit9bc909f5a7024ca3c2b5aa2fc26b19e8de9c7cf0 (patch)
tree0728cce0be62976c66f9894c51929866f1d35a10 /README.md
parent3ae4726cdbb0fccdb02bcdba07662fe6f6a15589 (diff)
downloadlibepoxy-9bc909f5a7024ca3c2b5aa2fc26b19e8de9c7cf0.tar.gz
win32: Convert the API to being based on function pointers, like Linux.
For performance, I want to be able to make single-context (well, single-pixel-format-and-device) apps be able to directly call GL functions through function pointers. Bake that into the ABI now so I can get a release out the door and fix this up later. This also fixes the lack of __stdcall annotation on the PFNWHATEVERPROC typedefs.
Diffstat (limited to 'README.md')
-rw-r--r--README.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/README.md b/README.md
index b52faed..a0fab31 100644
--- a/README.md
+++ b/README.md
@@ -119,3 +119,13 @@ pixel format. If ```wglMakeCurrent()``` is called from outside of
epoxy (in a way that might change the device or pixel format), then
epoxy needs to be notified of the change using
```epoxy_handle_external_wglMakeCurrent()```.
+
+The win32 dispatch layer is currently slower than it should be in the
+single-context (or multi-context, but same device and pixel format)
+case. We need to switch to using the linux-like function pointer
+stubs, and detect when transitioning to multi-device/format and hook
+in the per-thread dispatch table at that point.
+
+The win32 wglMakeCurrent () variants are slower than they should be,
+because they should be caching the resolved dispatch tables instead of
+resetting an entire thread-local dispatch table every time.