Accepting request 106690 from X11:XOrg
- Update to Mesa 8.0.1 * Removed all DRI drivers that did not support DRI2. Specifically, i810, mach64, mga, r128, savage, sis, tdfx, and unichrome were removed. * Removed all remnants of paletted texture support. As required by desktop OpenGL, GL_COLOR_INDEX data can still be uploaded to a color (e.g., RGBA) texture. However, the data cannot be stored internally as color-index. * Removed support for GL_APPLE_client_storage extension. * Removed the classic Mesa r300 and r600 drivers, which are superseded by the gallium drivers for this hardware. * Removed the dead Gallium i965, cell and failover drivers, which were either broken and with nobody in sight to fix the situation or deprecated. - obsoletes u_GLX-SWrast-Make-GLX-with-SWrast-enabled-work-on-olde.patch (git commit #63a6fd6603574c1c01324fbeb0863e39d3864c16) - obsoletes U_Mesa-7.11-llvm3.patch - obsoletes Mesa-llvm-3.0.patch - disabled u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch for now (obsolete as well?) - use --enable-shared-dricore, saves ~33 MB - readded build of non-gallium nouveau driver ("nouveau_vieux") to support again older NVIDIA GPUs - fix requires of devel package in moving the %package before the other packages that have custom versions. %version in rpm is tricky - it's the _last_ version before the macro, not the main one. OBS-URL: https://build.opensuse.org/request/show/106690 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/Mesa?expand=0&rev=140
This commit is contained in:
commit
a967367cbf
@ -1,105 +0,0 @@
|
|||||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
|
|
||||||
index 29dfb86..f44749d 100644
|
|
||||||
--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
|
|
||||||
+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
|
|
||||||
@@ -27,17 +27,23 @@
|
|
||||||
|
|
||||||
#include <llvm-c/Core.h>
|
|
||||||
#include <llvm/Target/TargetMachine.h>
|
|
||||||
-#include <llvm/Target/TargetRegistry.h>
|
|
||||||
-#include <llvm/Target/TargetSelect.h>
|
|
||||||
#include <llvm/Target/TargetInstrInfo.h>
|
|
||||||
#include <llvm/Support/raw_ostream.h>
|
|
||||||
#include <llvm/Support/MemoryObject.h>
|
|
||||||
|
|
||||||
+#if HAVE_LLVM >= 0x0300
|
|
||||||
+#include <llvm/Support/TargetRegistry.h>
|
|
||||||
+#include <llvm/Support/TargetSelect.h>
|
|
||||||
+#else /* HAVE_LLVM < 0x0300 */
|
|
||||||
+#include <llvm/Target/TargetRegistry.h>
|
|
||||||
+#include <llvm/Target/TargetSelect.h>
|
|
||||||
+#endif /* HAVE_LLVM < 0x0300 */
|
|
||||||
+
|
|
||||||
#if HAVE_LLVM >= 0x0209
|
|
||||||
#include <llvm/Support/Host.h>
|
|
||||||
-#else
|
|
||||||
+#else /* HAVE_LLVM < 0x0209 */
|
|
||||||
#include <llvm/System/Host.h>
|
|
||||||
-#endif
|
|
||||||
+#endif /* HAVE_LLVM < 0x0209 */
|
|
||||||
|
|
||||||
#if HAVE_LLVM >= 0x0207
|
|
||||||
#include <llvm/MC/MCDisassembler.h>
|
|
||||||
@@ -193,14 +199,23 @@ lp_disassemble(const void* func)
|
|
||||||
|
|
||||||
InitializeAllDisassemblers();
|
|
||||||
|
|
||||||
+#if HAVE_LLVM >= 0x0300
|
|
||||||
+ OwningPtr<const MCAsmInfo> AsmInfo(T->createMCAsmInfo(Triple));
|
|
||||||
+#else
|
|
||||||
OwningPtr<const MCAsmInfo> AsmInfo(T->createAsmInfo(Triple));
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (!AsmInfo) {
|
|
||||||
debug_printf("error: no assembly info for target %s\n", Triple.c_str());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if HAVE_LLVM >= 0x0300
|
|
||||||
+ const MCSubtargetInfo *STI = T->createMCSubtargetInfo(Triple, sys::getHostCPUName(), "");
|
|
||||||
+ OwningPtr<const MCDisassembler> DisAsm(T->createMCDisassembler(*STI));
|
|
||||||
+#else
|
|
||||||
OwningPtr<const MCDisassembler> DisAsm(T->createMCDisassembler());
|
|
||||||
+#endif
|
|
||||||
if (!DisAsm) {
|
|
||||||
debug_printf("error: no disassembler for target %s\n", Triple.c_str());
|
|
||||||
return;
|
|
||||||
@@ -213,7 +228,11 @@ lp_disassemble(const void* func)
|
|
||||||
#else
|
|
||||||
int AsmPrinterVariant = AsmInfo->getAssemblerDialect();
|
|
||||||
#endif
|
|
||||||
-#if HAVE_LLVM >= 0x0208
|
|
||||||
+
|
|
||||||
+#if HAVE_LLVM >= 0x0300
|
|
||||||
+ OwningPtr<MCInstPrinter> Printer(
|
|
||||||
+ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI));
|
|
||||||
+#elif HAVE_LLVM >= 0x0208
|
|
||||||
OwningPtr<MCInstPrinter> Printer(
|
|
||||||
T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo));
|
|
||||||
#else
|
|
||||||
@@ -253,7 +272,11 @@ lp_disassemble(const void* func)
|
|
||||||
|
|
||||||
if (!DisAsm->getInstruction(Inst, Size, memoryObject,
|
|
||||||
pc,
|
|
||||||
- nulls())) {
|
|
||||||
+#if HAVE_LLVM >= 0x0300
|
|
||||||
+ nulls(), nulls())) {
|
|
||||||
+#else
|
|
||||||
+ nulls())) {
|
|
||||||
+#endif
|
|
||||||
debug_printf("invalid\n");
|
|
||||||
pc += 1;
|
|
||||||
}
|
|
||||||
@@ -276,7 +299,9 @@ lp_disassemble(const void* func)
|
|
||||||
* Print the instruction.
|
|
||||||
*/
|
|
||||||
|
|
||||||
-#if HAVE_LLVM >= 0x208
|
|
||||||
+#if HAVE_LLVM >= 0x0300
|
|
||||||
+ Printer->printInst(&Inst, Out, "");
|
|
||||||
+#elif HAVE_LLVM >= 0x208
|
|
||||||
Printer->printInst(&Inst, Out);
|
|
||||||
#else
|
|
||||||
Printer->printInst(&Inst);
|
|
||||||
@@ -289,7 +314,11 @@
|
|
||||||
|
|
||||||
pc += Size;
|
|
||||||
|
|
||||||
+#if HAVE_LLVM >= 0x0300
|
|
||||||
+ const MCInstrDesc &TID = TII->get(Inst.getOpcode());
|
|
||||||
+#else
|
|
||||||
const TargetInstrDesc &TID = TII->get(Inst.getOpcode());
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Keep track of forward jumps to a nearby address.
|
|
2
Mesa-rpmlintrc
Normal file
2
Mesa-rpmlintrc
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Want to allow for multiple vendors
|
||||||
|
addFilter("shlib-policy-name-error")
|
48
Mesa.changes
48
Mesa.changes
@ -1,3 +1,51 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 23 10:57:09 UTC 2012 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- Update to Mesa 8.0.1
|
||||||
|
* Removed all DRI drivers that did not support DRI2.
|
||||||
|
Specifically, i810, mach64, mga, r128, savage, sis, tdfx, and
|
||||||
|
unichrome were removed.
|
||||||
|
* Removed all remnants of paletted texture support. As required
|
||||||
|
by desktop OpenGL, GL_COLOR_INDEX data can still be uploaded
|
||||||
|
to a color (e.g., RGBA) texture. However, the data cannot be
|
||||||
|
stored internally as color-index.
|
||||||
|
* Removed support for GL_APPLE_client_storage extension.
|
||||||
|
* Removed the classic Mesa r300 and r600 drivers, which are
|
||||||
|
superseded by the gallium drivers for this hardware.
|
||||||
|
* Removed the dead Gallium i965, cell and failover drivers,
|
||||||
|
which were either broken and with nobody in sight to fix
|
||||||
|
the situation or deprecated.
|
||||||
|
- obsoletes u_GLX-SWrast-Make-GLX-with-SWrast-enabled-work-on-olde.patch
|
||||||
|
(git commit #63a6fd6603574c1c01324fbeb0863e39d3864c16)
|
||||||
|
- obsoletes U_Mesa-7.11-llvm3.patch
|
||||||
|
- obsoletes Mesa-llvm-3.0.patch
|
||||||
|
- disabled u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
|
||||||
|
for now (obsolete as well?)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 22 14:27:44 UTC 2012 - jengelh@medozas.de
|
||||||
|
|
||||||
|
- use --enable-shared-dricore, saves ~33 MB
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 22 14:14:56 UTC 2012 - sndirsch@suse.com
|
||||||
|
|
||||||
|
- readded build of non-gallium nouveau driver ("nouveau_vieux") to
|
||||||
|
support again older NVIDIA GPUs
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 21 19:53:03 UTC 2012 - coolo@suse.com
|
||||||
|
|
||||||
|
- fix requires of devel package in moving the %package before the
|
||||||
|
other packages that have custom versions.
|
||||||
|
%version in rpm is tricky - it's the _last_ version before the
|
||||||
|
macro, not the main one.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 21 03:57:14 UTC 2012 - jengelh@medozas.de
|
||||||
|
|
||||||
|
- Split shared libraries per shlib pol.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Feb 12 19:24:03 UTC 2012 - jengelh@medozas.de
|
Sun Feb 12 19:24:03 UTC 2012 - jengelh@medozas.de
|
||||||
|
|
||||||
|
411
Mesa.spec
411
Mesa.spec
@ -17,12 +17,11 @@
|
|||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
%define _version 7.11.1
|
%define _version 8.0.1
|
||||||
|
|
||||||
Version: 7.11.1
|
|
||||||
Release: 0
|
|
||||||
|
|
||||||
Name: Mesa
|
Name: Mesa
|
||||||
|
Version: 8.0.1
|
||||||
|
Release: 0
|
||||||
BuildRequires: autoconf >= 2.59
|
BuildRequires: autoconf >= 2.59
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
@ -54,14 +53,20 @@ BuildRequires: pkgconfig(xxf86vm)
|
|||||||
%ifarch %ix86 x86_64
|
%ifarch %ix86 x86_64
|
||||||
BuildRequires: llvm-devel
|
BuildRequires: llvm-devel
|
||||||
%endif
|
%endif
|
||||||
|
BuildRequires: vim
|
||||||
Url: http://www.mesa3d.org
|
Url: http://www.mesa3d.org
|
||||||
Provides: xorg-x11-Mesa = %{version} intel-i810-Mesa = %{version} Mesa7 = %{version}
|
Provides: Mesa7 = %{version}
|
||||||
Obsoletes: xorg-x11-Mesa < %{version} intel-i810-Mesa < %{version} Mesa7 < %{version}
|
Obsoletes: Mesa7 < %{version}
|
||||||
|
Provides: intel-i810-Mesa = %{version}
|
||||||
|
Obsoletes: intel-i810-Mesa < %{version}
|
||||||
|
Provides: xorg-x11-Mesa = %{version}
|
||||||
|
Obsoletes: xorg-x11-Mesa < %{version}
|
||||||
Obsoletes: Mesa-nouveau3d
|
Obsoletes: Mesa-nouveau3d
|
||||||
# bug437293
|
# bug437293
|
||||||
%ifarch ppc64
|
%ifarch ppc64
|
||||||
Obsoletes: XFree86-Mesa-64bit < %{version} Mesa-64bit < %{version}
|
Obsoletes: XFree86-Mesa-64bit < %{version} Mesa-64bit < %{version}
|
||||||
Provides: XFree86-Mesa-64bit = %{version} Mesa-64bit < %{version}
|
Provides: Mesa-64bit < %{version}
|
||||||
|
Provides: XFree86-Mesa-64bit = %{version}
|
||||||
%endif
|
%endif
|
||||||
#
|
#
|
||||||
Summary: System for rendering interactive 3-D graphics
|
Summary: System for rendering interactive 3-D graphics
|
||||||
@ -72,12 +77,10 @@ Source2: baselibs.conf
|
|||||||
Source3: README.updates
|
Source3: README.updates
|
||||||
Source4: manual-pages.tar.bz2
|
Source4: manual-pages.tar.bz2
|
||||||
Source5: drirc
|
Source5: drirc
|
||||||
|
Source6: %name-rpmlintrc
|
||||||
# to be upstreamed
|
# to be upstreamed
|
||||||
Patch9: u_GLX-SWrast-Make-GLX-with-SWrast-enabled-work-on-olde.patch
|
|
||||||
Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
|
Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
|
||||||
# already upstream
|
# already upstream
|
||||||
Patch13: U_Mesa-7.11-llvm3.patch
|
|
||||||
Patch15: Mesa-llvm-3.0.patch
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -95,23 +98,28 @@ just Mesa or The Mesa 3-D graphics library.
|
|||||||
|
|
||||||
* OpenGL is a trademark of Silicon Graphics Incorporated.
|
* OpenGL is a trademark of Silicon Graphics Incorporated.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
|
||||||
--------
|
|
||||||
Brian Paul
|
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Requires: Mesa = %version libdrm-devel libudev-devel
|
|
||||||
Summary: Libraries, includes and more to develop Mesa applications
|
Summary: Libraries, includes and more to develop Mesa applications
|
||||||
Group: Development/Libraries/X11
|
Group: Development/Libraries/X11
|
||||||
|
Requires: Mesa = %version
|
||||||
|
Requires: Mesa-libEGL-devel = %version
|
||||||
|
Requires: Mesa-libGL-devel = %version
|
||||||
|
Requires: Mesa-libGLESv1_CM-devel = %version
|
||||||
|
Requires: Mesa-libGLESv2-devel = %version
|
||||||
|
Requires: Mesa-libGLU-devel = %version
|
||||||
|
Requires: Mesa-libIndirectGL1 = %version
|
||||||
|
Requires: libOSMesa8 = %version
|
||||||
|
Requires: Mesa-libglapi0 = %version
|
||||||
|
Requires: libgbm-devel
|
||||||
# bug437293
|
# bug437293
|
||||||
%ifarch ppc64
|
%ifarch ppc64
|
||||||
Obsoletes: XFree86-Mesa-devel-64bit < %{version} Mesa-devel-64bit < %{version}
|
Obsoletes: XFree86-Mesa-devel-64bit < %{version} Mesa-devel-64bit < %{version}
|
||||||
Provides: XFree86-Mesa-devel-64bit = %{version} Mesa-devel-64bit = %{version}
|
Provides: Mesa-devel-64bit = %{version}
|
||||||
|
Provides: XFree86-Mesa-devel-64bit = %{version}
|
||||||
%endif
|
%endif
|
||||||
#
|
#
|
||||||
Provides: xorg-x11-Mesa-devel = %{version} Mesa-devel-static = %{version}
|
Provides: Mesa-devel-static = %{version}
|
||||||
|
Provides: xorg-x11-Mesa-devel = %{version}
|
||||||
Obsoletes: xorg-x11-Mesa-devel < %{version} Mesa-devel-static < %{version}
|
Obsoletes: xorg-x11-Mesa-devel < %{version} Mesa-devel-static < %{version}
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
@ -129,11 +137,218 @@ just Mesa or The Mesa 3-D graphics library.
|
|||||||
|
|
||||||
* OpenGL is a trademark of Silicon Graphics Incorporated.
|
* OpenGL is a trademark of Silicon Graphics Incorporated.
|
||||||
|
|
||||||
|
%package -n Mesa-libEGL1
|
||||||
|
# Kudos to Debian for the descriptions
|
||||||
|
Summary: Free implementation of the EGL API
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n Mesa-libEGL1
|
||||||
|
This package contains the EGL native platform graphics interface
|
||||||
|
library. EGL provides a platform-agnostic mechanism for creating
|
||||||
|
rendering surfaces for use with other graphics libraries, such as
|
||||||
|
OpenGL|ES and OpenVG.
|
||||||
|
|
||||||
Authors:
|
This package contains modules to interface with the existing system
|
||||||
--------
|
GLX or DRI2 drivers to provide OpenGL via EGL. The Mesa main package
|
||||||
Brian Paul
|
provides drivers to provide hardware-accelerated OpenGL|ES and OpenVG
|
||||||
|
support.
|
||||||
|
|
||||||
|
%package -n Mesa-libEGL-devel
|
||||||
|
Summary: Development files for the EGL API
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: Mesa-libEGL1 = %version
|
||||||
|
# Other requires taken care of by pkgconfig already
|
||||||
|
|
||||||
|
%description -n Mesa-libEGL-devel
|
||||||
|
This package contains the development environment required for
|
||||||
|
compiling programs against EGL native platform graphics interface
|
||||||
|
library. EGL provides a platform-agnostic mechanism for creating
|
||||||
|
rendering surfaces for use with other graphics libraries, such as
|
||||||
|
OpenGL|ES and OpenVG.
|
||||||
|
|
||||||
|
This package provides the development environment for compiling
|
||||||
|
programs against the EGL library.
|
||||||
|
|
||||||
|
%package -n Mesa-libGL1
|
||||||
|
Summary: The GL/GLX runtime of the Mesa 3D graphics library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n Mesa-libGL1
|
||||||
|
Mesa is a software library for 3D computer graphics that provides a
|
||||||
|
generic OpenGL implementation for rendering three-dimensional
|
||||||
|
graphics.
|
||||||
|
|
||||||
|
GLX ("OpenGL Extension to the X Window System") provides the
|
||||||
|
interface connecting OpenGL and the X Window System: it enables
|
||||||
|
programs wishing to use OpenGL to do so within a window provided by
|
||||||
|
the X Window System.
|
||||||
|
|
||||||
|
%package -n Mesa-libGL-devel
|
||||||
|
Summary: GL/GLX development files of the OpenGL API
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: Mesa-libGL1 = %version
|
||||||
|
|
||||||
|
%description -n Mesa-libGL-devel
|
||||||
|
Mesa is a software library for 3D computer graphics that provides a
|
||||||
|
generic OpenGL implementation for rendering three-dimensional
|
||||||
|
graphics.
|
||||||
|
|
||||||
|
This package includes headers and static libraries for compiling
|
||||||
|
programs with Mesa.
|
||||||
|
|
||||||
|
%package -n Mesa-libGLESv1_CM1
|
||||||
|
Summary: Free implementation of the OpenGL|ES 1.x API
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n Mesa-libGLESv1_CM1
|
||||||
|
OpenGL|ES is a cross-platform API for full-function 2D and 3D
|
||||||
|
graphics on embedded systems - including consoles, phones, appliances
|
||||||
|
and vehicles. It contains a subset of OpenGL plus a number of
|
||||||
|
extensions for the special needs of embedded systems.
|
||||||
|
|
||||||
|
OpenGL|ES 1.x provides an API for fixed-function hardware.
|
||||||
|
|
||||||
|
%package -n Mesa-libGLESv1_CM-devel
|
||||||
|
Summary: Development files for the EGL API
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: Mesa-libGLESv1_CM1 = %version
|
||||||
|
Requires: pkgconfig(egl)
|
||||||
|
|
||||||
|
%description -n Mesa-libGLESv1_CM-devel
|
||||||
|
OpenGL|ES is a cross-platform API for full-function 2D and 3D
|
||||||
|
graphics on embedded systems - including consoles, phones, appliances
|
||||||
|
and vehicles. It contains a subset of OpenGL plus a number of
|
||||||
|
extensions for the special needs of embedded systems.
|
||||||
|
|
||||||
|
OpenGL|ES 1.x provides an API for fixed-function hardware.
|
||||||
|
|
||||||
|
This package provides a development environment for building programs
|
||||||
|
using the OpenGL|ES 1.x APIs.
|
||||||
|
|
||||||
|
%package -n Mesa-libGLESv2-2
|
||||||
|
Summary: Free implementation of the OpenGL|ES 2.x API
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n Mesa-libGLESv2-2
|
||||||
|
OpenGL|ES is a cross-platform API for full-function 2D and 3D
|
||||||
|
graphics on embedded systems - including consoles, phones, appliances
|
||||||
|
and vehicles. It contains a subset of OpenGL plus a number of
|
||||||
|
extensions for the special needs of embedded systems.
|
||||||
|
|
||||||
|
OpenGL|ES 2.x provides an API for programmable hardware including
|
||||||
|
vertex and fragment shaders.
|
||||||
|
|
||||||
|
%package -n Mesa-libGLESv2-devel
|
||||||
|
Summary: Development files for the EGL API
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: Mesa-libGLESv2-2 = %version
|
||||||
|
Requires: pkgconfig(egl)
|
||||||
|
|
||||||
|
%description -n Mesa-libGLESv2-devel
|
||||||
|
OpenGL|ES is a cross-platform API for full-function 2D and 3D
|
||||||
|
graphics on embedded systems - including consoles, phones, appliances
|
||||||
|
and vehicles. It contains a subset of OpenGL plus a number of
|
||||||
|
extensions for the special needs of embedded systems.
|
||||||
|
|
||||||
|
OpenGL|ES 2.x provides an API for programmable hardware including
|
||||||
|
vertex and fragment shaders.
|
||||||
|
|
||||||
|
This package provides a development environment for building
|
||||||
|
applications using the OpenGL|ES 2.x APIs.
|
||||||
|
|
||||||
|
%package -n Mesa-libGLU1
|
||||||
|
Summary: Mesa OpenGL utility library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n Mesa-libGLU1
|
||||||
|
GLU offers simple interfaces for building mipmaps; checking for the
|
||||||
|
presence of extensions in the OpenGL (or other libraries which follow
|
||||||
|
the same conventions for advertising extensions); drawing
|
||||||
|
piecewise-linear curves, NURBS, quadrics and other primitives
|
||||||
|
(including, but not limited to, teapots); tesselating surfaces;
|
||||||
|
setting up projection matrices and unprojecting screen coordinates to
|
||||||
|
world coordinates.
|
||||||
|
|
||||||
|
This package provides the SGI implementation of GLU shipped with the
|
||||||
|
Mesa package.
|
||||||
|
|
||||||
|
%package -n Mesa-libGLU-devel
|
||||||
|
Summary: Development files for the EGL API
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: Mesa-libGLU1 = %version
|
||||||
|
|
||||||
|
%description -n Mesa-libGLU-devel
|
||||||
|
GLU offers simple interfaces for building mipmaps; checking for the
|
||||||
|
presence of extensions in the OpenGL (or other libraries which follow
|
||||||
|
the same conventions for advertising extensions); drawing
|
||||||
|
piecewise-linear curves, NURBS, quadrics and other primitives
|
||||||
|
(including, but not limited to, teapots); tesselating surfaces;
|
||||||
|
setting up projection matrices and unprojecting screen coordinates to
|
||||||
|
world coordinates.
|
||||||
|
|
||||||
|
This package contains includes headers and static libraries for
|
||||||
|
compiling programs with GLU.
|
||||||
|
|
||||||
|
%package -n Mesa-libIndirectGL1
|
||||||
|
# This is the equivalent to Debian's libgl1-mesa-swx11
|
||||||
|
Summary: Free implementation of the OpenGL API
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n Mesa-libIndirectGL1
|
||||||
|
This library provides a pure software rasterizer; it does not provide
|
||||||
|
a direct rendering capable library, or one which uses GLX. For that,
|
||||||
|
please see Mesa-libGL1.
|
||||||
|
|
||||||
|
%package -n libOSMesa8
|
||||||
|
Summary: Mesa Off-screen rendering extension
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libOSMesa8
|
||||||
|
OSmesa is a Mesa extension that allows programs to render to an
|
||||||
|
off-screen buffer using the OpenGL API without having to create a
|
||||||
|
rendering context on an X Server. It uses a pure software renderer.
|
||||||
|
|
||||||
|
%package -n libgbm1
|
||||||
|
Summary: Generic buffer management API
|
||||||
|
Group: System/Libraries
|
||||||
|
# as per gbm.pc
|
||||||
|
Version: 0.0.0
|
||||||
|
Release: 0
|
||||||
|
|
||||||
|
%description -n libgbm1
|
||||||
|
This package contains the GBM buffer management library. It provides
|
||||||
|
a mechanism for allocating buffers for graphics rendering tied to
|
||||||
|
Mesa.
|
||||||
|
|
||||||
|
GBM is intended to be used as a native platform for EGL on drm or
|
||||||
|
openwfd.
|
||||||
|
|
||||||
|
%package -n libgbm-devel
|
||||||
|
Summary: Development files for the EGL API
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Version: 0.0.0
|
||||||
|
Release: 0
|
||||||
|
Requires: libgbm1 = %version
|
||||||
|
|
||||||
|
%description -n libgbm-devel
|
||||||
|
This package contains the GBM buffer management library. It provides
|
||||||
|
a mechanism for allocating buffers for graphics rendering tied to
|
||||||
|
Mesa.
|
||||||
|
|
||||||
|
GBM is intended to be used as a native platform for EGL on drm or
|
||||||
|
openwfd.
|
||||||
|
|
||||||
|
This package provides the development environment for compiling
|
||||||
|
programs against the GBM library.
|
||||||
|
|
||||||
|
%package -n Mesa-libglapi0
|
||||||
|
Summary: Free implementation of the GL API
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n Mesa-libglapi0
|
||||||
|
The Mesa GL API module is responsible for dispatching all the gl*
|
||||||
|
functions. It is intended to be mainly used by the Mesa-libGLES*
|
||||||
|
packages.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -n %{name}-%{_version} -b4 -q
|
%setup -n %{name}-%{_version} -b4 -q
|
||||||
@ -143,10 +358,7 @@ rm -rf src/glut progs/{demos,redbook,samples,xdemos,glsl}
|
|||||||
rm -f include/GL/{glut.h,uglglutshapes.h,glutf90.h}
|
rm -f include/GL/{glut.h,uglglutshapes.h,glutf90.h}
|
||||||
# remove some docs
|
# remove some docs
|
||||||
rm -rf docs/README.{VMS,WIN32,OS2}
|
rm -rf docs/README.{VMS,WIN32,OS2}
|
||||||
%patch9 -p1
|
#%patch11 -p1
|
||||||
%patch11 -p1
|
|
||||||
%patch13 -p0
|
|
||||||
%patch15 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
@ -155,16 +367,16 @@ rm -f src/mesa/depend
|
|||||||
export TALLOC_LIBS=-ltalloc
|
export TALLOC_LIBS=-ltalloc
|
||||||
export TALLOC_CFLAGS="-I/usr/include"
|
export TALLOC_CFLAGS="-I/usr/include"
|
||||||
autoreconf -fi
|
autoreconf -fi
|
||||||
### libGL (disable savage/mga, bnc #402132/#403071; reenable mga, bnc #466635)
|
|
||||||
%configure --disable-glw \
|
%configure --disable-glw \
|
||||||
--enable-gles1 \
|
--enable-gles1 \
|
||||||
--enable-gles2 \
|
--enable-gles2 \
|
||||||
--with-driver=dri \
|
--with-driver=dri \
|
||||||
--with-egl-platforms=x11,drm \
|
--with-egl-platforms=x11,drm \
|
||||||
--enable-shared-glapi \
|
--enable-shared-glapi \
|
||||||
|
--enable-shared-dricore \
|
||||||
--with-dri-searchpath=/usr/%{_lib}/dri/updates:/usr/%{_lib}/dri \
|
--with-dri-searchpath=/usr/%{_lib}/dri/updates:/usr/%{_lib}/dri \
|
||||||
%ifarch %ix86 x86_64
|
%ifarch %ix86 x86_64
|
||||||
--with-dri-drivers=i810,i915,i965,mach64,r128,r200,radeon,sis,tdfx,unichrome,swrast,mga \
|
--with-dri-drivers=i915,i965,nouveau,r200,radeon,swrast \
|
||||||
%if 0%{?suse_version} >= 1130
|
%if 0%{?suse_version} >= 1130
|
||||||
--with-gallium-drivers=r300,r600,nouveau \
|
--with-gallium-drivers=r300,r600,nouveau \
|
||||||
%else
|
%else
|
||||||
@ -172,7 +384,7 @@ autoreconf -fi
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%ifarch ppc ppc64 %sparc hppa
|
%ifarch ppc ppc64 %sparc hppa
|
||||||
--with-dri-drivers=i810,i915,i965,mach64,r128,r200,radeon,tdfx,unichrome,swrast \
|
--with-dri-drivers=i915,i965,nouveau,r200,radeon,swrast \
|
||||||
%if 0%{?suse_version} >= 1130
|
%if 0%{?suse_version} >= 1130
|
||||||
--with-gallium-drivers=r300,r600,nouveau \
|
--with-gallium-drivers=r300,r600,nouveau \
|
||||||
%else
|
%else
|
||||||
@ -219,38 +431,133 @@ install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc
|
|||||||
|
|
||||||
%postun -p /sbin/ldconfig
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n Mesa-libEGL1 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n Mesa-libEGL1 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n Mesa-libGL1 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n Mesa-libGL1 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n Mesa-libGLESv1_CM1 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n Mesa-libGLESv1_CM1 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n Mesa-libGLESv2-2 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n Mesa-libGLESv2-2 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n Mesa-libGLU1 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n Mesa-libGLU1 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n Mesa-libIndirectGL1 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n Mesa-libIndirectGL1 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n libOSMesa8 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n libOSMesa8 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n libgbm1 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n libgbm1 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n Mesa-libglapi0 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n Mesa-libglapi0 -p /sbin/ldconfig
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc docs/README* docs/COPYING
|
%doc docs/README* docs/COPYING
|
||||||
%config /etc/drirc
|
%config /etc/drirc
|
||||||
%{_libdir}/lib*.so.*
|
|
||||||
%{_libdir}/dri/
|
%{_libdir}/dri/
|
||||||
#%{_libdir}/egl/
|
#%{_libdir}/egl/
|
||||||
|
|
||||||
|
%files -n Mesa-libEGL1
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%_libdir/libEGL.so.1*
|
||||||
|
|
||||||
|
%files -n Mesa-libEGL-devel
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%_includedir/EGL
|
||||||
|
%_includedir/KHR
|
||||||
|
%_libdir/libEGL.so
|
||||||
|
%_libdir/pkgconfig/egl.pc
|
||||||
|
|
||||||
|
%files -n Mesa-libGL1
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%_libdir/libGL.so.1*
|
||||||
|
|
||||||
|
%files -n Mesa-libGL-devel
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%dir %_includedir/GL
|
||||||
|
%_includedir/GL/*.h
|
||||||
|
%exclude %_includedir/GL/glu*.h
|
||||||
|
%_libdir/libGL.so
|
||||||
|
%_libdir/pkgconfig/gl.pc
|
||||||
|
%_mandir/man3/gl[A-Z]*
|
||||||
|
|
||||||
|
%files -n Mesa-libGLESv1_CM1
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%_libdir/libGLESv1_CM.so.1*
|
||||||
|
|
||||||
|
%files -n Mesa-libGLESv1_CM-devel
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%_includedir/GLES
|
||||||
|
%_libdir/libGLESv1_CM.so
|
||||||
|
%_libdir/pkgconfig/glesv1_cm.pc
|
||||||
|
|
||||||
|
%files -n Mesa-libGLESv2-2
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%_libdir/libGLESv2.so.2*
|
||||||
|
|
||||||
|
%files -n Mesa-libGLESv2-devel
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%_includedir/GLES2
|
||||||
|
%_libdir/libGLESv2.so
|
||||||
|
%_libdir/pkgconfig/glesv2.pc
|
||||||
|
|
||||||
|
%files -n Mesa-libGLU1
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%_libdir/libGLU.so.1*
|
||||||
|
|
||||||
|
%files -n Mesa-libGLU-devel
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%dir %_includedir/GL
|
||||||
|
%_includedir/GL/glu*.h
|
||||||
|
%_libdir/libGLU.so
|
||||||
|
%_libdir/pkgconfig/glu.pc
|
||||||
|
%_mandir/man3/glu*
|
||||||
|
|
||||||
|
%files -n Mesa-libIndirectGL1
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%_libdir/libIndirectGL.so.1*
|
||||||
|
|
||||||
|
%files -n libOSMesa8
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%_libdir/libOSMesa.so.8*
|
||||||
|
|
||||||
|
%files -n libgbm1
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%_libdir/libgbm.so.1*
|
||||||
|
|
||||||
|
%files -n libgbm-devel
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%_includedir/gbm.h
|
||||||
|
%_libdir/libgbm.so
|
||||||
|
%_libdir/pkgconfig/gbm.pc
|
||||||
|
|
||||||
|
%files -n Mesa-libglapi0
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%_libdir/libglapi.so.0*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc docs/*.html docs/*.spec
|
%doc docs/*.html docs/*.spec
|
||||||
%{_includedir}/GL
|
%_includedir/GL/internal
|
||||||
%{_includedir}/GLES
|
%_libdir/libOSMesa.so
|
||||||
%{_includedir}/GLES2
|
%_libdir/libglapi.so
|
||||||
%{_includedir}/EGL
|
%_libdir/pkgconfig/dri.pc
|
||||||
%{_includedir}/KHR
|
|
||||||
%{_includedir}/gbm.h
|
|
||||||
%{_libdir}/libGL.so
|
|
||||||
%{_libdir}/libGLU.so
|
|
||||||
%{_libdir}/libOSMesa.so
|
|
||||||
%{_libdir}/libEGL.so
|
|
||||||
%{_libdir}/libGLESv1_CM.so
|
|
||||||
%{_libdir}/libGLESv2.so
|
|
||||||
%{_libdir}/libglapi.so
|
|
||||||
%{_libdir}/libgbm.so
|
|
||||||
%{_libdir}/pkgconfig/dri.pc
|
|
||||||
%{_libdir}/pkgconfig/egl.pc
|
|
||||||
%{_libdir}/pkgconfig/gl.pc
|
|
||||||
%{_libdir}/pkgconfig/glu.pc
|
|
||||||
%{_libdir}/pkgconfig/glesv1_cm.pc
|
|
||||||
%{_libdir}/pkgconfig/glesv2.pc
|
|
||||||
%{_libdir}/pkgconfig/gbm.pc
|
|
||||||
%{_mandir}/man3/*
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:0dbc1c12434caa25f52e398053a97515aa67a81b9e7fe621572835fb61b08fc4
|
|
||||||
size 6662652
|
|
3
MesaLib-8.0.1.tar.bz2
Normal file
3
MesaLib-8.0.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:593af02ea2b5b7afb057a12c550f2c03b1d1cf59a716972d601c1499545ea0a7
|
||||||
|
size 5694019
|
@ -1,218 +0,0 @@
|
|||||||
Makes Mesa work with LLVM3 (also pre-releases).
|
|
||||||
|
|
||||||
Included in Mesa in post-11.7
|
|
||||||
Index: src/gallium/auxiliary/gallivm/lp_bld_type.c
|
|
||||||
===================================================================
|
|
||||||
--- src/gallium/auxiliary/gallivm/lp_bld_type.c.orig
|
|
||||||
+++ src/gallium/auxiliary/gallivm/lp_bld_type.c
|
|
||||||
@@ -325,8 +325,10 @@ lp_typekind_name(LLVMTypeKind t)
|
|
||||||
return "LLVMArrayTypeKind";
|
|
||||||
case LLVMPointerTypeKind:
|
|
||||||
return "LLVMPointerTypeKind";
|
|
||||||
+#if HAVE_LLVM < 0x0300
|
|
||||||
case LLVMOpaqueTypeKind:
|
|
||||||
return "LLVMOpaqueTypeKind";
|
|
||||||
+#endif
|
|
||||||
case LLVMVectorTypeKind:
|
|
||||||
return "LLVMVectorTypeKind";
|
|
||||||
case LLVMMetadataTypeKind:
|
|
||||||
Index: src/gallium/auxiliary/draw/draw_llvm.c
|
|
||||||
===================================================================
|
|
||||||
--- src/gallium/auxiliary/draw/draw_llvm.c.orig
|
|
||||||
+++ src/gallium/auxiliary/draw/draw_llvm.c
|
|
||||||
@@ -96,7 +96,7 @@ draw_llvm_generate_elts(struct draw_llvm
|
|
||||||
* Create LLVM type for struct draw_jit_texture
|
|
||||||
*/
|
|
||||||
static LLVMTypeRef
|
|
||||||
-create_jit_texture_type(struct gallivm_state *gallivm)
|
|
||||||
+create_jit_texture_type(struct gallivm_state *gallivm, const char *struct_name)
|
|
||||||
{
|
|
||||||
LLVMTargetDataRef target = gallivm->target;
|
|
||||||
LLVMTypeRef texture_type;
|
|
||||||
@@ -120,13 +120,21 @@ create_jit_texture_type(struct gallivm_s
|
|
||||||
elem_types[DRAW_JIT_TEXTURE_BORDER_COLOR] =
|
|
||||||
LLVMArrayType(LLVMFloatTypeInContext(gallivm->context), 4);
|
|
||||||
|
|
||||||
+#if HAVE_LLVM >= 0x0300
|
|
||||||
+ texture_type = LLVMStructCreateNamed(gallivm->context, struct_name);
|
|
||||||
+ LLVMStructSetBody(texture_type, elem_types,
|
|
||||||
+ Elements(elem_types), 0);
|
|
||||||
+#else
|
|
||||||
texture_type = LLVMStructTypeInContext(gallivm->context, elem_types,
|
|
||||||
Elements(elem_types), 0);
|
|
||||||
|
|
||||||
+ LLVMAddTypeName(gallivm->module, struct_name, texture_type);
|
|
||||||
+
|
|
||||||
/* Make sure the target's struct layout cache doesn't return
|
|
||||||
* stale/invalid data.
|
|
||||||
*/
|
|
||||||
LLVMInvalidateStructLayout(gallivm->target, texture_type);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
LP_CHECK_MEMBER_OFFSET(struct draw_jit_texture, width,
|
|
||||||
target, texture_type,
|
|
||||||
@@ -176,7 +184,7 @@ create_jit_texture_type(struct gallivm_s
|
|
||||||
*/
|
|
||||||
static LLVMTypeRef
|
|
||||||
create_jit_context_type(struct gallivm_state *gallivm,
|
|
||||||
- LLVMTypeRef texture_type)
|
|
||||||
+ LLVMTypeRef texture_type, const char *struct_name)
|
|
||||||
{
|
|
||||||
LLVMTargetDataRef target = gallivm->target;
|
|
||||||
LLVMTypeRef float_type = LLVMFloatTypeInContext(gallivm->context);
|
|
||||||
@@ -189,11 +197,17 @@ create_jit_context_type(struct gallivm_s
|
|
||||||
elem_types[3] = LLVMPointerType(float_type, 0); /* viewport */
|
|
||||||
elem_types[4] = LLVMArrayType(texture_type,
|
|
||||||
PIPE_MAX_VERTEX_SAMPLERS); /* textures */
|
|
||||||
-
|
|
||||||
+#if HAVE_LLVM >= 0x0300
|
|
||||||
+ context_type = LLVMStructCreateNamed(gallivm->context, struct_name);
|
|
||||||
+ LLVMStructSetBody(context_type, elem_types,
|
|
||||||
+ Elements(elem_types), 0);
|
|
||||||
+#else
|
|
||||||
context_type = LLVMStructTypeInContext(gallivm->context, elem_types,
|
|
||||||
Elements(elem_types), 0);
|
|
||||||
+ LLVMAddTypeName(gallivm->module, struct_name, context_type);
|
|
||||||
|
|
||||||
LLVMInvalidateStructLayout(gallivm->target, context_type);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
LP_CHECK_MEMBER_OFFSET(struct draw_jit_context, vs_constants,
|
|
||||||
target, context_type, 0);
|
|
||||||
@@ -215,7 +229,7 @@ create_jit_context_type(struct gallivm_s
|
|
||||||
* Create LLVM type for struct pipe_vertex_buffer
|
|
||||||
*/
|
|
||||||
static LLVMTypeRef
|
|
||||||
-create_jit_vertex_buffer_type(struct gallivm_state *gallivm)
|
|
||||||
+create_jit_vertex_buffer_type(struct gallivm_state *gallivm, const char *struct_name)
|
|
||||||
{
|
|
||||||
LLVMTargetDataRef target = gallivm->target;
|
|
||||||
LLVMTypeRef elem_types[3];
|
|
||||||
@@ -225,10 +239,17 @@ create_jit_vertex_buffer_type(struct gal
|
|
||||||
elem_types[1] = LLVMInt32TypeInContext(gallivm->context);
|
|
||||||
elem_types[2] = LLVMPointerType(LLVMInt8TypeInContext(gallivm->context), 0); /* vs_constants */
|
|
||||||
|
|
||||||
+#if HAVE_LLVM >= 0x0300
|
|
||||||
+ vb_type = LLVMStructCreateNamed(gallivm->context, struct_name);
|
|
||||||
+ LLVMStructSetBody(vb_type, elem_types,
|
|
||||||
+ Elements(elem_types), 0);
|
|
||||||
+#else
|
|
||||||
vb_type = LLVMStructTypeInContext(gallivm->context, elem_types,
|
|
||||||
Elements(elem_types), 0);
|
|
||||||
+ LLVMAddTypeName(gallivm->module, struct_name, vb_type);
|
|
||||||
|
|
||||||
LLVMInvalidateStructLayout(gallivm->target, vb_type);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
LP_CHECK_MEMBER_OFFSET(struct pipe_vertex_buffer, stride,
|
|
||||||
target, vb_type, 0);
|
|
||||||
@@ -258,10 +279,17 @@ create_jit_vertex_header(struct gallivm_
|
|
||||||
elem_types[1] = LLVMArrayType(LLVMFloatTypeInContext(gallivm->context), 4);
|
|
||||||
elem_types[2] = LLVMArrayType(elem_types[1], data_elems);
|
|
||||||
|
|
||||||
+#if HAVE_LLVM >= 0x0300
|
|
||||||
+ vertex_header = LLVMStructCreateNamed(gallivm->context, struct_name);
|
|
||||||
+ LLVMStructSetBody(vertex_header, elem_types,
|
|
||||||
+ Elements(elem_types), 0);
|
|
||||||
+#else
|
|
||||||
vertex_header = LLVMStructTypeInContext(gallivm->context, elem_types,
|
|
||||||
Elements(elem_types), 0);
|
|
||||||
+ LLVMAddTypeName(gallivm->module, struct_name, vertex_header);
|
|
||||||
|
|
||||||
LLVMInvalidateStructLayout(gallivm->target, vertex_header);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/* these are bit-fields and we can't take address of them
|
|
||||||
LP_CHECK_MEMBER_OFFSET(struct vertex_header, clipmask,
|
|
||||||
@@ -284,8 +312,6 @@ create_jit_vertex_header(struct gallivm_
|
|
||||||
target, vertex_header,
|
|
||||||
DRAW_JIT_VERTEX_DATA);
|
|
||||||
|
|
||||||
- LLVMAddTypeName(gallivm->module, struct_name, vertex_header);
|
|
||||||
-
|
|
||||||
return vertex_header;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -299,19 +325,15 @@ create_jit_types(struct draw_llvm *llvm)
|
|
||||||
struct gallivm_state *gallivm = llvm->gallivm;
|
|
||||||
LLVMTypeRef texture_type, context_type, buffer_type, vb_type;
|
|
||||||
|
|
||||||
- texture_type = create_jit_texture_type(gallivm);
|
|
||||||
- LLVMAddTypeName(gallivm->module, "texture", texture_type);
|
|
||||||
+ texture_type = create_jit_texture_type(gallivm, "texture");
|
|
||||||
|
|
||||||
- context_type = create_jit_context_type(gallivm, texture_type);
|
|
||||||
- LLVMAddTypeName(gallivm->module, "draw_jit_context", context_type);
|
|
||||||
+ context_type = create_jit_context_type(gallivm, texture_type, "draw_jit_context");
|
|
||||||
llvm->context_ptr_type = LLVMPointerType(context_type, 0);
|
|
||||||
|
|
||||||
buffer_type = LLVMPointerType(LLVMIntTypeInContext(gallivm->context, 8), 0);
|
|
||||||
- LLVMAddTypeName(gallivm->module, "buffer", buffer_type);
|
|
||||||
llvm->buffer_ptr_type = LLVMPointerType(buffer_type, 0);
|
|
||||||
|
|
||||||
- vb_type = create_jit_vertex_buffer_type(gallivm);
|
|
||||||
- LLVMAddTypeName(gallivm->module, "pipe_vertex_buffer", vb_type);
|
|
||||||
+ vb_type = create_jit_vertex_buffer_type(gallivm, "pipe_vertex_buffer");
|
|
||||||
llvm->vb_ptr_type = LLVMPointerType(vb_type, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
Index: src/gallium/drivers/llvmpipe/lp_jit.c
|
|
||||||
===================================================================
|
|
||||||
--- src/gallium/drivers/llvmpipe/lp_jit.c.orig
|
|
||||||
+++ src/gallium/drivers/llvmpipe/lp_jit.c
|
|
||||||
@@ -68,10 +68,17 @@ lp_jit_create_types(struct llvmpipe_cont
|
|
||||||
elem_types[LP_JIT_TEXTURE_BORDER_COLOR] =
|
|
||||||
LLVMArrayType(LLVMFloatTypeInContext(lc), 4);
|
|
||||||
|
|
||||||
+#if HAVE_LLVM >= 0x0300
|
|
||||||
+ texture_type = LLVMStructCreateNamed(gallivm->context, "texture");
|
|
||||||
+ LLVMStructSetBody(texture_type, elem_types,
|
|
||||||
+ Elements(elem_types), 0);
|
|
||||||
+#else
|
|
||||||
texture_type = LLVMStructTypeInContext(lc, elem_types,
|
|
||||||
Elements(elem_types), 0);
|
|
||||||
+ LLVMAddTypeName(gallivm->module, "texture", texture_type);
|
|
||||||
|
|
||||||
LLVMInvalidateStructLayout(gallivm->target, texture_type);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
LP_CHECK_MEMBER_OFFSET(struct lp_jit_texture, width,
|
|
||||||
gallivm->target, texture_type,
|
|
||||||
@@ -112,8 +119,6 @@ lp_jit_create_types(struct llvmpipe_cont
|
|
||||||
|
|
||||||
LP_CHECK_STRUCT_SIZE(struct lp_jit_texture,
|
|
||||||
gallivm->target, texture_type);
|
|
||||||
-
|
|
||||||
- LLVMAddTypeName(gallivm->module, "texture", texture_type);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* struct lp_jit_context */
|
|
||||||
@@ -129,11 +134,19 @@ lp_jit_create_types(struct llvmpipe_cont
|
|
||||||
elem_types[LP_JIT_CTX_TEXTURES] = LLVMArrayType(texture_type,
|
|
||||||
PIPE_MAX_SAMPLERS);
|
|
||||||
|
|
||||||
+#if HAVE_LLVM >= 0x0300
|
|
||||||
+ context_type = LLVMStructCreateNamed(gallivm->context, "context");
|
|
||||||
+ LLVMStructSetBody(context_type, elem_types,
|
|
||||||
+ Elements(elem_types), 0);
|
|
||||||
+#else
|
|
||||||
context_type = LLVMStructTypeInContext(lc, elem_types,
|
|
||||||
Elements(elem_types), 0);
|
|
||||||
|
|
||||||
LLVMInvalidateStructLayout(gallivm->target, context_type);
|
|
||||||
|
|
||||||
+ LLVMAddTypeName(gallivm->module, "context", context_type);
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
LP_CHECK_MEMBER_OFFSET(struct lp_jit_context, constants,
|
|
||||||
gallivm->target, context_type,
|
|
||||||
LP_JIT_CTX_CONSTANTS);
|
|
||||||
@@ -155,8 +168,6 @@ lp_jit_create_types(struct llvmpipe_cont
|
|
||||||
LP_CHECK_STRUCT_SIZE(struct lp_jit_context,
|
|
||||||
gallivm->target, context_type);
|
|
||||||
|
|
||||||
- LLVMAddTypeName(gallivm->module, "context", context_type);
|
|
||||||
-
|
|
||||||
lp->jit_context_ptr_type = LLVMPointerType(context_type, 0);
|
|
||||||
}
|
|
||||||
|
|
@ -3,5 +3,42 @@ Mesa
|
|||||||
obsoletes "XFree86-Mesa-<targettype> xorg-x11-Mesa-<targettype>"
|
obsoletes "XFree86-Mesa-<targettype> xorg-x11-Mesa-<targettype>"
|
||||||
provides "XFree86-Mesa-<targettype> xorg-x11-Mesa-<targettype>"
|
provides "XFree86-Mesa-<targettype> xorg-x11-Mesa-<targettype>"
|
||||||
Mesa-devel
|
Mesa-devel
|
||||||
|
#We need Mesa-<targettype>!, do not put requires -Mesa-<targettype>.
|
||||||
|
requires "Mesa-libEGL-devel-<targettype> = <version>"
|
||||||
|
requires "Mesa-libGL-devel-<targettype> = <version>"
|
||||||
|
requires "Mesa-libGLESv1_CM-devel-<targettype> = <version>"
|
||||||
|
requires "Mesa-libGLESv2-devel-<targettype> = <version>"
|
||||||
|
requires "Mesa-libGLU-devel-<targettype> = <version>"
|
||||||
|
requires "Mesa-libIndirectGL1-<targettype> = <version>"
|
||||||
|
requires "libOSMesa7-<targettype> = <version>"
|
||||||
|
requires "libgbm-devel-<targettype>"
|
||||||
|
requires "Mesa-libglapi0-<targettype> = <version>"
|
||||||
obsoletes "XFree86-Mesa-devel-<targettype> xorg-x11-Mesa-devel-<targettype>"
|
obsoletes "XFree86-Mesa-devel-<targettype> xorg-x11-Mesa-devel-<targettype>"
|
||||||
provides "XFree86-Mesa-devel-<targettype> xorg-x11-Mesa-devel-<targettype>"
|
provides "XFree86-Mesa-devel-<targettype> xorg-x11-Mesa-devel-<targettype>"
|
||||||
|
Mesa-libEGL1
|
||||||
|
Mesa-libEGL-devel
|
||||||
|
requires -Mesa-libEGL-<targettype>
|
||||||
|
requires "Mesa-libEGL1-<targettype> = <version>"
|
||||||
|
Mesa-libGL1
|
||||||
|
Mesa-libGL-devel
|
||||||
|
requires -Mesa-libGL-<targettype>
|
||||||
|
requires "Mesa-libGL1-<targettype> = <version>"
|
||||||
|
Mesa-libGLESv1_CM1
|
||||||
|
Mesa-libGLESv1_CM-devel
|
||||||
|
requires -Mesa-libGLESv1_CM-<targettype>
|
||||||
|
requires "Mesa-libGLESv1_CM1-<targettype> = <version>"
|
||||||
|
Mesa-libGLESv2-2
|
||||||
|
Mesa-libGLESv2-devel
|
||||||
|
requires -Mesa-libGLESv2-<targettype>
|
||||||
|
requires "Mesa-libGLESv2-2-<targettype> = <version>"
|
||||||
|
Mesa-libGLU1
|
||||||
|
Mesa-libGLU-devel
|
||||||
|
requires -Mesa-libGLU-<targettype>
|
||||||
|
requires "Mesa-libGLU1-<targettype> = <version>"
|
||||||
|
Mesa-libIndirectGL1
|
||||||
|
libOSMesa7
|
||||||
|
libgbm1
|
||||||
|
libgbm-devel
|
||||||
|
requires -libgbm-<targettype>
|
||||||
|
requires "libgbm1-<targettype> = <version>"
|
||||||
|
Mesa-libglapi0
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
From bb5ac44693cc6a50de068c729a089b7bdd6db4cd Mon Sep 17 00:00:00 2001
|
|
||||||
From: Egbert Eich <eich@freedesktop.org>
|
|
||||||
Date: Thu, 9 Jun 2011 12:42:59 +0200
|
|
||||||
Subject: [PATCH] [GLX/SWrast] Make GLX with SWrast enabled work on older Xservers.
|
|
||||||
Patch-mainline: To be upstreamed
|
|
||||||
|
|
||||||
Older Xservers don't offer a set of configs/visuals that is compatible
|
|
||||||
with DRI. If no visuals or configs are found let driswCreateScreen()
|
|
||||||
fail so that the next fallback path is take.
|
|
||||||
|
|
||||||
Signed-off-by: Egbert Eich <eich@freedesktop.org>
|
|
||||||
---
|
|
||||||
src/glx/drisw_glx.c | 3 +++
|
|
||||||
1 files changed, 3 insertions(+), 0 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
|
|
||||||
index 2eaa3c5..7bf29af 100644
|
|
||||||
--- a/src/glx/drisw_glx.c
|
|
||||||
+++ b/src/glx/drisw_glx.c
|
|
||||||
@@ -490,6 +490,9 @@ driswCreateScreen(int screen, struct glx_display *priv)
|
|
||||||
psc->base.visuals =
|
|
||||||
driConvertConfigs(psc->core, psc->base.visuals, driver_configs);
|
|
||||||
|
|
||||||
+ if (psc->base.configs == NULL || psc->base.visuals == NULL)
|
|
||||||
+ goto handle_error;
|
|
||||||
+
|
|
||||||
psc->driver_configs = driver_configs;
|
|
||||||
|
|
||||||
psc->base.vtable = &drisw_screen_vtable;
|
|
||||||
--
|
|
||||||
1.7.3.4
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user