i965: Fall back to GL 4.2/4.3 on Haswell if the kernel isn't new enough.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 2 Mar 2017 19:33:37 +0000 (11:33 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 20 Mar 2017 22:58:05 +0000 (15:58 -0700)
commit9b324e4dca4754801e5db59aba0ab559f2cf35ea
treee7582fbf6fc205b4b438e2a13688c03722e457e0
parent99d400b78f03ce33730b7ac8afa5077d6bb31893
i965: Fall back to GL 4.2/4.3 on Haswell if the kernel isn't new enough.

In commit d2590eb65ff28a9cbd592353d15d7e6cbd2c6fc6 I enabled GL 4.5
on Haswell...but failed to check if we could do indirect compute
shader dispatch...and query buffer objects.

Indirect compute shader dispatch requires command parser version 5
(kernel commit 7b9748cb513a6bef4af87b79f0da3ff7e8b56cd8, which is in
Linux v4.4).  On earlier kernels we would have disabled
ARB_compute_shader, which is a mandatory part of OpenGL 4.3+.

Query buffer objects currently require MI_MATH and MI_LOAD_REGISTER_REG,
which mean command parser version 7 (Linux v4.8).  On earlier kernels
we would have disabled ARB_query_buffer_object, which is a mandatory
part of OpenGL 4.4+.

The new version support looks like:

- Kernel 4.1 and older => OpenGL 3.3
- Kernel 4.2-4.3       => OpenGL 4.2
- Kernel 4.4-4.7       => OpenGL 4.3
- Kernel 4.8+          => OpenGL 4.5

Cc: "17.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
src/mesa/drivers/dri/i965/intel_screen.c