diff options
Diffstat (limited to 'src/mesa/drivers/dri/i965')
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_extensions.c | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_screen.c | 9 |
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; |