mesa/intel-revert-gl3.patch
2013-02-13 18:19:46 +10:00

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: