60 lines
2.3 KiB
Diff
60 lines
2.3 KiB
Diff
|
diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c
|
||
|
index 4e7b5da..1562f59 100755
|
||
|
--- a/src/mesa/drivers/dri/intel/intel_extensions.c
|
||
|
+++ b/src/mesa/drivers/dri/intel/intel_extensions.c
|
||
|
@@ -135,9 +135,11 @@ intelInitExtensions(struct gl_context *ctx)
|
||
|
ctx->Extensions.ARB_seamless_cube_map = true;
|
||
|
ctx->Extensions.ARB_shader_bit_encoding = true;
|
||
|
ctx->Extensions.ARB_shader_texture_lod = true;
|
||
|
+#ifdef TEXTURE_FLOAT_ENABLED
|
||
|
ctx->Extensions.ARB_texture_float = true;
|
||
|
ctx->Extensions.EXT_texture_shared_exponent = true;
|
||
|
ctx->Extensions.EXT_packed_float = true;
|
||
|
+#endif
|
||
|
ctx->Extensions.ARB_texture_compression_rgtc = true;
|
||
|
ctx->Extensions.ARB_texture_rg = true;
|
||
|
ctx->Extensions.ARB_vertex_type_2_10_10_10_rev = true;
|
||
|
diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c
|
||
|
index 750cb78..c0b63d3 100644
|
||
|
--- a/src/mesa/drivers/dri/intel/intel_screen.c
|
||
|
+++ b/src/mesa/drivers/dri/intel/intel_screen.c
|
||
|
@@ -1039,9 +1039,15 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
|
||
|
static void
|
||
|
set_max_gl_versions(struct intel_screen *screen)
|
||
|
{
|
||
|
+#ifdef TEXTURE_FLOAT_ENABLED
|
||
|
+ bool has_texture_float = true;
|
||
|
+#else
|
||
|
+ bool has_texture_float = false;
|
||
|
+#endif
|
||
|
+
|
||
|
switch (screen->gen) {
|
||
|
case 7:
|
||
|
- if (screen->kernel_has_gen7_sol_reset) {
|
||
|
+ if (has_texture_float && screen->kernel_has_gen7_sol_reset) {
|
||
|
screen->max_gl_core_version = 31;
|
||
|
screen->max_gl_compat_version = 30;
|
||
|
screen->max_gl_es1_version = 11;
|
||
|
@@ -1054,10 +1060,17 @@ set_max_gl_versions(struct intel_screen *screen)
|
||
|
}
|
||
|
break;
|
||
|
case 6:
|
||
|
- screen->max_gl_core_version = 31;
|
||
|
- screen->max_gl_compat_version = 30;
|
||
|
- screen->max_gl_es1_version = 11;
|
||
|
- screen->max_gl_es2_version = 20;
|
||
|
+ if (has_texture_float) {
|
||
|
+ screen->max_gl_core_version = 31;
|
||
|
+ screen->max_gl_compat_version = 30;
|
||
|
+ screen->max_gl_es1_version = 11;
|
||
|
+ screen->max_gl_es2_version = 20;
|
||
|
+ } 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;
|
||
|
+ }
|
||
|
break;
|
||
|
case 5:
|
||
|
case 4:
|