| |
| |
| 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) |