From 9bc909f5a7024ca3c2b5aa2fc26b19e8de9c7cf0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 17 Dec 2013 14:32:18 -0800 Subject: 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. --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'README.md') 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. -- cgit v1.2.1