[haiku-commits] haiku: hrev45997 - build/jam src/add-ons/opengl/swpipe src/add-ons/opengl/swrast

  • From: kallisti5@xxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 28 Aug 2013 23:19:31 +0200 (CEST)

hrev45997 adds 1 changeset to branch 'master'
old head: f0aee2b4eada98685b09a8b1f504f3a97ac9a18f
new head: 8f7f28a7c3db28711920ad5d15df401fae90bcf1
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=8f7f28a+%5Ef0aee2b

----------------------------------------------------------------------------

8f7f28a: OpenGL: Upgrade to Mesa 9.2
  
  * The needed LLVM libraries are now within
    the Mesa optional build package.
  * The swpipe renderer needs some work still
    and will likey change, swrast is fully
    functional.

                          [ Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev45997
Commit:      8f7f28a7c3db28711920ad5d15df401fae90bcf1
URL:         http://cgit.haiku-os.org/haiku/commit/?id=8f7f28a
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Wed Aug 28 21:18:44 2013 UTC

----------------------------------------------------------------------------

4 files changed, 8 insertions(+), 164 deletions(-)
build/jam/BuildFeatures                          | 134 +------------------
src/add-ons/opengl/swpipe/Jamfile                |  16 +--
.../opengl/swrast/MesaSoftwareRenderer.cpp       |  21 ---
src/add-ons/opengl/swrast/MesaSoftwareRenderer.h |   1 -

----------------------------------------------------------------------------

diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures
index cb38b6b..ced5db2 100644
--- a/build/jam/BuildFeatures
+++ b/build/jam/BuildFeatures
@@ -203,118 +203,6 @@ if $(HAIKU_BUILD_FEATURE_CLUCENE) {
 }
 
 
-# LLVM
-if $(TARGET_ARCH) = x86 {
-       if $(HAIKU_GCC_VERSION[1]) >= 4 {
-               HAIKU_LLVM_FILE = llvm-3.2-x86-gcc4-2012-12-21.zip ;
-               local zipFile = [ DownloadFile $(HAIKU_LLVM_FILE)
-                       : $(baseURL)/$(HAIKU_LLVM_FILE) ] ;
-
-               HAIKU_LLVM_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
-                       $(HAIKU_LLVM_FILE:B) ] ;
-
-               HAIKU_LLVM_HEADERS_DEPENDENCY = [ ExtractArchive 
$(HAIKU_LLVM_DIR)
-                       : common/include/ : $(zipFile) : extracted-llvm ] ;
-               HAIKU_LLVM_HEADERS = [ FDirName $(HAIKU_LLVM_DIR) common 
include ] ;
-
-               # We can't Glob these because they aren't extracted yet.
-               HAIKU_LLVM_LIBS = [ ExtractArchive $(HAIKU_LLVM_DIR)
-                       :
-                       common/lib/libLLVMAsmParser.a
-                       common/lib/libLLVMInstrumentation.a
-                       common/lib/libLLVMLinker.a
-                       common/lib/libLLVMArchive.a
-                       common/lib/libLLVMBitReader.a
-                       common/lib/libLLVMDebugInfo.a
-                       common/lib/libLLVMJIT.a
-                       common/lib/libLLVMipo.a
-                       common/lib/libLLVMVectorize.a
-                       common/lib/libLLVMBitWriter.a
-                       common/lib/libLLVMTableGen.a
-                       #common/lib/libLLVMHexagonCodeGen.a
-                       #common/lib/libLLVMHexagonAsmPrinter.a
-                       #common/lib/libLLVMHexagonDesc.a
-                       #common/lib/libLLVMHexagonInfo.a
-                       #common/lib/libLLVMNVPTXCodeGen.a
-                       #common/lib/libLLVMNVPTXDesc.a
-                       #common/lib/libLLVMNVPTXInfo.a
-                       #common/lib/libLLVMNVPTXAsmPrinter.a
-                       #common/lib/libLLVMMBlazeCodeGen.a
-                       #common/lib/libLLVMMBlazeAsmParser.a
-                       #common/lib/libLLVMMBlazeDisassembler.a
-                       #common/lib/libLLVMMBlazeDesc.a
-                       #common/lib/libLLVMMBlazeInfo.a
-                       #common/lib/libLLVMMBlazeAsmPrinter.a
-                       common/lib/libLLVMCppBackendCodeGen.a
-                       common/lib/libLLVMCppBackendInfo.a
-                       #common/lib/libLLVMMSP430CodeGen.a
-                       #common/lib/libLLVMMSP430Desc.a
-                       #common/lib/libLLVMMSP430AsmPrinter.a
-                       #common/lib/libLLVMMSP430Info.a
-                       #common/lib/libLLVMXCoreCodeGen.a
-                       #common/lib/libLLVMXCoreDesc.a
-                       #common/lib/libLLVMXCoreInfo.a
-                       #common/lib/libLLVMCellSPUCodeGen.a
-                       #common/lib/libLLVMCellSPUDesc.a
-                       #common/lib/libLLVMCellSPUInfo.a
-                       #common/lib/libLLVMMipsAsmParser.a
-                       #common/lib/libLLVMMipsCodeGen.a
-                       #common/lib/libLLVMMipsDesc.a
-                       #common/lib/libLLVMMipsAsmPrinter.a
-                       #common/lib/libLLVMMipsDisassembler.a
-                       #common/lib/libLLVMMipsInfo.a
-                       #common/lib/libLLVMARMAsmParser.a
-                       #common/lib/libLLVMARMCodeGen.a
-                       #common/lib/libLLVMARMDisassembler.a
-                       #common/lib/libLLVMARMDesc.a
-                       #common/lib/libLLVMARMInfo.a
-                       #common/lib/libLLVMARMAsmPrinter.a
-                       #common/lib/libLLVMPowerPCCodeGen.a
-                       #common/lib/libLLVMPowerPCDesc.a
-                       #common/lib/libLLVMPowerPCInfo.a
-                       #common/lib/libLLVMPowerPCAsmPrinter.a
-                       #common/lib/libLLVMSparcCodeGen.a
-                       #common/lib/libLLVMSparcDesc.a
-                       #common/lib/libLLVMSparcInfo.a
-                       common/lib/libLLVMX86AsmParser.a
-                       common/lib/libLLVMX86CodeGen.a
-                       common/lib/libLLVMSelectionDAG.a
-                       common/lib/libLLVMAsmPrinter.a
-                       common/lib/libLLVMX86Disassembler.a
-                       common/lib/libLLVMX86Desc.a
-                       common/lib/libLLVMX86Info.a
-                       common/lib/libLLVMX86AsmPrinter.a
-                       common/lib/libLLVMX86Utils.a
-                       common/lib/libLLVMMCDisassembler.a
-                       common/lib/libLLVMMCParser.a
-                       common/lib/libLLVMInterpreter.a
-                       common/lib/libLLVMCodeGen.a
-                       common/lib/libLLVMScalarOpts.a
-                       common/lib/libLLVMInstCombine.a
-                       common/lib/libLLVMTransformUtils.a
-                       common/lib/libLLVMipa.a
-                       common/lib/libLLVMAnalysis.a
-                       common/lib/libLLVMMCJIT.a
-                       common/lib/libLLVMRuntimeDyld.a
-                       common/lib/libLLVMExecutionEngine.a
-                       common/lib/libLLVMTarget.a
-                       common/lib/libLLVMMC.a
-                       common/lib/libLLVMObject.a
-                       common/lib/libLLVMCore.a
-                       common/lib/libLLVMSupport.a
-                       : $(zipFile) : extracted-llvm ]
-               ;
-
-               EnableBuildFeatures llvm ;
-       } else {
-               # Nor will it ever be
-               Echo "LLVM not available on GCC2" ;
-       }
-} else {
-       Echo "LLVM not yet available on $(TARGET_ARCH)" ;
-}
-
-
 # GLU (GL Utilities)
 if $(TARGET_ARCH) = x86 {
        if $(HAIKU_GCC_VERSION[1]) >= 4 {
@@ -344,7 +232,7 @@ if $(TARGET_ARCH) = x86 {
 if $(TARGET_ARCH) = x86 {
        local zipFile ;
        if $(HAIKU_GCC_VERSION[1]) >= 4 {
-               HAIKU_MESA_FILE = mesa-9.1.1-x86-gcc4-2013-04-27.zip ;
+               HAIKU_MESA_FILE = mesa-9.2.0-x86-gcc4-2013-08-28.zip ;
        } else {
                HAIKU_MESA_FILE = mesa-7.8.2-x86-gcc2-2013-04-28.zip ;
        }
@@ -386,21 +274,11 @@ if $(TARGET_ARCH) = x86 {
                        lib.haiku/libgallium.a
                        : $(zipFile)
                        : extracted-mesa ] ;
-
-               if FIsBuildFeatureEnabled(llvm) {
-                       HAIKU_GALLIUM_LLVMPIPE_LIB = [ ExtractArchive 
$(HAIKU_MESA_DIR)
-                               :
-                               lib.haiku/libllvmpipe.a
-                               : $(zipFile)
-                               : extracted-mesa ] ;
-                       Depends $(HAIKU_GALLIUM_LLVMPIPE_LIB) : 
$(HAIKU_LLVM_LIBS) ;
-               } else {
-                       HAIKU_GALLIUM_SOFTPIPE_LIB = [ ExtractArchive 
$(HAIKU_MESA_DIR)
-                               :
-                               lib.haiku/libsoftpipe.a
-                               : $(zipFile)
-                               : extracted-mesa ] ;
-               }
+               HAIKU_GALLIUM_SWPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
+                       :
+                       lib.haiku/swpipe_bundle.a
+                       : $(zipFile)
+                       : extracted-mesa ] ;
        }
 
        EnableBuildFeatures mesa ;
diff --git a/src/add-ons/opengl/swpipe/Jamfile 
b/src/add-ons/opengl/swpipe/Jamfile
index 01b3a9a..14084de 100644
--- a/src/add-ons/opengl/swpipe/Jamfile
+++ b/src/add-ons/opengl/swpipe/Jamfile
@@ -20,27 +20,15 @@ UseHeaders [ FDirName $(HAIKU_MESA_DIR) src mesa ] ;
 
 AddResources Software\ Renderer : SoftwareRenderer.rdef ;
 
-if FIsBuildFeatureEnabled(llvm) {
-       Depends Software\ Renderer : $(HAIKU_LLVM_HEADERS_DEPENDENCY) ;
-       SubDirC++Flags [ FDefines HAVE_LLVM=0x0302 ] ;
-}
+SubDirC++Flags -fno-rtti [ FDefines HAVE_LLVM=0x0302 ] ;
 
-# LLVM Pipe enabled Gallium Software Renderer
-#   Requires:
-#     - LLVM optional package
-#     - Mesa optional package compiled with LLVM installed
-# SoftPipe enabled Gallium Software Renderer
-#    Requires:
-#     - Mesa optional package compiled *without* LLVM installed
 Addon Software\ Renderer :
        $(sources)
        :
        libGL.so
-       $(HAIKU_GALLIUM_SOFTPIPE_LIB)
-       $(HAIKU_GALLIUM_LLVMPIPE_LIB)
+       $(HAIKU_GALLIUM_SWPIPE_LIB)
        $(HAIKU_MESA_LIB)
        $(HAIKU_GLSL_LIB)
        $(HAIKU_GALLIUM_LIB)
-       $(HAIKU_LLVM_LIBS)
        be translation stdc++ $(TARGET_LIBSUPC++)
 ;
diff --git a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp 
b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp
index bfa526a..79ef48c 100644
--- a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp
+++ b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp
@@ -111,8 +111,6 @@ MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, 
ulong options,
        functions.GetString = _GetString;
        functions.UpdateState = _UpdateState;
        functions.MapRenderbuffer = _RenderBufferMap;
-       functions.GetBufferSize = NULL;
-       functions.Error = _Error;
        functions.Flush = _Flush;
 
        // create core context
@@ -137,12 +135,6 @@ MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, 
ulong options,
 
        _mesa_meta_init(fContext);
        _mesa_enable_sw_extensions(fContext);
-       _mesa_enable_1_3_extensions(fContext);
-       _mesa_enable_1_4_extensions(fContext);
-       _mesa_enable_1_5_extensions(fContext);
-       _mesa_enable_2_0_extensions(fContext);
-       _mesa_enable_2_1_extensions(fContext);
-
        _mesa_compute_version(fContext);
 
        _mesa_initialize_dispatch_tables(fContext);
@@ -465,19 +457,6 @@ MesaSoftwareRenderer::_AllocateBitmap()
 // #pragma mark - static
 
 
-void
-MesaSoftwareRenderer::_Error(gl_context* ctx)
-{
-       CALLED();
-       #if 0
-       // TODO: err. Mesa dropped DriverCtx
-       MesaSoftwareRenderer* mr = (MesaSoftwareRenderer*)ctx->DriverCtx;
-       if (mr && mr->GLView())
-               mr->GLView()->ErrorCallback((unsigned long)ctx->ErrorValue);
-       #endif
-}
-
-
 const GLubyte*
 MesaSoftwareRenderer::_GetString(gl_context* ctx, GLenum name)
 {
diff --git a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h 
b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h
index ba64751..370a2a5 100644
--- a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h
+++ b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h
@@ -44,7 +44,6 @@ public:
        virtual void                    DirectConnected(direct_buffer_info* 
info);
 
 private:
-       static  void                    _Error(gl_context* ctx);
        static  const GLubyte*  _GetString(gl_context* ctx, GLenum name);
                        void                    _CheckResize(GLuint newWidth, 
GLuint newHeight);
        static  void                    _UpdateState(gl_context* ctx, GLuint 
newState);


Other related posts: