i965/ir: Test thread dispatch packing assumptions.
authorFrancisco Jerez <currojerez@riseup.net>
Fri, 16 Sep 2016 04:43:18 +0000 (21:43 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Wed, 21 Sep 2016 10:45:46 +0000 (13:45 +0300)
commite5311ba1acba738346a18ef661b0f8bbc33bba8e
treeb5141880285d30b8195f87a333c5d2ff131b645e
parentc05a4f11a03dd5614a9462b5cb28e8b630bfddc0
i965/ir: Test thread dispatch packing assumptions.

Not [originally] intended for upstream.  Should cause a GPU hang if
some thread is executed with a non-contiguous dispatch mask breaking
assumptions of brw_stage_has_packed_dispatch().  Doesn't cause any
CTS, DEQP or Piglit regressions, while replacing
brw_stage_has_packed_dispatch() with a dummy implementation that
unconditionally returns true on top of this patch causes multiple GPU
hangs.

v2: Refactor into a separate function instead of emitting the test
    code directly from emit_nir_code(), drop VEC4 test and clean up
    slightly for upstream. (Jason)

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/brw_fs.cpp