summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/i965/intel_extensions.c2
-rw-r--r--src/mesa/drivers/dri/i965/intel_screen.c9
2 files changed, 6 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c
index c6323f96da0..467a0d3e842 100644
--- a/src/mesa/drivers/dri/i965/intel_extensions.c
+++ b/src/mesa/drivers/dri/i965/intel_extensions.c
@@ -138,6 +138,8 @@ intelInitExtensions(struct gl_context *ctx)
ctx->Const.GLSLVersion = 450;
else if (brw->is_haswell && can_do_pipelined_register_writes(brw->screen))
ctx->Const.GLSLVersion = 450;
+ else if (brw->gen >= 7 && can_do_pipelined_register_writes(brw->screen))
+ ctx->Const.GLSLVersion = 400;
else if (brw->gen >= 6)
ctx->Const.GLSLVersion = 330;
else
diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
index 23a4bd6d6c8..9e536f58b32 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.c
+++ b/src/mesa/drivers/dri/i965/intel_screen.c
@@ -1653,12 +1653,11 @@ set_max_gl_versions(struct intel_screen *screen)
break;
case 7:
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))
+ if (can_do_pipelined_register_writes(screen)) {
+ dri_screen->max_gl_core_version = screen->devinfo.is_haswell ? 42 : 40;
+ if (screen->devinfo.is_haswell && can_do_compute_dispatch(screen))
dri_screen->max_gl_core_version = 43;
- if (can_do_mi_math_and_lrr(screen))
+ if (screen->devinfo.is_haswell && can_do_mi_math_and_lrr(screen))
dri_screen->max_gl_core_version = 45;
}
dri_screen->max_gl_compat_version = 30;