summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/intel_screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/i965/intel_screen.c')
-rw-r--r--src/mesa/drivers/dri/i965/intel_screen.c11
1 files changed, 9 insertions, 2 deletions
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;