[Mesa-stable] [Mesa-dev] [PATCH v2 1/4] i965: Fall back to GL 4.2/4.3 on Haswell if the kernel isn't new enough.

Samuel Iglesias Gonsálvez siglesias at igalia.com
Mon Mar 20 06:04:35 UTC 2017


Series is:

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>

On Sun, 2017-03-19 at 20:28 -0700, Kenneth Graunke wrote:
> 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 at lists.freedesktop.org>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
>  src/mesa/drivers/dri/i965/intel_screen.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> Rest of the series remains unchanged.
> 
> diff --git a/src/mesa/drivers/dri/i965/intel_screen.c
> b/src/mesa/drivers/dri/i965/intel_screen.c
> index 81cb0deabb3..2d8e007e79d 100644
> --- a/src/mesa/drivers/dri/i965/intel_screen.c
> +++ b/src/mesa/drivers/dri/i965/intel_screen.c
> @@ -1554,8 +1554,15 @@ set_max_gl_versions(struct intel_screen
> *screen)
>        dri_screen->max_gl_es2_version = has_astc ? 32 : 31;
>        break;
>     case 7:
> -      dri_screen->max_gl_core_version = screen->devinfo.is_haswell
> &&
> -         can_do_pipelined_register_writes(screen) ? 45 : 33;
> +      dri_screen->max_gl_core_version = 33;
> +      if (screen->devinfo.is_haswell &&
> +          can_do_pipelined_register_writes(screen)) {
> +         dri_screen->max_gl_core_version = 42;
> +         if (can_do_compute_dispatch(screen))
> +            dri_screen->max_gl_core_version = 43;
> +         if (can_do_mi_math_and_lrr(screen))
> +            dri_screen->max_gl_core_version = 45;
> +      }
>        dri_screen->max_gl_compat_version = 30;
>        dri_screen->max_gl_es1_version = 11;
>        dri_screen->max_gl_es2_version = screen->devinfo.is_haswell ?
> 31 : 30;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/mesa-stable/attachments/20170320/e8fc50d6/attachment.sig>


More information about the mesa-stable mailing list