summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <airlied@gmail.com>2013-02-13 18:19:46 +1000
committerDave Airlie <airlied@gmail.com>2013-02-13 18:19:46 +1000
commitcbd72a1775d26a74f76be5de337ce036467e2043 (patch)
treeedfd0b7a88c75d726320f72eb50a100d3a79518b
parent43bd7e5b7dfb1ec8437eb9f015184b2e19901289 (diff)
downloadmesa-cbd72a1775d26a74f76be5de337ce036467e2043.tar.gz
mesa-cbd72a1775d26a74f76be5de337ce036467e2043.tar.xz
mesa-cbd72a1775d26a74f76be5de337ce036467e2043.zip
mesa: make nv50 build and disable intel GL3
-rw-r--r--intel-revert-gl3.patch59
-rw-r--r--mesa.spec8
-rw-r--r--nv50-fix-build.patch12
3 files changed, 79 insertions, 0 deletions
diff --git a/intel-revert-gl3.patch b/intel-revert-gl3.patch
new file mode 100644
index 0000000..6ca79e6
--- /dev/null
+++ b/intel-revert-gl3.patch
@@ -0,0 +1,59 @@
+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:
diff --git a/mesa.spec b/mesa.spec
index c1a23d5..c729dc8 100644
--- a/mesa.spec
+++ b/mesa.spec
@@ -65,6 +65,9 @@ Source3: make-git-snapshot.sh
# Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD.
Source4: Mesa-MLAA-License-Clarification-Email.txt
+# -fno-rtti makes nv50 assert angry
+Patch0: nv50-fix-build.patch
+Patch1: intel-revert-gl3.patch
#Patch7: mesa-7.1-link-shared.patch
Patch9: mesa-8.0-llvmpipe-shmget.patch
#Patch11: mesa-8.0-nouveau-tfp-blacklist.patch
@@ -278,6 +281,8 @@ Mesa shared glapi
%prep
#%setup -q -n Mesa-%{version}%{?snapshot}
%setup -q -n mesa-%{gitdate}
+%patch0 -p1 -b .nv50rtti
+%patch1 -p1 -b .nogl3
#%patch11 -p1 -b .nouveau
# this fastpath is:
@@ -515,6 +520,9 @@ rm -rf $RPM_BUILD_ROOT
%{_includedir}/GLES2/gl2platform.h
%{_includedir}/GLES2/gl2.h
%{_includedir}/GLES2/gl2ext.h
+%{_includedir}/GLES3/gl3platform.h
+%{_includedir}/GLES3/gl3.h
+%{_includedir}/GLES3/gl3ext.h
%{_libdir}/pkgconfig/glesv1_cm.pc
%{_libdir}/pkgconfig/glesv2.pc
%{_libdir}/libGLESv1_CM.so
diff --git a/nv50-fix-build.patch b/nv50-fix-build.patch
new file mode 100644
index 0000000..81862f3
--- /dev/null
+++ b/nv50-fix-build.patch
@@ -0,0 +1,12 @@
+diff -up mesa-20130213/src/gallium/drivers/nv50/codegen/nv50_ir.cpp.rtti mesa-20130213/src/gallium/drivers/nv50/codegen/nv50_ir.cpp
+--- mesa-20130213/src/gallium/drivers/nv50/codegen/nv50_ir.cpp.rtti 2013-02-13 18:08:17.533677028 +1000
++++ mesa-20130213/src/gallium/drivers/nv50/codegen/nv50_ir.cpp 2013-02-13 18:08:20.496752128 +1000
+@@ -716,7 +716,7 @@ Instruction::clone(ClonePolicy<Function>
+ if (!i)
+ i = new_Instruction(pol.context(), op, dType);
+ #ifndef NDEBUG // non-conformant assert, so this is required
+- assert(typeid(*i) == typeid(*this));
++ // assert(typeid(*i) == typeid(*this));
+ #endif
+
+ pol.set<Instruction>(this, i);