aboutsummaryrefslogtreecommitdiff
path: root/docs/README.THREADS
diff options
context:
space:
mode:
authorftrapero <frantracer@gmail.com>2017-06-15 14:15:08 +0200
committerftrapero <frantracer@gmail.com>2017-06-15 14:15:08 +0200
commit8667d4d97a3e958a7f63c18c34a62469ba5d2079 (patch)
tree9eb12657744eb81745b1ddfc7fd3f2d33a45c979 /docs/README.THREADS
downloadnx-libs-8667d4d97a3e958a7f63c18c34a62469ba5d2079.tar.gz
nx-libs-8667d4d97a3e958a7f63c18c34a62469ba5d2079.tar.bz2
nx-libs-8667d4d97a3e958a7f63c18c34a62469ba5d2079.zip
Squashed 'nx-X11/extras/Mesa_6.4.1/' content from commit 53d1bc0
git-subtree-dir: nx-X11/extras/Mesa_6.4.1 git-subtree-split: 53d1bc081eb633aecbd5ab0bf3981f734a2102f2
Diffstat (limited to 'docs/README.THREADS')
-rw-r--r--docs/README.THREADS52
1 files changed, 52 insertions, 0 deletions
diff --git a/docs/README.THREADS b/docs/README.THREADS
new file mode 100644
index 000000000..fb6e0ff3d
--- /dev/null
+++ b/docs/README.THREADS
@@ -0,0 +1,52 @@
+
+
+Mesa Threads README
+-------------------
+
+Thread safety was introduced in Mesa 2.6 by John Stone and
+Christoph Poliwoda.
+
+It was redesigned in Mesa 3.3 so that thread safety is
+supported by default (on systems which support threads,
+that is). There is no measurable penalty on single
+threaded applications.
+
+NOTE that the only _driver_ which is thread safe at this time
+is the OS/Mesa driver!
+
+
+At present the mthreads code supports three thread APIS:
+ 1) POSIX threads (aka pthreads).
+ 2) Solaris / Unix International threads.
+ 3) Win32 threads (Win 95/NT).
+
+Support for other thread libraries can be added src/glthread.[ch]
+
+
+In order to guarantee proper operation, it is
+necessary for both Mesa and application code to use the same threads API.
+So, if your application uses Sun's thread API, then you should build Mesa
+using one of the targets for Sun threads.
+
+The mtdemos directory contains some example programs which use
+multiple threads to render to osmesa rendering context(s).
+
+Linux users should be aware that there exist many different POSIX
+threads packages. The best solution is the linuxthreads package
+(http://pauillac.inria.fr/~xleroy/linuxthreads/) as this package is the
+only one that really supports multiprocessor machines (AFAIK). See
+http://pauillac.inria.fr/~xleroy/linuxthreads/README for further
+information about the usage of linuxthreads.
+
+If you are interested in helping with thread safety work in Mesa
+join the Mesa developers mailing list and post your proposal.
+
+
+Regards,
+ John Stone -- j.stone@acm.org johns@cs.umr.edu
+ Christoph Poliwoda -- poliwoda@volumegraphics.com
+
+
+Version info:
+ Mesa 2.6 - initial thread support.
+ Mesa 3.3 - thread support mostly rewritten (Brian Paul)