summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r--src/mesa/drivers/dri/intel/intel_extensions.c3
-rw-r--r--src/mesa/drivers/dri/intel/intel_screen.c4
-rw-r--r--src/mesa/drivers/dri/intel/intel_screen.h2
3 files changed, 8 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c
index 13aadb394b0..789fc9e0c7b 100644
--- a/src/mesa/drivers/dri/intel/intel_extensions.c
+++ b/src/mesa/drivers/dri/intel/intel_extensions.c
@@ -104,7 +104,8 @@ intelInitExtensions(struct gl_context *ctx)
ctx->Const.GLSLVersion = 120;
_mesa_override_glsl_version(ctx);
- if (intel->gen == 6 || (intel->gen == 7 && override_version >= 30))
+ if (intel->gen == 6 ||
+ (intel->gen == 7 && intel->intelScreen->kernel_has_gen7_sol_reset))
ctx->Extensions.EXT_transform_feedback = true;
if (intel->gen >= 5)
diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c
index dd0ce611f12..2478cb3b775 100644
--- a/src/mesa/drivers/dri/intel/intel_screen.c
+++ b/src/mesa/drivers/dri/intel/intel_screen.c
@@ -697,6 +697,10 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp)
intelScreen->deviceID = strtod(devid_override, NULL);
}
+ 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)) {
diff --git a/src/mesa/drivers/dri/intel/intel_screen.h b/src/mesa/drivers/dri/intel/intel_screen.h
index 63c58df2f06..6c6b516f230 100644
--- a/src/mesa/drivers/dri/intel/intel_screen.h
+++ b/src/mesa/drivers/dri/intel/intel_screen.h
@@ -114,6 +114,8 @@ struct intel_screen
bool hw_has_hiz;
enum intel_dri2_has_hiz dri2_has_hiz;
+ bool kernel_has_gen7_sol_reset;
+
bool no_vbo;
dri_bufmgr *bufmgr;
struct _mesa_HashTable *named_regions;