summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2013-04-06 10:27:28 -0700
committerKenneth Graunke <[email protected]>2013-05-20 13:03:17 -0700
commit50e60bf8daabc473ab7caa23bb60cff8c2954d6f (patch)
tree6ed24d9d35a3e78d28254c78378cd142eb227d94 /src/mesa/drivers
parent9fd7ea786c0bc821253fcdd5c1b9e6309535385d (diff)
i965: Bump kernel requirement to 3.3 on Ivybridge.
Kernel 3.3 introduced the SOL reset execbuf parameter, needed for GL 3.0 on Ivybridge. Bumping the requirement will give an obvious error message rather than simply reporting GL 2.1. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Paul Berry <[email protected]>
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r--src/mesa/drivers/dri/intel/intel_extensions.c5
-rw-r--r--src/mesa/drivers/dri/intel/intel_screen.c26
-rw-r--r--src/mesa/drivers/dri/intel/intel_screen.h2
3 files changed, 12 insertions, 21 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c
index 8d8e325a2c9..5cb2fa38f33 100644
--- a/src/mesa/drivers/dri/intel/intel_extensions.c
+++ b/src/mesa/drivers/dri/intel/intel_extensions.c
@@ -91,12 +91,9 @@ intelInitExtensions(struct gl_context *ctx)
ctx->Const.GLSLVersion = 120;
_mesa_override_glsl_version(ctx);
- if (intel->gen == 6 ||
- (intel->gen == 7 && intel->intelScreen->kernel_has_gen7_sol_reset))
- ctx->Extensions.EXT_transform_feedback = true;
-
if (intel->gen >= 6) {
ctx->Extensions.EXT_framebuffer_multisample = true;
+ ctx->Extensions.EXT_transform_feedback = true;
ctx->Extensions.ARB_blend_func_extended = !driQueryOptionb(&intel->optionCache, "disable_blend_func_extended");
ctx->Extensions.ARB_draw_buffers_blend = true;
ctx->Extensions.ARB_ES3_compatibility = true;
diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c
index 9c292d6029d..433f4ed2bd3 100644
--- a/src/mesa/drivers/dri/intel/intel_screen.c
+++ b/src/mesa/drivers/dri/intel/intel_screen.c
@@ -1196,17 +1196,10 @@ set_max_gl_versions(struct intel_screen *screen)
switch (screen->gen) {
case 7:
- if (screen->kernel_has_gen7_sol_reset) {
- screen->max_gl_core_version = 31;
- screen->max_gl_compat_version = 30;
- screen->max_gl_es1_version = 11;
- screen->max_gl_es2_version = 30;
- } else {
- screen->max_gl_core_version = 0;
- screen->max_gl_compat_version = 21;
- screen->max_gl_es1_version = 11;
- screen->max_gl_es2_version = 20;
- }
+ screen->max_gl_core_version = 31;
+ screen->max_gl_compat_version = 30;
+ screen->max_gl_es1_version = 11;
+ screen->max_gl_es2_version = 30;
break;
case 6:
screen->max_gl_core_version = 31;
@@ -1294,10 +1287,6 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp)
intelScreen->deviceID = drm_intel_bufmgr_gem_get_devid(intelScreen->bufmgr);
- intelScreen->kernel_has_gen7_sol_reset =
- intel_get_boolean(intelScreen->driScrnPriv,
- I915_PARAM_HAS_GEN7_SOL_RESET);
-
if (IS_GEN7(intelScreen->deviceID)) {
intelScreen->gen = 7;
} else if (IS_GEN6(intelScreen->deviceID)) {
@@ -1312,6 +1301,13 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp)
intelScreen->gen = 2;
}
+ if (intelScreen->gen == 7 &&
+ !intel_get_boolean(intelScreen->driScrnPriv,
+ I915_PARAM_HAS_GEN7_SOL_RESET)) {
+ fprintf(stderr, "i965 requires Kernel 3.3 or later.\n");
+ return false;
+ }
+
intelScreen->hw_has_separate_stencil = intelScreen->gen >= 6;
intelScreen->hw_must_use_separate_stencil = intelScreen->gen >= 7;
diff --git a/src/mesa/drivers/dri/intel/intel_screen.h b/src/mesa/drivers/dri/intel/intel_screen.h
index 7da98950aca..48339373e46 100644
--- a/src/mesa/drivers/dri/intel/intel_screen.h
+++ b/src/mesa/drivers/dri/intel/intel_screen.h
@@ -60,8 +60,6 @@ struct intel_screen
bool hw_has_separate_stencil;
bool hw_must_use_separate_stencil;
- bool kernel_has_gen7_sol_reset;
-
bool hw_has_llc;
bool hw_has_swizzling;