aboutsummaryrefslogtreecommitdiffstats
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.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c
index 8e67b5755a7..aa89380217c 100644
--- a/src/mesa/drivers/dri/i965/intel_extensions.c
+++ b/src/mesa/drivers/dri/i965/intel_extensions.c
@@ -136,6 +136,8 @@ intelInitExtensions(struct gl_context *ctx)
if (brw->gen >= 8)
ctx->Const.GLSLVersion = 450;
+ else if (brw->is_haswell && 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 758a328ab78..c3fd6f6685b 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.c
+++ b/src/mesa/drivers/dri/i965/intel_screen.c
@@ -1538,7 +1538,8 @@ 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 = 33;
+ dri_screen->max_gl_core_version = screen->devinfo.is_haswell &&
+ can_do_pipelined_register_writes(screen) ? 40 : 33;
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;