Mesa (master): glx: Adjust the MESA_multithread_makecurrent spec to match implementation.

Eric Anholt anholt at kemper.freedesktop.org
Sat Feb 26 22:07:31 UTC 2011


Module: Mesa
Branch: master
Commit: 5f889c5bf5221f2af2f34e47f20bd1b98c061fbe
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f889c5bf5221f2af2f34e47f20bd1b98c061fbe

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Feb 24 15:25:59 2011 -0800

glx: Adjust the MESA_multithread_makecurrent spec to match implementation.

This came out of discussion at the office today, and we agreed that
solving this for indirect wasn't really interesting, though the
server-side change would be of a similar level of difficulty.

---

 docs/MESA_multithread_makecurrent.spec |   29 ++++++++++++++++++++++++++---
 1 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/docs/MESA_multithread_makecurrent.spec b/docs/MESA_multithread_makecurrent.spec
index 68ade76..5065c2f 100644
--- a/docs/MESA_multithread_makecurrent.spec
+++ b/docs/MESA_multithread_makecurrent.spec
@@ -61,19 +61,37 @@ New Tokens
 
     None.
 
+Changes to Chapter 2 of the GLX 1.3 Specification (Functions and Errors)
+
+    Replace the following sentence from section 2.2 Rendering Contexts:
+	In addition, a rendering context can be current for only one
+	thread at a time.
+    with:
+	In addition, an indirect rendering context can be current for
+	only one thread at a time.  A direct rendering context may be
+	current to multiple threads, with synchronization of access to
+	the context thruogh the GL managed by the application through
+	mutexes.
+
 Changes to Chapter 3 of the GLX 1.3 Specification (Functions and Errors)
 
-    Remove the following sentence from section 3.3.7 Rendering Contexts:
+    Replace the following sentence from section 3.3.7 Rendering Contexts:
 	If ctx is current to some other thread, then
 	glXMakeContextCurrent will generate a BadAccess error.
+    with:
+	If ctx is an indirect context current to some other thread,
+	then glXMakeContextCurrent will generate a BadAccess error.
 
-    Remove the following sentence from section 3.5 Rendering Contexts:
+    Replace the following sentence from section 3.5 Rendering Contexts:
 	If ctx is current to some other thread, then
 	glXMakeCurrent will generate a BadAccess error.
+    with:
+	If ctx is an indirect context current to some other thread,
+	then glXMakeCurrent will generate a BadAccess error.
 
 GLX Protocol
 
-    None.  The GLX extension is client-side.
+    None.  The GLX extension only extends to direct rendering contexts.
 
 Errors
 
@@ -125,6 +143,11 @@ Issues
     share in synchronization for binding of their own contexts, so the
     refcounting of the contexts is required to be threadsafe.
 
+    (6) Does this apply to indirect contexts?
+
+    This was ignored in the initial revision of the spec.  Behavior
+    for indirect contexts is left as-is.
+
 Revision History
 
     20 November 2009 Eric Anholt - initial specification




More information about the mesa-commit mailing list