diff --git a/.abf.yml b/.abf.yml index 0823d45..edfab17 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,3 +1,2 @@ sources: - "MesaGLUT-7.11.2.tar.bz2": 2e6e730204800a0748b301a5f58b86332699788b - "MesaLib-7.11.2.tar.bz2": 5981ac2de8438e5f4a1f3561f2044d700c5f0de9 + MesaLib-10.3.3.tar.bz2: 82048401ab72f6ca38780ada6c8998b020cef0f5 diff --git a/0002-mesa-10.0-nv50-fix-build.patch b/0002-mesa-10.0-nv50-fix-build.patch new file mode 100644 index 0000000..51d3160 --- /dev/null +++ b/0002-mesa-10.0-nv50-fix-build.patch @@ -0,0 +1,12 @@ +diff -uNr mesa-20131201.orig/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp mesa-20131201/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp +--- mesa-20131201.orig/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp 2013-12-01 11:29:21.000000000 +0400 ++++ mesa-20131201/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp 2013-12-01 16:05:06.488417551 +0400 +@@ -739,7 +739,7 @@ + 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(this, i); diff --git a/0900-Mips-support.patch b/0900-Mips-support.patch deleted file mode 100644 index e21fad4..0000000 --- a/0900-Mips-support.patch +++ /dev/null @@ -1,25 +0,0 @@ -From b4ed9bb79c7911047294ba8ae081039927283dae Mon Sep 17 00:00:00 2001 -From: Paulo Zanoni -Date: Thu, 6 Jan 2011 16:31:54 -0200 -Subject: [PATCH] Mips support - ---- - include/GL/internal/sarea.h | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/include/GL/internal/sarea.h b/include/GL/internal/sarea.h -index a0d6084..369f589 100644 ---- a/include/GL/internal/sarea.h -+++ b/include/GL/internal/sarea.h -@@ -44,6 +44,8 @@ - #define SAREA_MAX 0x2000 - #elif defined(__ia64__) - #define SAREA_MAX 0x10000 /* 64kB */ -+#elif defined(__mips__) -+#define SAREA_MAX getpagesize() - #else - /* Intel 830M driver needs at least 8k SAREA */ - #define SAREA_MAX 0x2000 --- -1.7.1 - diff --git a/0903-Fix-NULL-pointer-dereference-in-viaXMesaWindowMoved.patch b/0903-Fix-NULL-pointer-dereference-in-viaXMesaWindowMoved.patch deleted file mode 100644 index 5156722..0000000 --- a/0903-Fix-NULL-pointer-dereference-in-viaXMesaWindowMoved.patch +++ /dev/null @@ -1,25 +0,0 @@ -From eafaed0287424361736ae21f67c798a0be1c2cb7 Mon Sep 17 00:00:00 2001 -From: Colin Guthrie -Date: Tue, 23 Dec 2008 21:01:46 +0000 -Subject: [PATCH 903/903] Fix NULL pointer dereference in viaXMesaWindowMoved (fdo#12097) - ---- - src/mesa/drivers/dri/unichrome/via_context.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/mesa/drivers/dri/unichrome/via_context.c b/src/mesa/drivers/dri/unichrome/via_context.c -index 6eb19ac..efe2217 100644 ---- a/src/mesa/drivers/dri/unichrome/via_context.c -+++ b/src/mesa/drivers/dri/unichrome/via_context.c -@@ -730,7 +730,7 @@ void viaXMesaWindowMoved(struct via_context *vmesa) - struct via_renderbuffer * read_buffer; - GLuint bytePerPixel = vmesa->viaScreen->bitsPerPixel >> 3; - -- if (!drawable) -+ if (!drawable || !vmesa->glCtx->DrawBuffer) - return; - - draw_buffer = (struct via_renderbuffer *) drawable->driverPrivate; --- -1.6.2.4 - diff --git a/Mesa-dev-gallivm-force-sse-instructions-for-llvm-3.5.patch b/Mesa-dev-gallivm-force-sse-instructions-for-llvm-3.5.patch new file mode 100644 index 0000000..028396b --- /dev/null +++ b/Mesa-dev-gallivm-force-sse-instructions-for-llvm-3.5.patch @@ -0,0 +1,52 @@ +diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +index 55aa8b9..f2f8906 100644 +--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp ++++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +@@ -479,10 +479,38 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT, + if (util_cpu_caps.has_f16c) { + MAttrs.push_back("+f16c"); + } +- builder.setMAttrs(MAttrs); + } + + #if HAVE_LLVM >= 0x0305 ++ /* ++ * llvm 3.5 no longer supports cpuid based autodetect. ++ * This breaks on "qemu -cpu qemu32" which is detected as pentium2 by llvm's ++ * sys::getHostCPUName(), but does support sse2. ++ * ++ * For this reason force the use of sse extensions when available, so our ++ * understanding of the cpu is in sync with llvm's. ++ */ ++ ++ else if (util_cpu_caps.has_sse4_2) ++ MAttrs.push_back("+sse42"); ++ else if (util_cpu_caps.has_sse4_1) ++ MAttrs.push_back("+sse41"); ++ else if (util_cpu_caps.has_ssse3) ++ MAttrs.push_back("+ssse3"); ++ else if (util_cpu_caps.has_sse3) ++ MAttrs.push_back("+sse3"); ++ else if (util_cpu_caps.has_sse2) ++ MAttrs.push_back("+sse2"); ++ else if (util_cpu_caps.has_sse) ++ MAttrs.push_back("+sse"); ++ else if (util_cpu_caps.has_mmx) ++ MAttrs.push_back("+sse"); ++ ++ if (util_cpu_caps.has_3dnow_ext) ++ MAttrs.push_back("+3dnowa"); ++ else if (util_cpu_caps.has_3dnow) ++ MAttrs.push_back("+3dnow"); ++ + StringRef MCPU = llvm::sys::getHostCPUName(); + /* + * The cpu bits are no longer set automatically, so need to set mcpu manually. +@@ -498,6 +526,7 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT, + */ + builder.setMCPU(MCPU); + #endif ++ builder.setMAttrs(MAttrs); + + ShaderMemoryManager *MM = new ShaderMemoryManager(); + *OutCode = MM->getGeneratedCode(); diff --git a/MesaLib-7.11.2-llvm3.0.patch b/MesaLib-7.11.2-llvm3.0.patch deleted file mode 100644 index ff3e7d5..0000000 --- a/MesaLib-7.11.2-llvm3.0.patch +++ /dev/null @@ -1,328 +0,0 @@ ---- a/src/gallium/auxiliary/gallivm/lp_bld_type.c -+++ b/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: ---- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp 2011-10-15 08:43:58.000000000 +0800 -+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp 2011-12-05 17:19:25.000000000 +0800 -@@ -25,19 +25,27 @@ - * - **************************************************************************/ - -+#include -+ - #include - #include --#include --#include - #include - #include - #include - -+#if HAVE_LLVM >= 0x0300 -+#include -+#include -+#else /* HAVE_LLVM < 0x0300 */ -+#include -+#include -+#endif /* HAVE_LLVM < 0x0300 */ -+ - #if HAVE_LLVM >= 0x0209 - #include --#else -+#else /* HAVE_LLVM < 0x0209 */ - #include --#endif -+#endif /* HAVE_LLVM < 0x0209 */ - - #if HAVE_LLVM >= 0x0207 - #include -@@ -180,7 +188,11 @@ - * Initialize all used objects. - */ - -+#if HAVE_LLVM >= 0x0301 -+ std::string Triple = sys::getDefaultTargetTriple(); -+#else - std::string Triple = sys::getHostTriple(); -+#endif - - std::string Error; - const Target *T = TargetRegistry::lookupTarget(Triple, Error); -@@ -193,14 +205,23 @@ - - InitializeAllDisassemblers(); - -+#if HAVE_LLVM >= 0x0300 -+ OwningPtr AsmInfo(T->createMCAsmInfo(Triple)); -+#else - OwningPtr 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 DisAsm(T->createMCDisassembler(*STI)); -+#else - OwningPtr DisAsm(T->createMCDisassembler()); -+#endif - if (!DisAsm) { - debug_printf("error: no disassembler for target %s\n", Triple.c_str()); - return; -@@ -213,7 +234,11 @@ - #else - int AsmPrinterVariant = AsmInfo->getAssemblerDialect(); - #endif --#if HAVE_LLVM >= 0x0208 -+ -+#if HAVE_LLVM >= 0x0300 -+ OwningPtr Printer( -+ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI)); -+#elif HAVE_LLVM >= 0x0208 - OwningPtr Printer( - T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo)); - #else -@@ -253,7 +278,11 @@ - - 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 +305,9 @@ - * 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 +320,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. ---- a/src/gallium/auxiliary/draw/draw_llvm.c -+++ b/src/gallium/auxiliary/draw/draw_llvm.c -@@ -96,7 +96,7 @@ draw_llvm_generate_elts(struct draw_llvm *llvm, struct draw_llvm_variant *var); - * 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_state *gallivm) - 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_state *gallivm) - */ - 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_state *gallivm, - 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_state *gallivm, - * 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 gallivm_state *gallivm) - 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_state *gallivm, int data_elems) - 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_state *gallivm, int data_elems) - 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); - } - ---- a/src/gallium/drivers/llvmpipe/lp_jit.c -+++ b/src/gallium/drivers/llvmpipe/lp_jit.c -@@ -68,10 +68,17 @@ lp_jit_create_types(struct llvmpipe_context *lp) - 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_context *lp) - - 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_context *lp) - 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_context *lp) - 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); - } - diff --git a/README.xvmc.urpmi b/README.xvmc.urpmi new file mode 100644 index 0000000..1c54fcd --- /dev/null +++ b/README.xvmc.urpmi @@ -0,0 +1,24 @@ +Note that XvMC-related components are provided as is, without any warranty. +We do not offer official support for that yet. + +The backends supporting XvMC for some Gallium drivers (r600 and nouveau) are +installed by default. + +To actually enable that support, however, you may need to create XvMCConfig +file in /etc/X11/ directory. + +You can use the following as a template of XvMCConfig file. Uncomment the +appropriate line below, according to the driver you are actually using and +the bitness of your setup. + +-------------------------------- cut here --------------------------------- +# Driver for AMD Radeon r600+ video cards - 64 bit +# /usr/lib64/libXvMCr600.so.1 +# Driver for AMD Radeon r600+ video cards - 32 bit +# /usr/lib/libXvMCr600.so.1 + +# Driver for NVidia (nouveau) - 64 bit +# /usr/lib64/libXvMCnouveau.so.1 +# Driver for NVidia (nouveau) - 32 bit +# /usr/lib/libXvMCnouveau.so.1 +-------------------------------- cut here --------------------------------- diff --git a/libGLX-9.1.1-CVE-2013-1993.p1of2.patch b/libGLX-9.1.1-CVE-2013-1993.p1of2.patch deleted file mode 100644 index 4293166..0000000 --- a/libGLX-9.1.1-CVE-2013-1993.p1of2.patch +++ /dev/null @@ -1,38 +0,0 @@ -busIdStringLength is a CARD32 and needs to be bounds checked before adding -one to it to come up with the total size to allocate, to avoid integer -overflow leading to underallocation and writing data from the network past -the end of the allocated buffer. - -Reported-by: Ilja Van Sprundel -Signed-off-by: Alan Coopersmith ---- - src/glx/XF86dri.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/src/glx/XF86dri.c b/src/glx/XF86dri.c -index b1cdc9b..8f53bd7 100644 ---- a/src/glx/XF86dri.c -+++ b/src/glx/XF86dri.c -@@ -43,6 +43,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - #include - #include - #include "xf86dristr.h" -+#include - - static XExtensionInfo _xf86dri_info_data; - static XExtensionInfo *xf86dri_info = &_xf86dri_info_data; -@@ -202,7 +202,11 @@ XF86DRIOpenConnection(Display * dpy, int screen, drm_handle_t * hSAREA, - } - - if (rep.length) { -- if (!(*busIdString = (char *) Xcalloc(rep.busIdStringLength + 1, 1))) { -+ if (rep.busIdStringLength < INT_MAX) -+ *busIdString = (char *) Xcalloc(rep.busIdStringLength + 1, 1); -+ else -+ *busIdString = NULL; -+ if (*busIdString == NULL) { - _XEatData(dpy, ((rep.busIdStringLength + 3) & ~3)); - UnlockDisplay(dpy); - SyncHandle(); --- -1.7.9.2 diff --git a/libGLX-9.1.1-CVE-2013-1993.p2of2.patch b/libGLX-9.1.1-CVE-2013-1993.p2of2.patch deleted file mode 100644 index f18d911..0000000 --- a/libGLX-9.1.1-CVE-2013-1993.p2of2.patch +++ /dev/null @@ -1,32 +0,0 @@ -clientDriverNameLength is a CARD32 and needs to be bounds checked before -adding one to it to come up with the total size to allocate, to avoid -integer overflow leading to underallocation and writing data from the -network past the end of the allocated buffer. - -Reported-by: Ilja Van Sprundel -Signed-off-by: Alan Coopersmith ---- - src/glx/XF86dri.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/src/glx/XF86dri.c b/src/glx/XF86dri.c -index 8f53bd7..56e3557 100644 ---- a/src/glx/XF86dri.c -+++ b/src/glx/XF86dri.c -@@ -305,9 +305,11 @@ XF86DRIGetClientDriverName(Display * dpy - *ddxDriverPatchVersion = rep.ddxDriverPatchVersion; - - if (rep.length) { -- if (! -- (*clientDriverName = -- (char *) Xcalloc(rep.clientDriverNameLength + 1, 1))) { -+ if (rep.clientDriverNameLength < INT_MAX) -+ *clientDriverName = (char *) Xcalloc(rep.clientDriverNameLength + 1, 1); -+ else -+ *clientDriverName = NULL; -+ if (*clientDriverName == NULL) { - _XEatData(dpy, ((rep.clientDriverNameLength + 3) & ~3)); - UnlockDisplay(dpy); - SyncHandle(); --- -1.7.9.2 diff --git a/make-git-snapshot.sh b/make-git-snapshot.sh old mode 100755 new mode 100644 diff --git a/mesa-10.2-evergreen-big-endian.patch b/mesa-10.2-evergreen-big-endian.patch new file mode 100644 index 0000000..4973a40 --- /dev/null +++ b/mesa-10.2-evergreen-big-endian.patch @@ -0,0 +1,13 @@ +diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c +index fabc52c..c276016 100644 +--- a/src/gallium/drivers/r600/r600_state_common.c ++++ b/src/gallium/drivers/r600/r600_state_common.c +@@ -2258,7 +2258,7 @@ uint32_t r600_translate_colorformat(enum chip_class chip, enum pipe_format forma + + uint32_t r600_colorformat_endian_swap(uint32_t colorformat) + { +- if (R600_BIG_ENDIAN) { ++ if (0 && R600_BIG_ENDIAN) { + switch(colorformat) { + /* 8-bit buffers. */ + case V_0280A0_COLOR_4_4: diff --git a/mesa-10.3-do-install-libxvmcgallium.patch b/mesa-10.3-do-install-libxvmcgallium.patch new file mode 100644 index 0000000..5707d58 --- /dev/null +++ b/mesa-10.3-do-install-libxvmcgallium.patch @@ -0,0 +1,23 @@ +diff -Naur Mesa-10.3.3.orig/src/gallium/targets/xvmc/Makefile.am Mesa-10.3.3/src/gallium/targets/xvmc/Makefile.am +--- Mesa-10.3.3.orig/src/gallium/targets/xvmc/Makefile.am 2014-11-08 19:03:25.000000000 +0300 ++++ Mesa-10.3.3/src/gallium/targets/xvmc/Makefile.am 2014-11-12 15:49:46.546681639 +0300 +@@ -97,5 +97,4 @@ + $${dest_dir}/$${k}.$(XVMC_MAJOR); \ + ln -sf $${l} \ + $${dest_dir}/$${k}; \ +- done; \ +- $(RM) -f $${dest_dir}/libXvMCgallium.* ++ done; +diff -Naur Mesa-10.3.3.orig/src/gallium/targets/xvmc/Makefile.in Mesa-10.3.3/src/gallium/targets/xvmc/Makefile.in +--- Mesa-10.3.3.orig/src/gallium/targets/xvmc/Makefile.in 2014-11-08 19:43:53.000000000 +0300 ++++ Mesa-10.3.3/src/gallium/targets/xvmc/Makefile.in 2014-11-12 15:50:00.260160271 +0300 +@@ -1018,8 +1018,7 @@ + $${dest_dir}/$${k}.$(XVMC_MAJOR); \ + ln -sf $${l} \ + $${dest_dir}/$${k}; \ +- done; \ +- $(RM) -f $${dest_dir}/libXvMCgallium.* ++ done; + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/mesa-9.2-hardware-float.patch b/mesa-9.2-hardware-float.patch new file mode 100644 index 0000000..f279d9d --- /dev/null +++ b/mesa-9.2-hardware-float.patch @@ -0,0 +1,36 @@ +diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c +index 5ec1df6..a0406fc 100644 +--- a/src/gallium/drivers/llvmpipe/lp_screen.c ++++ b/src/gallium/drivers/llvmpipe/lp_screen.c +@@ -306,6 +306,13 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen, + if (!format_desc) + return FALSE; + ++ if ((bind & PIPE_BIND_RENDER_TARGET) && ++ format != PIPE_FORMAT_R9G9B9E5_FLOAT && ++ format != PIPE_FORMAT_R11G11B10_FLOAT && ++ util_format_is_float(format)) { ++ return FALSE; ++ } ++ + assert(target == PIPE_BUFFER || + target == PIPE_TEXTURE_1D || + target == PIPE_TEXTURE_1D_ARRAY || +diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c +index 937035e..2f5e571 100644 +--- a/src/gallium/drivers/softpipe/sp_screen.c ++++ b/src/gallium/drivers/softpipe/sp_screen.c +@@ -291,6 +291,13 @@ softpipe_is_format_supported( struct pipe_screen *screen, + if (!format_desc) + return FALSE; + ++ if ((bind & PIPE_BIND_RENDER_TARGET) && ++ format != PIPE_FORMAT_R9G9B9E5_FLOAT && ++ format != PIPE_FORMAT_R11G11B10_FLOAT && ++ util_format_is_float(format)) { ++ return FALSE; ++ } ++ + if (sample_count > 1) + return FALSE; + diff --git a/mesa-driver-install b/mesa-driver-install deleted file mode 100755 index f52c699..0000000 --- a/mesa-driver-install +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/bash -# -# Copyright 2005 by Red Hat, Inc. -# Author: Mike A. Harris -# -# License: MIT/X11 -# - -# redhat-mesa-driver-install: -# -# The purpose of this script is to address some inadequacies of the current -# Mesa 6.3.2 upstream install script. We ship DRI on some OS/arch -# combinations, and disable it on other combinations, so we need a simple -# way to control wether or not DRI modules will get installed, and an easy -# way of specifying which drivers we'll ship on a particular OS/arch -# combination. - -#--------------------------------------------------------------------- -# NOTE: FC5's current kernel has the following DRM modules. Some of them -# shouldn't be there at all (ppc64), some don't make much sense (via on -# ppc). We'll have to talk to kernel folk to get the ones disabled that -# don't make sense, or which we don't want to ship for some reason or -# another. -# -# for a in i586 i686 ia64 ppc ppc64 s390x x86_64 ; do (echo -n "${a}:" \ -# rpm -qlp ' first" - echo " Be sure to set 'DRIMODULE_DESTDIR=' first" - echo " Be sure to set 'DRI_DRIVERS=' first" - exit 1 -fi - -if [ -z $DRIMODULE_SRCDIR ] ; then - echo "Error: DRIMODULE_SRCDIR not set in environment" - exit -fi -if [ -z $DRIMODULE_DESTDIR ] ; then - echo "Error: DRIMODULE_DESTDIR not set in environment" - exit -else - [ ! -d $DRIMODULE_DESTDIR ] && mkdir -p $DRIMODULE_DESTDIR -fi - -#DRIMODULE_DESTDIR=${1##DRIMODULE_DESTDIR=} -ARCH=$1 - -if [ -z "$DRI_DRIVERS" ]; then - DRI_DRIVERS="$DRI_DRIVERS_ALL" -fi - -# Install DRI drivers -for driver in $DRI_DRIVERS ; do - set -vx - install -m 0755 $DRIMODULE_SRCDIR/${driver}_dri.so $DRIMODULE_DESTDIR/ - set - -done diff --git a/mesa.rpmlintrc b/mesa.rpmlintrc new file mode 100644 index 0000000..0531ea0 --- /dev/null +++ b/mesa.rpmlintrc @@ -0,0 +1,8 @@ +# libXvMCr600.so.1.0.0 and libXvMCnouveau.so.1.0.0 are actually the hard +# links to libXvMCgallium.so.1.0.0 and have its soname. This confuses the +# build system. +addFilter("E: invalid-ldconfig-symlink") + +# dri-drivers is a collection of special shared objects rather than a +# single shared library. +addFilter("E: incoherent-version-in-name") diff --git a/mesa.spec b/mesa.spec index 74b28a3..d40b1a4 100644 --- a/mesa.spec +++ b/mesa.spec @@ -1,465 +1,617 @@ -# (aco) Needed for the dri drivers -%define _disable_ld_no_undefined 1 +# FIXME: fix the cases when immediate symbol resolution is not enough. +# For the present, fall back to the old symbol resolution rules for ld. +%define _disable_ld_now 1 -%define build_plf 0 -# freeglut should replace mesaglut soon -%define with_mesaglut 1 -%define with_hardware 1 +%bcond_with opencl +%bcond_without osmesa +%bcond_without radeonsi +%bcond_with va +%bcond_without vdpau +%bcond_without wayland -%define git 0 -%define relc 0 -%define release 7 - -%define src_type tar.bz2 -%define vsuffix %{expand:} - -%if %{relc} -%define release 0.rc%{relc}.%{rel} -%define vsuffix -rc%{relc} -%define src_type tar.bz2 -%endif - -%if %{git} -%if %{relc} -%define release 0.rc%{relc}.2.git%{git}.%{rel} +%ifarch %{arm} +%define dri_drivers "nouveau,r200,radeon" %else -%define release 0.git%{git}.%{rel} -%endif +%define dri_drivers "i915,i965,nouveau,r200,radeon" +%bcond_without vmware %endif -%define eglmajor 1 -%define eglname mesaegl -%define libeglname %mklibname %{eglname} %{eglmajor} -%define develegl %mklibname %{eglname} %{eglmajor} -d - -%define glmajor 1 -%define glname mesagl -%define libglname %mklibname %{glname} %{glmajor} -%define develgl %mklibname %{glname} %{glmajor} -d - -%define glumajor 1 -%define gluname mesaglu -%define libgluname %mklibname %{gluname} %{glumajor} -%define develglu %mklibname %{gluname} %{glumajor} -d - -%define glutmajor 3 -%define glutname mesaglut -%define libglutname %mklibname %{glutname} %{glutmajor} -%define develglut %mklibname %{glutname} %{glutmajor} -d - -%define glwmajor 1 -%define glwname mesaglw -%define libglwname %mklibname %{glwname} %{glwmajor} -%define develglw %mklibname %{glwname} %{glwmajor} -d - -%define glesv1major 1 -%define glesv1name mesaglesv1 -%define libglesv1name %mklibname %{glesv1name}_ %{glesv1major} -%define develglesv1 %mklibname %{glesv1name}_ %{glesv1major} -d - -%define glesv2major 2 -%define glesv2name mesaglesv2 -%define libglesv2name %mklibname %{glesv2name}_ %{glesv2major} -%define develglesv2 %mklibname %{glesv2name}_ %{glesv2major} -d - -%define openvgmajor 1 -%define openvgname mesaopenvg -%define libopenvgname %mklibname %{openvgname} %{openvgmajor} -%define developenvg %mklibname %{openvgname} %{openvgmajor} -d - -%define glapimajor 0 -%define glapiname glapi -%define libglapiname %mklibname %{glapiname} %{glapimajor} -%define develglapi %mklibname %{glapiname} %{glapimajor} -d - -%define dridrivers %mklibname dri-drivers - -%define mesasrcdir %{_prefix}/src/Mesa/ -%define driver_dir %{_libdir}/dri - -#FIXME: (for 386/485) unset SSE, MMX and 3dnow flags -#FIXME: (for >=i586) disable sse -# SSE seems to have problem on some apps (gtulpas) for probing. -%define dri_drivers_i386 "i810,i915,i965,mga,mach64,nouveau,r128,r200,r300,r600,radeon,savage,sis,unichrome,tdfx,swrast" -%define dri_drivers_x86_64 %{dri_drivers_i386} -%define dri_drivers_ppc "mach64,r128,r200,r300,radeon,tdfx,swrast" -%define dri_drivers_ppc64 "" -%define dri_drivers_ia64 "i810,i915,i965,mga,r128,r200,radeon,swrast" -%define dri_drivers_alpha "mga,r128,r200,radeon,swrast" -%define dri_drivers_sparc "ffb,mach64,mga,radeon,savage,swrast" -%define dri_drivers_mipsel "mach64,mga,r128,r200,radeon,savage,tdfx" -%define dri_drivers_arm "swrast" -%ifarch %{arm} -%define dri_drivers %{expand:%{dri_drivers_arm}} -%else -%define dri_drivers %{expand:%{dri_drivers_%{_arch}}} +# as for the dri drivers: so providing one. +%define gallium_drivers "r300,r600,nouveau,svga,swrast" +%if %{with radeonsi} +%define gallium_drivers "r300,r600,radeonsi,nouveau,svga,swrast" %endif +Summary: OpenGL 3.x compatible 3D graphics library Name: mesa -Version: 7.11.2 -Release: %{release} -Summary: OpenGL 2.1 compatible 3D graphics library -Group: System/Libraries - +Version: 10.3.3 +Release: 4 License: MIT -URL: http://www.mesa3d.org -%if %{git} -# (cg) Current commit ref: origin/mesa_7_5_branch -Source0: %{name}-%{git}.tar.bz2 -%else -Source0: ftp://ftp.freedesktop.org/pub/mesa/%version/MesaLib-%{version}%{vsuffix}.%{src_type} -Source2: ftp://ftp.freedesktop.org/pub/mesa/%version/MesaGLUT-%{version}%{vsuffix}.%{src_type} -%endif +Group: System/Libraries +Url: http://www.mesa3d.org +Source0: ftp://ftp.freedesktop.org/pub/mesa/%{version}/MesaLib-%{version}.tar.bz2 +Source1: mesa.rpmlintrc Source3: make-git-snapshot.sh -Source5: mesa-driver-install -# Instructions to setup your repository clone -# git://git.freedesktop.org/git/mesa/mesa -# git checkout mesa_7_5_branch -# git branch mdv-cherry-picks -# git am ../02??-*.patch -# git branch mdv-redhat -# git am ../03??-*.patch -# git branch mdv-patches -# git am ../09??-*.patch +Patch1: mesa-9.2-hardware-float.patch +Patch2: mesa-10.2-evergreen-big-endian.patch -# In order to update to the branch via patches, issue this command: -# git format-patch --start-number 100 mesa_7_5_1..mesa_7_5_branch | sed 's/^0\([0-9]\+\)-/Patch\1: 0\1-/' +# libXvMCnouveau.so.1.0.0 and libXvMCr600.so.1.0.0 are actually hard links +# to libXvMCgallium.so.1.0.0, which is not installed itself by default. +# However, the package build system seems to create libXvMCgallium.so.1 +# symlink for these based on their soname and gets confused as a result. +# Make the Mesa's build system install libXvMCgallium.so.1.0.0 to avoid this +# mess. +Patch3: mesa-10.3-do-install-libxvmcgallium.patch -# Cherry picks -# git format-patch --start-number 200 mesa_7_5_branch..mdv-cherry-picks +# fix crash when llvmpipe tries to use sse instructions, +# but llvm detects a cpu that doesn't support them. +# https://freedesktop.org/patch/34445/ +Patch4: Mesa-dev-gallivm-force-sse-instructions-for-llvm-3.5.patch -# Patches "liberated" from Fedora: -# http://cvs.fedoraproject.org/viewvc/rpms/mesa/devel/ -# git format-patch --start-number 300 mdv-cherry-picks..mdv-redhat +# Fedora +Patch18: 0002-mesa-10.0-nv50-fix-build.patch -# Mandriva & Mageia patches -Patch900: 0900-Mips-support.patch -Patch903: 0903-Fix-NULL-pointer-dereference-in-viaXMesaWindowMoved.patch -# (anssi) fixes gwenview segfault, from git master: -Patch203: nv50-nvc0-use-screen-instead-of-context-for-flush-notifier.patch -Patch205: MesaLib-7.11.2-llvm3.0.patch -# CVE patches -Patch300: libGLX-9.1.1-CVE-2013-1993.p1of2.patch -Patch301: libGLX-9.1.1-CVE-2013-1993.p2of2.patch - -BuildRequires: flex -BuildRequires: bison -BuildRequires: libxfixes-devel >= 4.0.3 -BuildRequires: libxt-devel >= 1.0.5 -BuildRequires: libxmu-devel >= 1.0.3 -BuildRequires: libx11-devel >= 1.3.3 -BuildRequires: libxdamage-devel >= 1.1.1 -BuildRequires: libexpat-devel >= 2.0.1 -BuildRequires: gccmakedep -BuildRequires: makedepend -BuildRequires: x11-proto-devel >= 7.3 -BuildRequires: libdrm-devel >= 2.4.25 - -BuildRequires: libxext-devel >= 1.1.1 -BuildRequires: libxxf86vm-devel >= 1.1.0 -BuildRequires: libxi-devel >= 1.3 -BuildRequires: talloc-devel -BuildRequires: libxml2-python -BuildRequires: udev-devel -BuildRequires: llvm >= 2.9 - -# package mesa -Requires: %{libglname} = %{version}-%{release} - -#------------------------------------------------------------------------------ - -%package -n %{dridrivers} -Summary: Mesa DRI drivers -Group: System/Libraries -Conflicts: %{_lib}MesaGL1 < 7.7-5 -%rename %{_lib}dri-drivers-experimental - -%package -n %{libglname} -Summary: Files for Mesa (GL and GLX libs) -Group: System/Libraries -Provides: lib%{glname} = %{version}-%{release} -Requires: %{dridrivers} >= %{version}-%{release} -%if %{build_plf} -Requires: %mklibname txc-dxtn +BuildRequires: bison +BuildRequires: flex +BuildRequires: gccmakedep +BuildRequires: libxml2-python +BuildRequires: makedepend +BuildRequires: elfutils-devel +BuildRequires: llvm-devel +BuildRequires: pkgconfig(expat) +BuildRequires: pkgconfig(libdrm) >= 2.4.56 +BuildRequires: pkgconfig(libudev) +%if %{with va} +BuildRequires: pkgconfig(libva) %endif -# Obsoletes: %{_lib}mesagl1 - -%package -n %{develgl} -Summary: Development files for Mesa (OpenGL compatible 3D lib) -Group: Development/C -Requires: %{libglname} = %{version}-%{release} -Provides: lib%{glname}-devel = %{version}-%{release} -Provides: %{glname}-devel = %{version}-%{release} -Provides: GL-devel -# Obsoletes: %{_lib}mesagl1-devel - -%package -n %{libgluname} -Summary: Files for Mesa (GLU libs) -Group: System/Libraries -Provides: lib%{gluname} = %{version}-%{release} -# Obsoletes: %{_lib}mesaglu1 - -%package -n %{develglu} -Summary: Development files for GLU libs -Group: Development/C -Requires: %{libgluname} = %{version}-%{release} -Provides: lib%{gluname}-devel = %{version}-%{release} -Provides: %{gluname}-devel = %{version}-%{release} -# Obsoletes: %{_lib}mesaglu1-devel - -%if %{with_mesaglut} -%package -n %{libglutname} -Summary: Files for Mesa (glut libs) -Group: System/Libraries -# Obsoletes: %{_lib}mesaglut3 - -%package -n %{develglut} -Summary: Development files for glut libs -Group: Development/C -Requires: %{libglutname} = %{version}-%{release} -Provides: lib%{glutname}-devel = %{version}-%{release} -Provides: %{glutname}-devel = %{version}-%{release} -# Obsoletes: %{_lib}mesaglut3-devel +BuildRequires: pkgconfig(talloc) +%if %{with vdpau} +BuildRequires: pkgconfig(vdpau) %endif - -%package -n %{libglwname} -Summary: Files for Mesa (glw libs) -Group: System/Libraries -# Obsoletes: %{_lib}mesaglw1 - -%package -n %{develglw} -Summary: Development files for glw libs -Group: Development/C -Requires: %{libglwname} = %{version}-%{release} -Provides: lib%{glwname}-devel = %{version}-%{release} -# Obsoletes: %{_lib}mesaglw1-devel - -%package -n %{libeglname} -Summary: Files for Mesa (EGL libs) -Group: System/Libraries -# Obsoletes: %{_lib}mesaegl1 - -%package -n %{develegl} -Summary: Development files for Mesa (EGL libs) -Group: Development/C -Requires: %{libeglname} = %{version}-%{release} -Provides: lib%{eglname}-devel -# Obsoletes: %{_lib}mesaegl1-devel - -%package -n %{libglapiname} -Summary: Files for mesa (glapi libs) -Group: System/Libraries - -%package -n %{develglapi} -Summary: Development files for glapi libs -Group: Development/C -# Obsoletes: %{_lib}glapi0-devel - -%package -n %{libglesv1name} -Summary: Files for Mesa (glesv1 libs) -Group: System/Libraries -# Obsoletes: %{_lib}mesaglesv1_1 - -%package -n %{develglesv1} -Summary: Development files for glesv1 libs -Group: Development/C -Requires: %{libglesv1name} = %{version}-%{release} -Provides: lib%{glesv1name}-devel -# Obsoletes: %{_lib}mesaglesv1_1-devel - -%package -n %{libglesv2name} -Summary: Files for Mesa (glesv2 libs) -Group: System/Libraries -# Obsoletes: %{_lib}mesaglesv2_2 - -%package -n %{develglesv2} -Summary: Development files for glesv2 libs -Group: Development/C -Requires: %{libglesv2name} = %{version}-%{release} -Provides: lib%{glesv2name}-devel -# Obsoletes: %{_lib}mesaglesv2_2-devel - -%package -n %{libopenvgname} -Summary: Files for MESA (OpenVG libs) -Group: System/Libraries -# Obsoletes: %{_lib}mesaopenvg1 - -%package -n %{developenvg} -Summary: Development files vor OpenVG libs -Group: Development/C -Requires: %{libopenvgname} = %{version}-%{release} -Provides: lib%{openvgname}-devel -# Obsoletes: %{_lib}mesaopenvg1-devel - -%package common-devel -Summary: Meta package for mesa devel -Group: Development/C -Requires: %{develegl} = %{version} -Requires: %{develglapi} = %{version} -Requires: %{develglw} = %{version} -Requires: %{develglu} = %{version} -%if %{with_mesaglut} -Requires: %{develglut} = %{version} -%else -Requires: freeglut-devel +%if %{with wayland} +BuildRequires: pkgconfig(wayland-client) %endif -Requires: %{develgl} = %{version} -Requires: %{develglesv1} = %{version} -Requires: %{develglesv2} = %{version} +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xdamage) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xfixes) +BuildRequires: pkgconfig(xi) +BuildRequires: pkgconfig(xmu) +BuildRequires: pkgconfig(xproto) +BuildRequires: pkgconfig(xt) +BuildRequires: pkgconfig(xvmc) +BuildRequires: pkgconfig(xxf86vm) +# Needed to build with support for DRI2 and DRI3 X11 extensions. +BuildRequires: pkgconfig(dri2proto) +BuildRequires: pkgconfig(dri3proto) +BuildRequires: pkgconfig(xshmfence) +BuildRequires: pkgconfig(xcb-dri3) +BuildRequires: pkgconfig(xcb-present) -#------------------------------------------------------------------------------ +# [NB] Do not mark it noarch, otherwise rpm will be confused on where +# to store debuginfo for the subpackages (all debug info should be stored +# in mesa-debuginfo). %description -Mesa is an OpenGL 2.1 compatible 3D graphics library. -%if %{build_plf} +Mesa is an OpenGL compatible 3D graphics library. This particular package +contains no libraries but rather the common files. -This package is in the "tainted" section because it enables some -OpenGL extentions that are covered by software patents. -%endif +%files +%doc docs/COPYING docs/README.* +%config(noreplace) %{_sysconfdir}/drirc + +#---------------------------------------------------------------------------- + +%define dridrivers %mklibname dri-drivers + +%package -n %{dridrivers} +Summary: Mesa DRI drivers +Group: System/Libraries %description -n %{dridrivers} -Mesa is an OpenGL 2.1 compatible 3D graphics library. -DRI drivers. +Mesa is an OpenGL compatible 3D graphics library. This +package contains the DRI drivers and also the experimental back-ends for the +vdpau and xvmc state trackers. + +%files -n %{dridrivers} +%dir %{_libdir}/dri +%{_libdir}/dri/i915_dri.so +%{_libdir}/dri/i965_dri.so +%{_libdir}/dri/nouveau_dri.so +%{_libdir}/dri/nouveau_vieux_dri.so +%{_libdir}/dri/r200_dri.so +%{_libdir}/dri/r300_dri.so +%{_libdir}/dri/r600_dri.so +%{_libdir}/dri/radeon_dri.so +%if %{with radeonsi} +%{_libdir}/dri/radeonsi_dri.so +%endif +%{_libdir}/dri/swrast_dri.so +%{_libdir}/dri/kms_swrast_dri.so +%{_libdir}/dri/vmwgfx_dri.so +# xvmc state tracker backends +%{_libdir}/libXvMCnouveau.so.* +%{_libdir}/libXvMCr600.so.* +%{_libdir}/libXvMCgallium.so.* +# vdpau state tracker backends +%{_libdir}/vdpau/libvdpau_nouveau.so.* +%{_libdir}/vdpau/libvdpau_r600.so.* +%if %{with radeonsi} +%{_libdir}/vdpau/libvdpau_radeonsi.so.* +%endif + +# XvMC and VDPAU are no longer supported for r300 and softpipe, see the +# commits 7c253184, 5f7233c8 and a few other in mesa git repo. +#---------------------------------------------------------------------------- + +%define glmajor 1 +%define libgl %mklibname gl %{glmajor} + +%package -n %{libgl} +Summary: Files for Mesa (GL and GLX libs) +Group: System/Libraries +Requires: %{dridrivers} = %{EVRD} +Suggests: %mklibname txc-dxtn +# Should be removed when we cleanup other packages' Requires on this +Provides: libmesagl = %{EVRD} + +%description -n %{libgl} +Mesa is an OpenGL compatible 3D graphics library: GL +and GLX parts. + +%files -n %{libgl} +%doc docs/COPYING +%{_libdir}/libGL.so.%{glmajor}* +%dir %{_libdir}/mesa +%{_libdir}/mesa/libGL.so.%{glmajor}* + +#---------------------------------------------------------------------------- + +%define devgl %mklibname gl -d + +%package -n %{devgl} +Summary: Development files for Mesa (OpenGL compatible 3D lib) +Group: Development/C +Requires: %{libgl} = %{EVRD} + +%description -n %{devgl} +Mesa is an OpenGL compatible 3D graphics library. This +package contains the headers needed to compile Mesa programs. + +%files -n %{devgl} +%doc docs/COPYING +%{_includedir}/GL/gl.h +%{_includedir}/GL/gl_mangle.h +%{_includedir}/GL/glext.h +%{_includedir}/GL/glx.h +%{_includedir}/GL/glxext.h +%{_includedir}/GL/glx_mangle.h +%if !%{with osmesa} +%{_includedir}/GL/osmesa.h +%endif +%{_includedir}/GL/wglext.h +%{_libdir}/libGL.so +%{_libdir}/libXvMC*.so +%{_libdir}/pkgconfig/gl.pc +%{_libdir}/pkgconfig/dri.pc +%{_includedir}/GL/wmesa.h +%{_includedir}/GL/glcorearb.h +%dir %{_includedir}/GL/internal +%{_includedir}/GL/internal/dri_interface.h + +#---------------------------------------------------------------------------- + +%define eglmajor 1 +%define libegl %mklibname egl %{eglmajor} + +%package -n %{libegl} +Summary: Files for Mesa (EGL libs) +Group: System/Libraries + +%description -n %{libegl} +Mesa is an OpenGL compatible 3D graphics library: EGL +parts. + +%files -n %{libegl} +%doc docs/COPYING +%{_libdir}/libEGL.so.%{eglmajor}* +%dir %{_libdir}/egl +%{_libdir}/egl/egl_gallium.so + +#---------------------------------------------------------------------------- + +%define devegl %mklibname egl -d + +%package -n %{devegl} +Summary: Development files for Mesa (EGL libs) +Group: Development/C +Requires: %{libegl} = %{EVRD} + +%description -n %{devegl} +Mesa is an OpenGL compatible 3D graphics library. This +package contains the headers needed to compile Mesa programs based on EGL. + +%files -n %{devegl} +%doc docs/COPYING +%{_includedir}/EGL +%{_includedir}/KHR +%{_libdir}/libEGL.so +%{_libdir}/pkgconfig/egl.pc + +#---------------------------------------------------------------------------- + +%define gbmmajor 1 +%define libgbm %mklibname gbm %{gbmmajor} + +%package -n %{libgbm} +Summary: Files for Mesa (gbm libs) +Group: System/Libraries + +%description -n %{libgbm} +Mesa is an OpenGL compatible 3D graphics library: GBM +(Graphics Buffer Manager) parts. + +%files -n %{libgbm} +%doc docs/COPYING +%{_libdir}/libgbm.so.%{gbmmajor}* +%{_libdir}/gbm/gbm_*.so + +#---------------------------------------------------------------------------- + +%define devgbm %mklibname gbm -d + +%package -n %{devgbm} +Summary: Development files for Mesa (gbm libs) +Group: Development/C +Requires: %{libgbm} = %{EVRD} +# libudev-devel is needed for development with gbm libs. +Requires: pkgconfig(libudev) + +%description -n %{devgbm} +Mesa is an OpenGL compatible 3D graphics library. This +package contains the headers needed to compile Mesa programs based on GBM +(Graphics Buffer Manager). + +%files -n %{devgbm} +%doc docs/COPYING +%{_includedir}/gbm.h +%{_libdir}/libgbm.so +%{_libdir}/pkgconfig/gbm.pc + +#---------------------------------------------------------------------------- + +%define glesv1major 1 +%define libglesv1 %mklibname glesv1_ %{glesv1major} + +%package -n %{libglesv1} +Summary: Files for Mesa (glesv1 libs) +Group: System/Libraries + +%description -n %{libglesv1} +Mesa is an OpenGL compatible 3D graphics library: +OpenGL ES library version 1 parts. OpenGL ES is a low-level, lightweight API +for advanced embedded graphics using well-defined subset profiles of OpenGL. + +%files -n %{libglesv1} +%doc docs/COPYING +%{_libdir}/libGLESv1_CM.so.%{glesv1major}* + +#---------------------------------------------------------------------------- + +%define devglesv1 %mklibname glesv1 -d + +%package -n %{devglesv1} +Summary: Development files for glesv1 libs +Group: Development/C +Requires: %{libglesv1} = %{EVRD} + +%description -n %{devglesv1} +Mesa is an OpenGL compatible 3D graphics library. This +package contains the headers needed to compile OpenGL ES 1 programs. + +%files -n %{devglesv1} +%doc docs/COPYING +%{_includedir}/GLES +%{_libdir}/libGLESv1_CM.so +%{_libdir}/pkgconfig/glesv1_cm.pc + +#---------------------------------------------------------------------------- + +%define glesv2major 2 +%define libglesv2 %mklibname glesv2_ %{glesv2major} + +%package -n %{libglesv2} +Summary: Files for Mesa (glesv2 libs) +Group: System/Libraries + +%description -n %{libglesv2} +Mesa is an OpenGL compatible 3D graphics library: +OpenGL ES library version 2 parts. OpenGL ES is a low-level, lightweight API +for advanced embedded graphics using well-defined subset profiles of OpenGL. + +%files -n %{libglesv2} +%doc docs/COPYING +%{_libdir}/libGLESv2.so.%{glesv2major}* + +#---------------------------------------------------------------------------- + +%define devglesv2 %mklibname glesv2 -d + +%package -n %{devglesv2} +Summary: Development files for glesv2 libs +Group: Development/C +Requires: %{libglesv2} = %{EVRD} + +%description -n %{devglesv2} +Mesa is an OpenGL compatible 3D graphics library. This +package contains the headers needed to compile OpenGL ES 2 programs. + +%files -n %{devglesv2} +%doc docs/COPYING +%{_includedir}/GLES2 +%{_libdir}/libGLESv2.so +%{_libdir}/pkgconfig/glesv2.pc + +#---------------------------------------------------------------------------- + +%define devglesv3 %mklibname glesv3 -d + +%package -n %{devglesv3} +Summary: Development files for glesv3 libs +Group: Development/C +# there is no pkgconfig +Provides: glesv3-devel = %{version}-%{release} + +%description -n %{devglesv3} +This package contains the headers needed to compile OpenGL ES 3 programs. + +%files -n %{devglesv3} +%doc docs/COPYING +%{_includedir}/GLES3 +#---------------------------------------------------------------------------- + +%define glapimajor 0 +%define libglapi %mklibname glapi %{glapimajor} + +%package -n %{libglapi} +Summary: Files for Mesa (glapi libs) +Group: System/Libraries + +%description -n %{libglapi} +Mesa is an OpenGL compatible 3D graphics library. This +packages provides the glapi shared library used by gallium drivers. + +%files -n %{libglapi} +%doc docs/COPYING +%{_libdir}/libglapi.so.%{glapimajor}* + +#---------------------------------------------------------------------------- + +%define devglapi %mklibname glapi -d + +%package -n %{devglapi} +Summary: Development files for glapi libs +Group: Development/C +Requires: %{libglapi} = %{EVRD} +Provides: glapi-devel = %{EVRD} + +%description -n %{devglapi} +Mesa is an OpenGL compatible 3D graphics library. This +package contains the headers needed to compile programs against glapi shared +library. + +%files -n %{devglapi} +%doc docs/COPYING +%{_libdir}/libglapi.so + +#---------------------------------------------------------------------------- + +%define xamajor 2 +%define libxatracker %mklibname xatracker %{xamajor} + +%package -n %{libxatracker} +Summary: Files for Mesa (xa state tracker) +Group: System/Libraries + +%description -n %{libxatracker} +Mesa is an OpenGL compatible 3D graphics library: Mesa +back-end for the xa state tracker. + +%files -n %{libxatracker} +%doc docs/COPYING +%{_libdir}/libxatracker.so.%{xamajor}* + +#---------------------------------------------------------------------------- + +%define devxatracker %mklibname xatracker -d + +%package -n %{devxatracker} +Summary: Development files for xa state tracker +Group: Development/C +Requires: %{libxatracker} = %{EVRD} + +%description -n %{devxatracker} +Mesa is an OpenGL compatible 3D graphics library. This +package contains the headers needed to compile programs against the xa state +tracker. + +%files -n %{devxatracker} +%doc docs/COPYING +%{_includedir}/xa_*.h +%{_libdir}/libxatracker.so +%{_libdir}/pkgconfig/xatracker.pc + +#---------------------------------------------------------------------------- + +%if %{with osmesa} +%define osmesamajor 8 +%define libosmesa %mklibname osmesa %{osmesamajor} + +%package -n %{libosmesa} +Summary: Mesa offscreen rendering libraries +Group: System/Libraries + +%description -n %{libosmesa} +Mesa is an OpenGL compatible 3D graphics library: Mesa +off-screen rendering library. + +%files -n %{libosmesa} +%doc docs/COPYING +%{_libdir}/libOSMesa.so.%{osmesamajor}* +%endif + +#---------------------------------------------------------------------------- + +%if %{with osmesa} +%define devosmesa %mklibname osmesa -d + +%package -n %{devosmesa} +Summary: Mesa offscreen rendering development package +Group: Development/C +Requires: %{libosmesa} = %{EVRD} + +%description -n %{devosmesa} +Mesa is an OpenGL compatible 3D graphics library. This +package contains the Mesa off-screen rendering development files. + +%files -n %{devosmesa} +%doc docs/COPYING +%dir %{_includedir}/GL +%{_includedir}/GL/osmesa.h +%{_libdir}/libOSMesa.so +%{_libdir}/pkgconfig/osmesa.pc +%endif + +#---------------------------------------------------------------------------- + +%if %{with wayland} +%define waylandeglmajor 1 +%define libwaylandegl %mklibname wayland-egl %{waylandeglmajor} + +%package -n %{libwaylandegl} +Summary: Files for Mesa (Wayland EGL libs) +Group: System/Libraries + +%description -n %{libwaylandegl} +Mesa is an OpenGL compatible 3D graphics library: +Wayland EGL platform parts. + +%files -n %{libwaylandegl} +%doc docs/COPYING +%{_libdir}/libwayland-egl.so.%{waylandeglmajor}* +%endif + +#---------------------------------------------------------------------------- + +%if %{with wayland} +%define devwaylandegl %mklibname wayland-egl -d + +%package -n %{devwaylandegl} +Summary: Development files for Mesa (Wayland EGL libs) +Group: Development/C +Requires: %{libwaylandegl} = %{EVRD} + +%description -n %{devwaylandegl} +Mesa is an OpenGL compatible 3D graphics library. This +package contains the headers needed to compile Mesa programs based on Wayland +EGL platform. + +%files -n %{devwaylandegl} +%doc docs/COPYING +%{_libdir}/libwayland-egl.so +%{_libdir}/pkgconfig/wayland-egl.pc +%endif + +#---------------------------------------------------------------------------- + +%package common-devel +Summary: Meta package for Mesa development files +Group: Development/C +Requires: %{devgl} = %{EVRD} +Requires: %{devxatracker} = %{EVRD} +Requires: %{devegl} = %{EVRD} +Requires: %{devglapi} = %{EVRD} +Requires: %{devgbm} = %{EVRD} +Requires: %{devglesv1} = %{EVRD} +Requires: %{devglesv2} = %{EVRD} +Requires: %{devglesv3} = %{EVRD} +%if %{with wayland} +Requires: %{devwaylandegl} = %{EVRD} +%endif +%if %{with osmesa} +Requires: %{devosmesa} = %{EVRD} +%endif +Requires: pkgconfig(glu) +Requires: pkgconfig(glut) %description common-devel -Mesa common metapackage devel +Mesa common meta package for development files. -%description -n %{libeglname} -Mesa is an OpenGL 2.1 compatible 3D graphics library. -EGL parts. +%files common-devel +# This is the meta package for development -%description -n %{develegl} -Mesa is an OpenGL 2.1 compatible 3D graphics library. -EGL development parts. - -%description -n %{libglname} -Mesa is an OpenGL 2.1 compatible 3D graphics library. -GL and GLX parts. - -%description -n %{develgl} -Mesa is an OpenGL 2.1 compatible 3D graphics library. - -This package contains the headers needed to compile Mesa programs. - -%description -n %{libgluname} -GLU is the OpenGL Utility Library. -It provides a number of functions upon the base OpenGL library to provide -higher-level drawing routines from the more primitive routines provided by -OpenGL. - -%description -n %{develglu} -This package contains the headers needed to compile programs with GLU. - -%if %{with_mesaglut} -%description -n %{libglutname} -GLUT (OpenGL Utility Toolkit) is a addon library for OpenGL programs. It -provides them utilities to define and control windows, input from the keyboard -and the mouse, drawing some geometric primitives (cubes, spheres, ...). -GLUT can even create pop-up windows. - -%description -n %{develglut} -Mesa is an OpenGL 2.1 compatible 3D graphics library. -glut parts. - -This package contains the headers needed to compile Mesa programs. -%endif - -%description -n %{libglwname} -GLw adds Motif bindings to the OpenGL "canvas" (Xt/Motif/OpenGL widget code). - -%description -n %{develglw} -Mesa is an OpenGL 2.1 compatible 3D graphics library. -GLw parts. - -This package contains the headers needed to compile Mesa programs. - -%description -n %{libglapiname} -This packages provides the glapi shared library used by gallium. - -%description -n %{develglapi} -This package contains the headers needed to compile programes against -glapi shared library. - -%description -n %{libglesv1name} -OpenGL ES is a low-level, lightweight API for advanced embedded graphics using -well-defined subset profiles of OpenGL. - -This package provides the OpenGL ES library version 1. - -%description -n %{develglesv1} -This package contains the headers needed to compile OpenGL ES 1 programs. - -%description -n %{libglesv2name} -OpenGL ES is a low-level, lightweight API for advanced embedded graphics using -well-defined subset profiles of OpenGL. - -This package provides the OpenGL ES library version 2. - -%description -n %{develglesv2} -This package contains the headers needed to compile OpenGL ES 2 programs. - -%description -n %{libopenvgname} -OpenVG is a royalty-free, cross-platform API that provides a low-level hardware -acceleration interface for vector graphics libraries such as Flash and SVG. - -%description -n %{developenvg} -Development files for OpenVG library. - -#------------------------------------------------------------------------------ +#---------------------------------------------------------------------------- %prep -%if %{git} -%setup -qn mesa-%{git} -%else -%setup -qn Mesa-%{version}%{vsuffix} -b2 -%endif - +%setup -q -n Mesa-%{version} %apply_patches -chmod +x %{SOURCE5} %build -#%if %{git} -#./autogen.sh -v -#%endif +# Always (re)generate auto* generated files using our autotools and libtoolize +autoreconf -vfi + +# Support for DRI3 starts from Xorg 1.15. When building Mesa for an older +# version of Xorg, replace --enable-dri3 with --disable-dri3 below. -# need autoreconf since nouveau-updates patches configure.ac -autoreconf %configure2_5x \ - --with-driver=dri \ - --with-dri-driverdir=%{driver_dir} \ + --enable-dri \ + --enable-dri3 \ + --enable-vdpau \ +%if %{with opencl} + --enable-opencl \ + TODO: if OpenCL support in Mesa is needed, it needs more work +%else + --disable-opencl \ +%endif +%if %{with osmesa} + --enable-osmesa \ +%endif + --with-dri-driverdir=%{_libdir}/dri \ --with-dri-drivers="%{dri_drivers}" \ - --with-state-trackers=dri \ - --enable-shared-dricore \ - --enable-gallium-nouveau \ + --enable-r600-llvm-compiler \ +%if %{with vmware} + --enable-xa \ +%endif + --with-gallium-drivers="%{gallium_drivers}" \ + --enable-gallium-llvm \ --enable-egl \ + --enable-gallium-egl \ + --enable-gallium-gbm \ + --enable-gbm \ --enable-gles1 \ --enable-gles2 \ - --enable-openvg \ - --enable-gallium-egl \ -%if %{with_hardware} - --with-gallium-drivers=r300,r600,nouveau,swrast \ - --enable-gallium-llvm \ + --enable-shared-glapi \ +%if %{with wayland} + --with-egl-platforms=x11,drm,wayland \ %else - --disable-gallium-llvm \ - --with-gallium-drivers=swrast \ + --with-egl-platforms=x11,drm \ %endif -%if %{build_plf} - --enable-texture-float \ -%endif -%if %{with_mesaglut} - --enable-glut +%if %{with radeonsi} + --enable-glx-tls \ %else - --disable-glut + --disable-glx-tls \ %endif + --enable-texture-float=yes \ + --enable-xvmc %make %install -rm -rf %{buildroot} %makeinstall_std -# (blino) hardlink libGL files in %{_libdir}/mesa +# FIXME: strip will likely break the hardlink +# (blino) hardlink libGL files in %%{_libdir}/mesa # to prevent proprietary driver installers from removing them mkdir -p %{buildroot}%{_libdir}/mesa pushd %{buildroot}%{_libdir}/mesa @@ -470,767 +622,11 @@ popd mkdir -p %{buildroot}%{_prefix}/lib/dri %endif -%if !%{with_mesaglut} rm -f %{buildroot}/%{_includedir}/GL/glut.h rm -f %{buildroot}/%{_includedir}/GL/glutf90.h -%endif -# use swrastg if built (Anssi 12/2011) +# .so files are not needed by vdpau: there is not devel package +rm -f %{buildroot}%{_libdir}/vdpau/libvdpau_*.so + +# Use swrastg if built (Anssi 12/2011) [ -e %{buildroot}%{_libdir}/dri/swrastg_dri.so ] && mv %{buildroot}%{_libdir}/dri/swrast{g,}_dri.so - -#------------------------------------------------------------------------------ - -%files -%doc docs/COPYING docs/README.* - -%files -n %{dridrivers} -%ifnarch ppc64 -%dir %{_libdir}/dri -%{_libdir}/dri/libdricore.so -%{_libdir}/dri/libglsl.so -%{_libdir}/dri/*_dri.so -%endif - -%files -n %{libglname} -%{_libdir}/libGL.so.* -%dir %{_libdir}/mesa -%{_libdir}/mesa/libGL.so.%{glmajor}* - -%files -n %{libgluname} -%{_libdir}/libGLU.so.%{glumajor}* - -%if %{with_mesaglut} -%files -n %{libglutname} -%doc docs/COPYING -%{_libdir}/libglut.so.%{glutmajor}* -%endif - -%files -n %{libglwname} -%{_libdir}/libGLw.so.%{glwmajor}* - -%files -n %{libeglname} -%{_libdir}/libEGL.so.%{eglmajor}* -%dir %{_libdir}/egl -%{_libdir}/egl/st_GL.so -%{_libdir}/egl/egl_gallium.so - -%files -n %{libglapiname} -%{_libdir}/libglapi.so.%{glapimajor}* - -%files -n %{libglesv1name} -%{_libdir}/libGLESv1_CM.so.%{glesv1major}* - -%files -n %{libglesv2name} -%{_libdir}/libGLESv2.so.%{glesv2major}* - -%files -n %{libopenvgname} -%{_libdir}/libOpenVG.so.%{openvgmajor}* - -%files -n %{develgl} -%{_includedir}/GL/gl.h -%{_includedir}/GL/glext.h -%{_includedir}/GL/gl_mangle.h -%{_includedir}/GL/osmesa.h -%{_includedir}/GL/wglext.h -%{_includedir}/GL/glx.h -%{_includedir}/GL/glxext.h -%{_includedir}/GL/glx_mangle.h -%{_libdir}/libGL.so -%{_libdir}/pkgconfig/gl.pc -%{_libdir}/pkgconfig/dri.pc - -#FIXME: check those headers -%{_includedir}/GL/glfbdev.h -%{_includedir}/GL/vms_x_fix.h -%{_includedir}/GL/wmesa.h -%dir %{_includedir}/GL/internal -%{_includedir}/GL/internal/dri_interface.h - -%files -n %{develglu} -%{_includedir}/GL/glu.h -%{_includedir}/GL/glu_mangle.h -%{_includedir}/GL/mesa_wgl.h -%{_libdir}/libGLU.so -%{_libdir}/pkgconfig/glu.pc - -%if %{with_mesaglut} -%files -n %{develglut} -%{_includedir}/GL/glut.h -%{_includedir}/GL/glutf90.h -%{_libdir}/libglut.so -%{_libdir}/pkgconfig/glut.pc -%endif - -%files common-devel -# meta devel pkg - -%files -n %{develglw} -%{_includedir}/GL/GLwDrawA.h -%{_includedir}/GL/GLwDrawAP.h -%{_includedir}/GL/GLwMDrawA.h -%{_includedir}/GL/GLwMDrawAP.h -%{_libdir}/libGLw.so -%{_libdir}/pkgconfig/glw.pc - -%files -n %{develegl} -%{_includedir}/EGL -%{_includedir}/KHR -%{_libdir}/libEGL.so -%{_libdir}/pkgconfig/egl.pc - -%files -n %{develglapi} -%{_libdir}/libglapi.so - -%files -n %{develglesv1} -%{_includedir}/GLES -%{_libdir}/libGLESv1_CM.so -%{_libdir}/pkgconfig/glesv1_cm.pc - -%files -n %{develglesv2} -%{_includedir}/GLES2 -%{_libdir}/libGLESv2.so -%{_libdir}/pkgconfig/glesv2.pc - -%files -n %{developenvg} -%{_includedir}/VG -%{_libdir}/libOpenVG.so -%{_libdir}/pkgconfig/vg.pc - - - -%changelog -* Tue Sep 16 2014 Kuzma Kazygashev 7.11.2-5 -- Added security fix for CVE-2013-1993. - -* Mon Mar 26 2012 Andrew Lukoshko 7.11.2-3 -- return 2011.0-compatible packages' names - -* Thu Dec 29 2011 Matthew Dawkins 7.11.2-2 -+ Revision: 748220 -- rebuild for new llvm (thanks to pcpa) -- removed old pre 2007 obsolotes, conflicts provides -- dropped major from all devel pkgs -- renamed libs & devel to proper names (dropping mesa from name) -- dropped all worthless virtual provides and merged where needed -- cleaned up spec - -* Wed Dec 28 2011 Matthew Dawkins 7.11.2-1 -+ Revision: 746091 -- sync'd spec with mga (did not enable freeglut) - - fix crash with nouveau when opening an image in gwenview 4.7.90 - - (nv50-nvc0-use-screen-instead-of-context-for-flush-notifier.patch from - - upstream git master) - - add upstream patch to build with llvm 3.0 - - build with shared dricore to make DRI driver binaries smaller -- added patches from mga for llvm3.0 & gwenview segfault -- added new 7.11.2 sources -- prep spec for new version 7.11.2 -- cleaned up spec -- added arm support - -* Tue Jun 14 2011 Eugeni Dodonov 7.10.3-1 -+ Revision: 684977 -- Missing flex BR -- New version 7.10.3 - - + Paulo Andrade - - Rediff and reapply patch to prevent salome segfault. - -* Thu Jun 09 2011 Eugeni Dodonov 7.10.2-2 -+ Revision: 683515 -- New version 7.10.2. - P0906: fix crash when leaving fullscreen on i965. - -* Tue Apr 19 2011 Alexandre Lissy 7.10.1-3 -+ Revision: 656002 -- Fix erroneous enabling of gallium for radeon & r600 - -* Tue Apr 19 2011 Alexandre Lissy 7.10.1-2 -+ Revision: 655914 -- Updating mesa to compile with latest nouveau versions, thanks to Fedora's patches - - + Paulo Ricardo Zanoni - - New version: 7.10.1 - - Remove patch200 (applied upstream) - - Fix typo in libglesv1 description - - Fix "%%endif" placement - Thanks to Giovanni Mariani - CCBUG:62331 - -* Thu Jan 13 2011 Paulo Ricardo Zanoni 7.10-1 -+ Revision: 631008 -- Add patch200 to prevent X from crashing with r300+UMS -- Add "generic" provides to libs -- Fix glut-devel requires -- libgl-devel shouldn't require mesa, it should require libgl -- Add OpenVG packages -- New version: 7.10 -- More spec file cleanup -- fix egl-devel provides/requires -- move egl sections, now closer to the other "small libs" -- remove patch 301: we don't apply it anymore, Fedora is not applying it too, - and it's not a need. We should get as close as upstream as possible. This was - discussed some time ago. -- add/fix EGL packages -- add OpenGL ES 1 packages -- add OpenGL ES 2 packages (for chromium and future) -- remove comment from patch that doesn't exist -- remove "ldconfig" lines for older mdv versions: if we ever backport Mesa to - such an old version, we can add ldconfig to the backported version -- remove EGL switch -- fix some tab/space confusion -- move egl %%files sections to better places -- move gl %%files sections to better places -- add "majors" do %%files definitions -- move pkgconfig files to the right places (and add proper Conflicts) -- add more packages to mesa-common-devel -- Add patch to fix compilation with new libdrm - -* Sat Nov 20 2010 Paulo Andrade 7.9-2mdv2011.0 -+ Revision: 599080 -- Add back patch to correct X Server crash in the salome package - CCBUG: 59084 - -* Wed Oct 06 2010 Thierry Vignaud 7.9-1mdv2011.0 -+ Revision: 583170 -- BuildRequires: libxml2-python -- BuildRequires: talloc-devel -- new release -- rediff patch 201 -- drop merged patches (202 302 904 905) -- mesa-demos was split out -- bump BR on libdrm - (we should probably have a versioned require on the binary RPM too...) - - + Paulo Ricardo Zanoni - - New version: 7.8.2 - -* Mon Jun 21 2010 Paulo Ricardo Zanoni 7.8.1-6mdv2010.1 -+ Revision: 548491 -- Add patch to fix an intel bug (affects glknots and other apps) - -* Mon May 17 2010 Paulo Ricardo Zanoni 7.8.1-5mdv2010.1 -+ Revision: 545055 -- Make invesalius work again (#59269) - CCBUG 59269 - -* Tue May 11 2010 Paulo Ricardo Zanoni 7.8.1-4mdv2010.1 -+ Revision: 544529 -+ rebuild (emptylog) - -* Mon May 10 2010 Paulo Ricardo Zanoni 7.8.1-3mdv2010.1 -+ Revision: 544433 -- Sync with mesa 7.8 branch -- Add patch to work around an Intel crash - CCBUG: 59084 - -* Thu Apr 29 2010 Paulo Ricardo Zanoni 7.8.1-2mdv2010.1 -+ Revision: 540853 -- Add patch that should fix bug #58580 - -* Mon Apr 05 2010 Paulo Ricardo Zanoni 7.8.1-1mdv2010.1 -+ Revision: 531894 -- New version: 7.8.1 - -* Mon Mar 29 2010 Anssi Hannula 7.8-1mdv2010.1 -+ Revision: 528705 -- new version 7.8 -- remove patches applied in upstream release - -* Thu Mar 25 2010 Anssi Hannula 7.8-0.rc2.3mdv2010.1 -+ Revision: 527416 -- really apply patch added in last release - -* Wed Mar 24 2010 Anssi Hannula 7.8-0.rc2.2mdv2010.1 -+ Revision: 527232 -- fix i945 miptree pitch disagreement (fixes mdv #58248, fd.o #26966, - patch from mesa git master (da011faf48)) - -* Tue Mar 23 2010 Anssi Hannula 7.8-0.rc2.1mdv2010.1 -+ Revision: 526943 -- new release candidate 7.8-rc2 -- bump buildrequires on libx11-devel, libxext-devel, libxxf86vm-devel, - libxi-devel (Charles A Edwards) -- bump buildrequires on libdrm (due to nouveau changes) -- fix failing assertion in gl-117 and blender (upstream bug #27034, patch - from 7.8 git branch) -- fix build of nouveau driver with current libdrm - (renamed-NVxxTCL_TX_GEN-definitions.patch) - -* Thu Mar 18 2010 Anssi Hannula 7.8-0.rc1.1mdv2010.1 -+ Revision: 524757 -- disable link-shared (libdricore.so) patch for now due to linking - issues, as per fedora (our problems may be different than theirs, - though) -- new release candidate 7.8 rc1 -- enable nouveau driver, in lib(64)dri-drivers-experimental package - (fixes #57884) -- remove fedora patches intel-revert-vbl-v1.1.patch, - mesa-7.1-disable-intel-classic-warn-v1.3.patch, no longer applied by - fedora -- remove now unneeded DRI-modules-are-not-under-usr-X11R6-anymore.patch - and Fix-linux-dri-so-it-can-be-used-for-all-archs-thank.patch, both - are handled by configure script now -- remove old disabled i965 memleak patch -- clean buildroot in the beginning of install stage -- update file lists -- rediff nukeglthread-debug.patch and link-shared.patch - -* Tue Mar 16 2010 Anssi Hannula 7.7-5mdv2010.1 -+ Revision: 521938 -- remove -fno-strict-aliasing from ARCH_FLAGS, added upstream -- remove -fno-tree-vrp from ARCH_FLAGS, fixed in gcc 4.3+ -- build with normal optimization (fd.o #10224, i.e. crashes on r200, is - likely fixed in gcc during the last 3 years) -- remove RPM_OPT_FLAGS from ARCH_FLAGS, as mesa gets the flags from - CFLAGS now -- split DRI drivers to unversioned lib(64)dri-drivers package - (experimental ones will go to lib(64)dri-drivers-experimental when such - drivers will be enabled at a later time) - -* Wed Feb 03 2010 Thierry Vignaud 7.7-4mdv2010.1 -+ Revision: 499974 -- move glinfo into glxinfo package too (prevent driconf and the like to require - the big mesa-demos) - -* Sun Jan 24 2010 Anssi Hannula 7.7-3mdv2010.1 -+ Revision: 495514 -- split glxinfo from mesa-demos into glxinfo package (mesa-demos will - still pull it in) - -* Wed Dec 23 2009 Paulo Ricardo Zanoni 7.7-2mdv2010.1 -+ Revision: 481772 -+ rebuild (emptylog) - -* Tue Dec 22 2009 Paulo Ricardo Zanoni 7.7-1mdv2010.1 -+ Revision: 481590 -- New version: 7.7 - -* Wed Dec 16 2009 Paulo Ricardo Zanoni 7.6.1-0.rc4.1mdv2010.1 -+ Revision: 479548 -- New version: 7.6.1-rc4 - -* Mon Dec 14 2009 Thierry Vignaud 7.6.1-0.rc3.2mdv2010.1 -+ Revision: 478455 -- enable r600 3D driver too - -* Fri Dec 11 2009 Paulo Ricardo Zanoni 7.6.1-0.rc3.1mdv2010.1 -+ Revision: 476544 -- New version: 7.6.1-rc3 - Removed applied patches - - + Thierry Vignaud - - drop requires from mesa-demos on mesa (empty package but for docs) - -* Mon Oct 05 2009 Paulo Ricardo Zanoni 7.5.2-2mdv2010.0 -+ Revision: 454106 -- Fix problems with r200 and r300 textures. - -* Thu Oct 01 2009 Paulo Ricardo Zanoni 7.5.2-1mdv2010.0 -+ Revision: 452203 -- Update to mesa 7.5.2 - Remove patch 0200 (already included in this release) - -* Mon Sep 28 2009 Thierry Vignaud 7.6-0.1mdv2010.0 -+ Revision: 450711 -- fix URL - -* Sun Sep 27 2009 Anssi Hannula 7.5.1-3mdv2010.0 -+ Revision: 450137 -- remove duplicate libdricore.so (it already exists in /usr/lib/dri/) - - + Olivier Blin - - merge mips changes (from Arnaud Patard) - -* Thu Sep 17 2009 Colin Guthrie 7.5.1-1mdv2010.0 -+ Revision: 443963 -- Add build fix (cherry-picked from 7.5.2 branch) -- New version: 7.5.1 -- Drop upstream patches -- Do not apply master cherry-pick for now until I can research the solution more - - + Guillaume - - bump release - - add Requires: to workaround buggy pkg-config on mismet private dependencies - -* Mon Aug 03 2009 Thierry Vignaud 7.5-2mdv2010.0 -+ Revision: 408410 -- patch 201: upstream fix for black screen (eg: mplayer -vo gl with r300 card) - -* Mon Jul 20 2009 Ander Conselvan de Oliveira 7.5-1mdv2010.0 -+ Revision: 398194 -- Update to version 7.5 - -* Sun Jul 05 2009 Colin Guthrie 7.5-0.rc4.2.git20090705.1mdv2010.0 -+ Revision: 392644 -- Disable parallel make as it causes issues with the shared dricore -- Update to the latest 7.5-branch which fixes issues for intel stuff in rc4. - -* Tue Jun 30 2009 Ander Conselvan de Oliveira 7.5-0.rc4.1mdv2010.0 -+ Revision: 391020 -- update to 7.5 RC4 -- drop patch 101 (applied upstream) - -* Thu Jun 18 2009 Colin Guthrie 7.5-0.rc3.3mdv2010.0 -+ Revision: 387186 -- Add upstream patch for intel memory leak (fdo#20704) -- Remove upstream patch that causes problems with compiz (fdo#20704) - -* Mon Jun 08 2009 Colin Guthrie 7.5-0.rc3.2mdv2010.0 -+ Revision: 383856 -- Actually apply the patches I added in the last release (*sigh*) - -* Sat Jun 06 2009 Colin Guthrie 7.5-0.rc3.1mdv2010.0 -+ Revision: 383226 -- Add upstream patch for memory leak and proposed patch from intel-gfx list -- Update to RC3 - -* Mon May 18 2009 Ander Conselvan de Oliveira 7.5-0.rc2.1mdv2010.0 -+ Revision: 377047 -- update to 7.5-rc2 -- fix build failure -- update to 7.5-rc1 -- drop patch 100 (applied upstream) - -* Thu Apr 30 2009 Colin Guthrie 7.4.1-1mdv2010.0 -+ Revision: 369157 -- New version: 7.4.1 -- Break egl support (it was disabled anyway) - -* Thu Jan 22 2009 Ander Conselvan de Oliveira 7.3-1mdv2009.1 -+ Revision: 332631 -- New version: 7.3 - -* Fri Jan 16 2009 Ander Conselvan de Oliveira 7.3-0.20090116.1mdv2009.1 -+ Revision: 330321 -- Update to git tag mesa_7_3_rc2 - -* Sun Jan 11 2009 Christiaan Welvaart 7.3-0.20081220.2mdv2009.1 -+ Revision: 328265 -- disable patch301 because it does not support r200 - -* Tue Dec 30 2008 Colin Guthrie 7.3-0.20081220.1mdv2009.1 -+ Revision: 321330 -- Update to recent git snapshot -- Liberate patches from Fedora -- Convert out patches to git for simpler management -- Drop unneeded patches - -* Tue Dec 02 2008 Colin Guthrie 7.2-1.20081001.2mdv2009.1 -+ Revision: 308947 -- Build swrast after the others.. note to self: *test* after making last minute changes -- Build swrast driver explicitly - -* Sat Nov 29 2008 Colin Guthrie 7.2-1.20081001.1mdv2009.1 -+ Revision: 307986 -- Update mesa to post-7.2 snapshot (as used by fedora) -- Adapt some patches -- Liberate some fedora patches - -* Fri Aug 22 2008 Ander Conselvan de Oliveira 7.0.4-1mdv2009.0 -+ Revision: 275210 -- Disables i915tex dri driver. -- Update to version 7.0.4 - - + Thierry Vignaud - - rebuild early 2009.0 package (before pixel changes) - - + Pixel - - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers - - + Paulo Andrade - - Make libmesagl owner of %%{_prefix}/lib/dri on x86_64 (32 bit binaries). - -* Fri May 09 2008 Lev Givon 7.0.3-2mdv2009.0 -+ Revision: 205304 -- Add arch-independent provides to library packages. - -* Mon Apr 14 2008 Paulo Andrade 7.0.3-1mdv2009.0 -+ Revision: 193181 -- Update to version 7.0.3. - Also use gccmakedep instead of makedepend by default, but make it - configurable. This should remove more than half of the compile warnings, - due to makedepend not finding several dependencies. - -* Mon Mar 10 2008 Paulo Andrade 7.0.2-5mdv2008.1 -+ Revision: 183783 -- Actually add patches to update documentation, version (7.0.3 rc 2), and - add two files not available in the "official" 7.0.2 tarball. - -* Mon Mar 10 2008 Paulo Andrade 7.0.2-4mdv2008.1 -+ Revision: 183716 -- Add bug fixes from mesa stable branch. Basically: - git format-patch mesa_7_0_2..origin/mesa_7_0_branch - but did not add patches that are not bug fixes, so this should be very - close to mesa 7.0.3 rc2 without the documentation updates. - This also has the side effect of "automatically" enabling fortran - support, that has been asked by a user. - -* Tue Jan 15 2008 Paulo Andrade 7.0.2-3mdv2008.1 -+ Revision: 153289 -- Update BuildRequires. - Needs to add xgixp and nouveau dri modules. - Mesa 7.0.3 is expected to be released in 1 to 2 weeks, so no more changes - to package should be done until the next release. - - + Olivier Blin - - restore BuildRoot - - + Thierry Vignaud - - kill re-definition of %%buildroot on Pixel's request - - stop packaging obsolete RELNOTES-[34].* - -* Mon Nov 12 2007 Thierry Vignaud 7.0.2-2mdv2008.1 -+ Revision: 108238 -- patch 60: fix build -- new release -- kill patches 44, 46, 47, 100, 101, 102 & 103 (merged upstream) -- make it --short-circuit-able - -* Wed Oct 24 2007 Thierry Vignaud 7.0.1-12mdv2008.1 -+ Revision: 101784 -- kill patch 6, now unneeded (added in 6.5-8mdv2007.0, sent by Sebastien savari): - "static inline functions are broken on some architetures" -- remove patch 9 (fix compiling on x86_64) that I introduced in 6.5-8mdv2007.0 - since it's now unneeded - -* Wed Oct 24 2007 Thierry Vignaud 7.0.1-11mdv2008.1 -+ Revision: 101769 -- compile with -O1 since it fixes some freeze on r200 (fd.o bug #10224) -- remove suspicious patch 7 (added by boiko in 6.5-8mdv2007.0, sent by Sebastien - savari): "in some cases radeon may have 0 bits depth" - -* Tue Oct 02 2007 Ademar de Souza Reis Jr 7.0.1-10mdv2008.0 -+ Revision: 94821 -- adding one more patch from claudio as a fix for #34090 - (metisse/neverball crashes on mesa). It's an obvious - fix for a crash that happens after the previous - workaround (we now hit what appears to be an - unrelated bug). - -* Tue Oct 02 2007 Ademar de Souza Reis Jr 7.0.1-9mdv2008.0 -+ Revision: 94680 -- adding patch from claudio to workaround bug #34090 - (metisse/neverball crash). It just avoids the crash until - we have the real fix, but it's a safe workaround. - -* Tue Sep 18 2007 Guillaume Rousse 7.0.1-8mdv2008.0 -+ Revision: 89928 -- rebuild - -* Tue Sep 18 2007 Anssi Hannula 7.0.1-7mdv2008.0 -+ Revision: 89724 -- rebuild due to package loss - -* Tue Sep 04 2007 Olivier Blin 7.0.1-6mdv2008.0 -+ Revision: 79234 -- mention OpenGL 2.1 support in description and summary (from JLP, #33115) - -* Fri Aug 31 2007 Olivier Blin 7.0.1-5mdv2008.0 -+ Revision: 76766 -- restore gcc options, wrongly modified in commit 69003 - -* Sun Aug 26 2007 Anssi Hannula 7.0.1-4mdv2008.0 -+ Revision: 71693 -- remove GL.conf alternative, moved to x11-server-common - -* Wed Aug 22 2007 Olivier Blin 7.0.1-3mdv2008.0 -+ Revision: 69061 -- fix glxinfo segfault with unichrome DRI (reported as upstream bug 12097) -- fix potential NULL dereference in unichrome (freedesktop bug 11879) - -* Tue Aug 07 2007 Olivier Blin 7.0.1-2mdv2008.0 -+ Revision: 59955 -- add support for Intel 965GME/GLE (from upstream git) -- add support for Intel G33, Q33, and Q35 chipsets (from upstream git) -- add support for Intel 945GME (from upstream git) -- build with -fno-tree-vrp to fix r300 misrenderings/freezes -- re-enable parallel build - -* Mon Aug 06 2007 Thierry Vignaud 7.0.1-1mdv2008.0 -+ Revision: 59341 -- new release - -* Tue Jun 26 2007 Gustavo Pichorim Boiko 7.0-1mdv2008.0 -+ Revision: 44280 -- New upstream release: 7.0 -- Redid patches linux-dri-config and radeon-0depthbits -- Removed patch: google_earth: there is a DRI runtime config option to configure - the fallback checking. - -* Thu Jun 07 2007 Tomasz Pawel Gajc 6.5.3-2mdv2008.0 -+ Revision: 36911 -- rebuild for expat - -* Fri May 04 2007 Colin Guthrie 6.5.3-1mdv2008.0 -+ Revision: 22173 -- Enable i915tex driver (needs new drm/kernel bits to activate) - - + Gustavo Pichorim Boiko - - New upstream release: 6.5.3 - -* Tue Apr 17 2007 Gustavo Pichorim Boiko 6.5.2-8mdv2008.0 -+ Revision: 13910 -- Fix some texture data corruption - - -* Fri Mar 30 2007 Gustavo Pichorim Boiko 6.5.2-7mdv2007.1 -+ Revision: 149942 -- Fix moving DRI windows on Matrox cards - -* Wed Mar 14 2007 Gustavo Pichorim Boiko 6.5.2-6mdv2007.1 -+ Revision: 143503 -- check for the context to be valid before using it (probably fixes #29089) - - + Gwenole Beauchesne - - ppc64 fixes - -* Wed Jan 10 2007 Colin Guthrie 6.5.2-4mdv2007.1 -+ Revision: 106878 -- Fix demo builds on x86_64 -- Fix BuildRequires -- Just use a linux-dri target for all architectures. This restores the effects of ARCH_FLAGS so this part has been reverted too. -- Build against new glproto (1.4.8) -- Add -fno-strict-aliasing to build flags as recommended by Mesa developers -- Make Mesa build system understand some extra build flags - -* Tue Dec 26 2006 Gustavo Pichorim Boiko 6.5.2-1mdv2007.1 -+ Revision: 102110 -- It seems parallel building is not as good as I thought it was -- new upstream version (6.5.2) -- Re-added a patch removing an incomplete extension -- new upstream version: 6.5.1 - Highlights of this version: - * Intel i965 support - * New OpenGL extensions added - * New demo program: engine - * Many fixes and improvements in drivers - -* Sun Sep 17 2006 Olivier Blin 6.5-17mdv2007.0 -+ Revision: 61745 -- fix crash with null context (#25555) - - + Gwenole Beauchesne - - use update-alternatives - -* Wed Sep 13 2006 Olivier Blin 6.5-15mdv2007.0 -+ Revision: 60951 -- copy libGL files in _libdir/mesa instead of hardlink them (anyway, the stripping broke the hardlink), or else a rpm weirdness prevents libGL.so.1 from being there (#25553) - -* Fri Sep 08 2006 Olivier Blin 6.5-14mdv2007.0 -+ Revision: 60557 -- hardlink libGL files in _libdir/mesa to prevent proprietary driver installers from removing them - -* Tue Sep 05 2006 Gustavo Pichorim Boiko 6.5-13mdv2007.0 -+ Revision: 59842 -- Add support for DRI on Intel i965 - -* Thu Aug 31 2006 Gustavo Pichorim Boiko 6.5-12mdv2007.0 -+ Revision: 58895 -- enable tdfx for x86 and x86_64 - -* Fri Aug 25 2006 Olivier Blin 6.5-11mdv2007.0 -+ Revision: 57986 -- ensure all GART allocations are freed on context destruction (r300) -- rediff Patch44, and really apply it (GL may finally work on r300 PCIE) - -* Sat Aug 19 2006 Olivier Blin 6.5-10mdv2007.0 -+ Revision: 56829 -- mesa-6.5-10mdv2007.0 -- fix r300 on PCIE (glxinfo now works, but GL apps still make the X server crash) - -* Sat Aug 12 2006 Olivier Blin 6.5-9mdv2007.0 -+ Revision: 55526 -- make sure mesa-source-file-generator is executable -- make sure mesa-driver-install can be executed -- bump release -- add missing glxext.c bits in old mesa-6.5-tfp-fbconfig-attribs.patch -- rename last mesa-6.5-texture-from-pixmap-fixes.patch bits as mesa-6.5-no-ARB_render_texture.patch -- move texture_from_pixmap tokens patch in mesa-6.5-texture_from_pixmap_tokens.patch -- move tfp_entrypoints patch in mesa-6.5-tfp_entrypoints.patch (and use upstream CVS diff) -- Add attrib_list to glXBindTexImageEXT -- remove attribList from glXBindTexImageEXT prototype, it breaks the extension because of incomplete implementation - -* Fri Aug 04 2006 Gustavo Pichorim Boiko 6.5-8mdv2007.0 -+ Revision: 48074 -- remove remaining menu references -- Removed old menu entries from mesa demos. -- disable some checks making Google Earth work on r300 cards (#23854) -- Fixed a typo in previous commit -- There is no i830 -- Added provides for the old mesa glu and glut devel packages (#22551) -- Many fixes for linux-dri (thanks Christiaan Welvaart) -- Enable r300 installation -- Added a more recente texture-from-pixmap-fixes patch -- Added two more patches fixing the tfp extension -- rebuild to fix compilation on x86_64 -- compile mesa xdemos (glxinfo and glxgears are back). -- put a brief comment for the patches -- Adding some patches (thanks S?\195?\131?\194?\169bastien savari): - * Fix the texture from pixmap extension implementation - * Enable r300 support (it is experimental yet) - * static inline functions are broken on some architetures - * no exec stack for ELF - * in some cases radeon may have 0 bits depth -- Added initial EGL support to the package (I left it disabled for now as it - seems some header files are still missing) -- new upstream release: 6.5 -- added a patch fixing the path where dri modules are in. -- moved old changelog to ../misc -- fixed some dependencies -- adding an updated mesa prepared to be used by the X.org 7.0 - - + Per Øyvind Karlsen - - include %%{_includedir}/GL/svgamesa.h on %%{sunsparc} - - add list of dri drivers to build on sparc - indent - fix path to demos in menu item - - + Thierry Vignaud - - fix build (parallel build is broken) - - better description of GLw too - - better description of GLU and GLUT - - + Christiaan Welvaart - - fix build for ppc: do not build sis by using linux-dri-ppc make target - - Fix build on ppc by adding svgamesa.h to filelist - - + Helio Chissini de Castro - - Added compile fix patch for x86_64 by Thierry Vignaud - - + Andreas Hasenack - - renamed mdv to packages because mdv is too generic and it's hosting only packages anyway - -* Wed Oct 05 2005 Gwenole Beauchesne 5.0.2-12mdk -- merge ppc64 build fixes from older branch - -* Wed Aug 17 2005 Gwenole Beauchesne 5.0.2-11mdk -- adapt rpath patch for libtool 1.5.18 - -* Fri Aug 05 2005 Gwenole Beauchesne 5.0.2-10mdk -- gcc4 fixes -- remove obsolete libGLU hack - -* Thu Feb 10 2005 Gwenole Beauchesne 5.0.2-9mdk -- libtool fixes - -* Sat Sep 18 2004 Gwenole Beauchesne 5.0.2-8mdk -- use libtool 1.4 for now - -* Sat Aug 21 2004 Christiaan Welvaart 5.0.2-7mdk -- add BuildRequires: automake1.4 -- remove packager tag - -* Tue Aug 17 2004 Laurent MONTEL 5.0.2-6mdk -- Rebuild with new menu - -* Fri Jun 11 2004 Laurent MONTEL 5.0.2-5mdk -- Rebuild -- Reapply patch1 - -* Fri Jun 04 2004 Laurent Montel 5.0.2-4mdk -- Rebuild again new gcc - -* Fri Jun 04 2004 Laurent Montel 5.0.2-3mdk -- Fix build against gcc 3.4 -- Add patch to nuke unpackaged files (patch from Gb) diff --git a/nv50-nvc0-use-screen-instead-of-context-for-flush-notifier.patch b/nv50-nvc0-use-screen-instead-of-context-for-flush-notifier.patch deleted file mode 100644 index e118e51..0000000 --- a/nv50-nvc0-use-screen-instead-of-context-for-flush-notifier.patch +++ /dev/null @@ -1,222 +0,0 @@ -From 3069a7eaa5d83e7f41616347ba244c0dc0d944ae Mon Sep 17 00:00:00 2001 -From: Christoph Bumiller -Date: Thu, 07 Jul 2011 12:58:29 +0000 -Subject: nv50,nvc0: use screen instead of context for flush notifier - -Context may become NULL and we still have to be able to flush -pending fences. ---- -diff --git a/src/gallium/drivers/nv50/nv50_context.c b/src/gallium/drivers/nv50/nv50_context.c -index ceb83f6..ac3e361 100644 ---- a/src/gallium/drivers/nv50/nv50_context.c -+++ b/src/gallium/drivers/nv50/nv50_context.c -@@ -60,13 +60,13 @@ nv50_texture_barrier(struct pipe_context *pipe) - void - nv50_default_flush_notify(struct nouveau_channel *chan) - { -- struct nv50_context *nv50 = chan->user_private; -+ struct nv50_screen *screen = chan->user_private; - -- if (!nv50) -+ if (!screen) - return; - -- nouveau_fence_update(&nv50->screen->base, TRUE); -- nouveau_fence_next(&nv50->screen->base); -+ nouveau_fence_update(&screen->base, TRUE); -+ nouveau_fence_next(&screen->base); - } - - static void -@@ -100,10 +100,8 @@ nv50_destroy(struct pipe_context *pipe) - - draw_destroy(nv50->draw); - -- if (nv50->screen->cur_ctx == nv50) { -- nv50->screen->base.channel->user_private = NULL; -+ if (nv50->screen->cur_ctx == nv50) - nv50->screen->cur_ctx = NULL; -- } - - FREE(nv50); - } -@@ -140,7 +138,6 @@ nv50_create(struct pipe_screen *pscreen, void *priv) - - if (!screen->cur_ctx) - screen->cur_ctx = nv50; -- screen->base.channel->user_private = nv50; - screen->base.channel->flush_notify = nv50_default_flush_notify; - - nv50_init_query_functions(nv50); -diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c -index cc921d0..4cda303 100644 ---- a/src/gallium/drivers/nv50/nv50_screen.c -+++ b/src/gallium/drivers/nv50/nv50_screen.c -@@ -215,6 +215,7 @@ nv50_screen_destroy(struct pipe_screen *pscreen) - nouveau_fence_wait(screen->base.fence.current); - nouveau_fence_ref (NULL, &screen->base.fence.current); - } -+ screen->base.channel->user_private = NULL; - - nouveau_bo_ref(NULL, &screen->code); - nouveau_bo_ref(NULL, &screen->tls_bo); -@@ -300,6 +301,7 @@ nv50_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev) - FAIL_SCREEN_INIT("nouveau_screen_init failed: %d\n", ret); - - chan = screen->base.channel; -+ chan->user_private = screen; - - pscreen->winsys = ws; - pscreen->destroy = nv50_screen_destroy; -diff --git a/src/gallium/drivers/nv50/nv50_state_validate.c b/src/gallium/drivers/nv50/nv50_state_validate.c -index 11561f5..d29c1e9 100644 ---- a/src/gallium/drivers/nv50/nv50_state_validate.c -+++ b/src/gallium/drivers/nv50/nv50_state_validate.c -@@ -282,8 +282,7 @@ nv50_switch_pipe_context(struct nv50_context *ctx_to) - if (!ctx_to->zsa) - ctx_to->dirty &= ~NV50_NEW_ZSA; - -- ctx_to->screen->base.channel->user_private = ctx_to->screen->cur_ctx = -- ctx_to; -+ ctx_to->screen->cur_ctx = ctx_to; - } - - static struct state_validate { -diff --git a/src/gallium/drivers/nv50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c -index bb08941..f23008a 100644 ---- a/src/gallium/drivers/nv50/nv50_vbo.c -+++ b/src/gallium/drivers/nv50/nv50_vbo.c -@@ -389,11 +389,11 @@ nv50_prim_gl(unsigned prim) - static void - nv50_draw_vbo_flush_notify(struct nouveau_channel *chan) - { -- struct nv50_context *nv50 = chan->user_private; -+ struct nv50_screen *screen = chan->user_private; - -- nouveau_fence_update(&nv50->screen->base, TRUE); -+ nouveau_fence_update(&screen->base, TRUE); - -- nv50_bufctx_emit_relocs(nv50); -+ nv50_bufctx_emit_relocs(screen->cur_ctx); - } - - static void -@@ -650,7 +650,6 @@ nv50_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) - nv50_state_validate(nv50); - - chan->flush_notify = nv50_draw_vbo_flush_notify; -- chan->user_private = nv50; - - if (nv50->vbo_fifo) { - nv50_push_vbo(nv50, info); -diff --git a/src/gallium/drivers/nvc0/nvc0_context.c b/src/gallium/drivers/nvc0/nvc0_context.c -index 2679b7f..983db23 100644 ---- a/src/gallium/drivers/nvc0/nvc0_context.c -+++ b/src/gallium/drivers/nvc0/nvc0_context.c -@@ -89,10 +89,8 @@ nvc0_destroy(struct pipe_context *pipe) - - draw_destroy(nvc0->draw); - -- if (nvc0->screen->cur_ctx == nvc0) { -- nvc0->screen->base.channel->user_private = NULL; -+ if (nvc0->screen->cur_ctx == nvc0) - nvc0->screen->cur_ctx = NULL; -- } - - FREE(nvc0); - } -@@ -100,13 +98,13 @@ nvc0_destroy(struct pipe_context *pipe) - void - nvc0_default_flush_notify(struct nouveau_channel *chan) - { -- struct nvc0_context *nvc0 = chan->user_private; -+ struct nvc0_screen *screen = chan->user_private; - -- if (!nvc0) -+ if (!screen) - return; - -- nouveau_fence_update(&nvc0->screen->base, TRUE); -- nouveau_fence_next(&nvc0->screen->base); -+ nouveau_fence_update(&screen->base, TRUE); -+ nouveau_fence_next(&screen->base); - } - - struct pipe_context * -@@ -141,7 +139,6 @@ nvc0_create(struct pipe_screen *pscreen, void *priv) - - if (!screen->cur_ctx) - screen->cur_ctx = nvc0; -- screen->base.channel->user_private = nvc0; - screen->base.channel->flush_notify = nvc0_default_flush_notify; - - nvc0_init_query_functions(nvc0); -diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c -index 34bf0f0..1bd7fa9 100644 ---- a/src/gallium/drivers/nvc0/nvc0_screen.c -+++ b/src/gallium/drivers/nvc0/nvc0_screen.c -@@ -198,8 +198,11 @@ nvc0_screen_destroy(struct pipe_screen *pscreen) - { - struct nvc0_screen *screen = nvc0_screen(pscreen); - -- nouveau_fence_wait(screen->base.fence.current); -- nouveau_fence_ref(NULL, &screen->base.fence.current); -+ if (screen->base.fence.current) { -+ nouveau_fence_wait(screen->base.fence.current); -+ nouveau_fence_ref(NULL, &screen->base.fence.current); -+ } -+ screen->base.channel->user_private = NULL; - - nouveau_bo_ref(NULL, &screen->text); - nouveau_bo_ref(NULL, &screen->tls); -@@ -358,6 +361,7 @@ nvc0_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev) - return NULL; - } - chan = screen->base.channel; -+ chan->user_private = screen; - - pscreen->winsys = ws; - pscreen->destroy = nvc0_screen_destroy; -diff --git a/src/gallium/drivers/nvc0/nvc0_state_validate.c b/src/gallium/drivers/nvc0/nvc0_state_validate.c -index 9b2a281..f300f37 100644 ---- a/src/gallium/drivers/nvc0/nvc0_state_validate.c -+++ b/src/gallium/drivers/nvc0/nvc0_state_validate.c -@@ -428,8 +428,7 @@ nvc0_switch_pipe_context(struct nvc0_context *ctx_to) - if (!ctx_to->zsa) - ctx_to->dirty &= ~NVC0_NEW_ZSA; - -- ctx_to->screen->base.channel->user_private = ctx_to->screen->cur_ctx = -- ctx_to; -+ ctx_to->screen->cur_ctx = ctx_to; - } - - static struct state_validate { -diff --git a/src/gallium/drivers/nvc0/nvc0_vbo.c b/src/gallium/drivers/nvc0/nvc0_vbo.c -index 4107910..8a5bf8d 100644 ---- a/src/gallium/drivers/nvc0/nvc0_vbo.c -+++ b/src/gallium/drivers/nvc0/nvc0_vbo.c -@@ -367,11 +367,11 @@ nvc0_prim_gl(unsigned prim) - static void - nvc0_draw_vbo_flush_notify(struct nouveau_channel *chan) - { -- struct nvc0_context *nvc0 = chan->user_private; -+ struct nvc0_screen *screen = chan->user_private; - -- nouveau_fence_update(&nvc0->screen->base, TRUE); -+ nouveau_fence_update(&screen->base, TRUE); - -- nvc0_bufctx_emit_relocs(nvc0); -+ nvc0_bufctx_emit_relocs(screen->cur_ctx); - } - - static void -@@ -587,7 +587,6 @@ nvc0_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) - nvc0_state_validate(nvc0); - - chan->flush_notify = nvc0_draw_vbo_flush_notify; -- chan->user_private = nvc0; - - if (nvc0->vbo_fifo) { - nvc0_push_vbo(nvc0, info); --- -cgit v0.9.0.2-2-gbebe