My motivation for these patches is to test HW context support. In doing this I realized that all 3d state stuff is stuck in gem_stress. The 2nd and 3rd patches pull gem_stress out into a library. gem_stress does not appear at all threadsafe. To cheaply workaround this (for now) deal with it by using fork/exec instead of multithreaded programs. An example of how to do this is with the context test I created. Patch 4 and 5 implement this. Patch 4 is a simple wrapper for libdrm calls, patch 5 is the test itself. This won't compile for people unless they use my libdrm, and the test won't be usable unless people take my kernel. I plan to post those separately in the very near future. However for those interested the branches are available from my freedesktop.org repositories. kernel: git://people.freedesktop.org/~bwidawsk/drm-intel context-support libdrm: git://people.freedesktop.org/~bwidawsk/drm context-support i-g-t: git://people.freedesktop.org/~bwidawsk/intel-gpu-tools context-support Ben Widawsky (5): i-g-t: silence -Winline gem_stress: make it library friendly gem_stress: more library refactoring context: libdrm wrappers contexts: basic context test lib/Makefile.am | 6 + lib/gem_stress.c | 238 ++++++++ lib/gem_stress.h | 122 ++++ lib/gem_stress_gen6.c | 581 ++++++++++++++++++ lib/gem_stress_i830.c | 354 +++++++++++ lib/gem_stress_i915.c | 190 ++++++ lib/gen6_render.h | 1553 +++++++++++++++++++++++++++++++++++++++++++++++ lib/intel_batchbuffer.c | 40 ++- lib/intel_batchbuffer.h | 3 + lib/intel_gpu_tools.h | 5 + tests/Makefile.am | 6 +- tests/gem_ctx_basic.c | 121 ++++ tests/gem_stress.c | 231 +------- tests/gem_stress.h | 100 --- tests/gem_stress_gen6.c | 595 ------------------ tests/gem_stress_i830.c | 354 ----------- tests/gem_stress_i915.c | 190 ------ tests/gen6_render.h | 1553 ----------------------------------------------- 18 files changed, 3227 insertions(+), 3015 deletions(-) create mode 100644 lib/gem_stress.c create mode 100644 lib/gem_stress.h create mode 100644 lib/gem_stress_gen6.c create mode 100644 lib/gem_stress_i830.c create mode 100644 lib/gem_stress_i915.c create mode 100644 lib/gen6_render.h create mode 100644 tests/gem_ctx_basic.c delete mode 100644 tests/gem_stress.h delete mode 100644 tests/gem_stress_gen6.c delete mode 100644 tests/gem_stress_i830.c delete mode 100644 tests/gem_stress_i915.c delete mode 100644 tests/gen6_render.h -- 1.7.8.3