i965: Require hardware contexts (and thus Kernel 3.6) on Gen6+.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 16 May 2013 04:18:28 +0000 (21:18 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 20 May 2013 20:03:17 +0000 (13:03 -0700)
commit92d2f5acfadea672417b6785710c9e8b7f605e41
tree8edfd48ad341bda27e1a20a5269bb545a1db3c28
parent50e60bf8daabc473ab7caa23bb60cff8c2954d6f
i965: Require hardware contexts (and thus Kernel 3.6) on Gen6+.

Hardware contexts are necessary to reasonably support OpenGL 3.2.
In particular, we currently maintain software counters for transform
feedback buffer offsets and counters, which relies on knowing the number
of primitives generated.  Geometry shaders violate that assumption.

At the time of writing, Debian has moved to Kernel 3.8, which means most
people probably have a newer kernel by now.  It's also worth noting that
this patch won't land until Mesa 10 which is currently targeted for
September.  By that point, even more people will have a newer kernel.

Also, don't bother trying to allocate contexts on pre-Gen6, as it
currently will always fail, and if this changes in the future, we'll
need to reevaluate our hw_ctx/gen checks.

This patch leaves the code for flagging BRW_NEW_CONTEXT on new
batchbuffers if hw_ctx == NULL since that still occurs pre-Gen6.

Also remove the Gen7+ check for kernel 3.3, since it's now redundant.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
src/mesa/drivers/dri/i965/brw_context.c
src/mesa/drivers/dri/intel/intel_screen.c