Commit graph

2 commits

Author SHA1 Message Date
Kyle Brenneman 3f6730ca08 tests: Add tests for the end of the dispatch table.
Add a '-l' flag to testgldispatch, which tells it to test a generated stub
at the very end of the dispatch table.

On PPC, looking up a function past index 4096 requires more than just a simple
register+immediate load, so this makes sure that it's correct.
2019-12-04 12:28:03 -07:00
Kyle Brenneman bed48a107c tests: Add tests for the multithreaded path in libGLdispatch
This is important for testing the TSD stubs, which have a separate fast path
for single-threaded programs.

The TSD stubs start with a simple global variable to hold the dispatch table
so that a single-threaded program doesn't have to deal with the overhead of
calling pthread_getspecific. When a second thread comes along, it sets that
variable to NULL, which makes the stubs call pthread_getspecific instead.

This change adds a flag to the testgldispatch test program that tells it to
call into libGLdispatch from two threads to force it into its multi-threaded
mode.

It also adds three new test scripts, which are the same testgldispatch tests
but for the multithreaded path.
2018-09-20 10:22:19 -06:00