Ticket #9814: haiku-hgl.2.diff

File haiku-hgl.2.diff, 8.2 KB (added by kallisti5, 11 years ago)

revision 2, changes for Mesa 9.2

  • build/jam/BuildFeatures

    diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures
    index cb38b6b..36fb22b 100644
    a b if $(HAIKU_BUILD_FEATURE_CLUCENE) {  
    203203}
    204204
    205205
    206 # LLVM
    207 if $(TARGET_ARCH) = x86 {
    208     if $(HAIKU_GCC_VERSION[1]) >= 4 {
    209         HAIKU_LLVM_FILE = llvm-3.2-x86-gcc4-2012-12-21.zip ;
    210         local zipFile = [ DownloadFile $(HAIKU_LLVM_FILE)
    211             : $(baseURL)/$(HAIKU_LLVM_FILE) ] ;
    212 
    213         HAIKU_LLVM_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
    214             $(HAIKU_LLVM_FILE:B) ] ;
    215 
    216         HAIKU_LLVM_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LLVM_DIR)
    217             : common/include/ : $(zipFile) : extracted-llvm ] ;
    218         HAIKU_LLVM_HEADERS = [ FDirName $(HAIKU_LLVM_DIR) common include ] ;
    219 
    220         # We can't Glob these because they aren't extracted yet.
    221         HAIKU_LLVM_LIBS = [ ExtractArchive $(HAIKU_LLVM_DIR)
    222             :
    223             common/lib/libLLVMAsmParser.a
    224             common/lib/libLLVMInstrumentation.a
    225             common/lib/libLLVMLinker.a
    226             common/lib/libLLVMArchive.a
    227             common/lib/libLLVMBitReader.a
    228             common/lib/libLLVMDebugInfo.a
    229             common/lib/libLLVMJIT.a
    230             common/lib/libLLVMipo.a
    231             common/lib/libLLVMVectorize.a
    232             common/lib/libLLVMBitWriter.a
    233             common/lib/libLLVMTableGen.a
    234             #common/lib/libLLVMHexagonCodeGen.a
    235             #common/lib/libLLVMHexagonAsmPrinter.a
    236             #common/lib/libLLVMHexagonDesc.a
    237             #common/lib/libLLVMHexagonInfo.a
    238             #common/lib/libLLVMNVPTXCodeGen.a
    239             #common/lib/libLLVMNVPTXDesc.a
    240             #common/lib/libLLVMNVPTXInfo.a
    241             #common/lib/libLLVMNVPTXAsmPrinter.a
    242             #common/lib/libLLVMMBlazeCodeGen.a
    243             #common/lib/libLLVMMBlazeAsmParser.a
    244             #common/lib/libLLVMMBlazeDisassembler.a
    245             #common/lib/libLLVMMBlazeDesc.a
    246             #common/lib/libLLVMMBlazeInfo.a
    247             #common/lib/libLLVMMBlazeAsmPrinter.a
    248             common/lib/libLLVMCppBackendCodeGen.a
    249             common/lib/libLLVMCppBackendInfo.a
    250             #common/lib/libLLVMMSP430CodeGen.a
    251             #common/lib/libLLVMMSP430Desc.a
    252             #common/lib/libLLVMMSP430AsmPrinter.a
    253             #common/lib/libLLVMMSP430Info.a
    254             #common/lib/libLLVMXCoreCodeGen.a
    255             #common/lib/libLLVMXCoreDesc.a
    256             #common/lib/libLLVMXCoreInfo.a
    257             #common/lib/libLLVMCellSPUCodeGen.a
    258             #common/lib/libLLVMCellSPUDesc.a
    259             #common/lib/libLLVMCellSPUInfo.a
    260             #common/lib/libLLVMMipsAsmParser.a
    261             #common/lib/libLLVMMipsCodeGen.a
    262             #common/lib/libLLVMMipsDesc.a
    263             #common/lib/libLLVMMipsAsmPrinter.a
    264             #common/lib/libLLVMMipsDisassembler.a
    265             #common/lib/libLLVMMipsInfo.a
    266             #common/lib/libLLVMARMAsmParser.a
    267             #common/lib/libLLVMARMCodeGen.a
    268             #common/lib/libLLVMARMDisassembler.a
    269             #common/lib/libLLVMARMDesc.a
    270             #common/lib/libLLVMARMInfo.a
    271             #common/lib/libLLVMARMAsmPrinter.a
    272             #common/lib/libLLVMPowerPCCodeGen.a
    273             #common/lib/libLLVMPowerPCDesc.a
    274             #common/lib/libLLVMPowerPCInfo.a
    275             #common/lib/libLLVMPowerPCAsmPrinter.a
    276             #common/lib/libLLVMSparcCodeGen.a
    277             #common/lib/libLLVMSparcDesc.a
    278             #common/lib/libLLVMSparcInfo.a
    279             common/lib/libLLVMX86AsmParser.a
    280             common/lib/libLLVMX86CodeGen.a
    281             common/lib/libLLVMSelectionDAG.a
    282             common/lib/libLLVMAsmPrinter.a
    283             common/lib/libLLVMX86Disassembler.a
    284             common/lib/libLLVMX86Desc.a
    285             common/lib/libLLVMX86Info.a
    286             common/lib/libLLVMX86AsmPrinter.a
    287             common/lib/libLLVMX86Utils.a
    288             common/lib/libLLVMMCDisassembler.a
    289             common/lib/libLLVMMCParser.a
    290             common/lib/libLLVMInterpreter.a
    291             common/lib/libLLVMCodeGen.a
    292             common/lib/libLLVMScalarOpts.a
    293             common/lib/libLLVMInstCombine.a
    294             common/lib/libLLVMTransformUtils.a
    295             common/lib/libLLVMipa.a
    296             common/lib/libLLVMAnalysis.a
    297             common/lib/libLLVMMCJIT.a
    298             common/lib/libLLVMRuntimeDyld.a
    299             common/lib/libLLVMExecutionEngine.a
    300             common/lib/libLLVMTarget.a
    301             common/lib/libLLVMMC.a
    302             common/lib/libLLVMObject.a
    303             common/lib/libLLVMCore.a
    304             common/lib/libLLVMSupport.a
    305             : $(zipFile) : extracted-llvm ]
    306         ;
    307 
    308         EnableBuildFeatures llvm ;
    309     } else {
    310         # Nor will it ever be
    311         Echo "LLVM not available on GCC2" ;
    312     }
    313 } else {
    314     Echo "LLVM not yet available on $(TARGET_ARCH)" ;
    315 }
    316 
    317 
    318206# GLU (GL Utilities)
    319207if $(TARGET_ARCH) = x86 {
    320208    if $(HAIKU_GCC_VERSION[1]) >= 4 {
    if $(TARGET_ARCH) = x86 {  
    344232if $(TARGET_ARCH) = x86 {
    345233    local zipFile ;
    346234    if $(HAIKU_GCC_VERSION[1]) >= 4 {
    347         HAIKU_MESA_FILE = mesa-9.1.1-x86-gcc4-2013-04-27.zip ;
     235        #HAIKU_MESA_FILE = mesa-9.1.1-x86-gcc4-2013-04-27.zip ;
     236        HAIKU_MESA_FILE = mesa-9.2rc-x86dbg-gcc4-2013-08-14.zip ;
    348237    } else {
    349238        HAIKU_MESA_FILE = mesa-7.8.2-x86-gcc2-2013-04-28.zip ;
    350239    }
    if $(TARGET_ARCH) = x86 {  
    386275            lib.haiku/libgallium.a
    387276            : $(zipFile)
    388277            : extracted-mesa ] ;
    389 
    390         if FIsBuildFeatureEnabled(llvm) {
    391             HAIKU_GALLIUM_LLVMPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
    392                 :
    393                 lib.haiku/libllvmpipe.a
    394                 : $(zipFile)
    395                 : extracted-mesa ] ;
    396             Depends $(HAIKU_GALLIUM_LLVMPIPE_LIB) : $(HAIKU_LLVM_LIBS) ;
    397         } else {
    398             HAIKU_GALLIUM_SOFTPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
    399                 :
    400                 lib.haiku/libsoftpipe.a
    401                 : $(zipFile)
    402                 : extracted-mesa ] ;
    403         }
     278        HAIKU_GALLIUM_SWPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
     279            :
     280            lib.haiku/swpipe_bundle.a
     281            : $(zipFile)
     282            : extracted-mesa ] ;
    404283    }
    405284
    406285    EnableBuildFeatures mesa ;
  • src/add-ons/opengl/swpipe/Jamfile

    diff --git a/src/add-ons/opengl/swpipe/Jamfile b/src/add-ons/opengl/swpipe/Jamfile
    index 01b3a9a..fc8b9f1 100644
    a b UseHeaders [ FDirName $(HAIKU_MESA_DIR) src mesa ] ;  
    2020
    2121AddResources Software\ Renderer : SoftwareRenderer.rdef ;
    2222
    23 if FIsBuildFeatureEnabled(llvm) {
    24     Depends Software\ Renderer : $(HAIKU_LLVM_HEADERS_DEPENDENCY) ;
    25     SubDirC++Flags [ FDefines HAVE_LLVM=0x0302 ] ;
    26 }
     23SubDirC++Flags [ FDefines HAVE_LLVM=0x0302 ] ;
    2724
    28 # LLVM Pipe enabled Gallium Software Renderer
    29 #   Requires:
    30 #     - LLVM optional package
    31 #     - Mesa optional package compiled with LLVM installed
    32 # SoftPipe enabled Gallium Software Renderer
    33 #    Requires:
    34 #     - Mesa optional package compiled *without* LLVM installed
    3525Addon Software\ Renderer :
    3626    $(sources)
    3727    :
    3828    libGL.so
    39     $(HAIKU_GALLIUM_SOFTPIPE_LIB)
    40     $(HAIKU_GALLIUM_LLVMPIPE_LIB)
     29    $(HAIKU_GALLIUM_SWPIPE_LIB)
    4130    $(HAIKU_MESA_LIB)
    4231    $(HAIKU_GLSL_LIB)
    4332    $(HAIKU_GALLIUM_LIB)
    44     $(HAIKU_LLVM_LIBS)
    4533    be translation stdc++ $(TARGET_LIBSUPC++)
    4634;
  • src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp

    diff --git a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp
    index bfa526a..79ef48c 100644
    a b MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, ulong options,  
    111111    functions.GetString = _GetString;
    112112    functions.UpdateState = _UpdateState;
    113113    functions.MapRenderbuffer = _RenderBufferMap;
    114     functions.GetBufferSize = NULL;
    115     functions.Error = _Error;
    116114    functions.Flush = _Flush;
    117115
    118116    // create core context
    MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, ulong options,  
    137135
    138136    _mesa_meta_init(fContext);
    139137    _mesa_enable_sw_extensions(fContext);
    140     _mesa_enable_1_3_extensions(fContext);
    141     _mesa_enable_1_4_extensions(fContext);
    142     _mesa_enable_1_5_extensions(fContext);
    143     _mesa_enable_2_0_extensions(fContext);
    144     _mesa_enable_2_1_extensions(fContext);
    145 
    146138    _mesa_compute_version(fContext);
    147139
    148140    _mesa_initialize_dispatch_tables(fContext);
    MesaSoftwareRenderer::_AllocateBitmap()  
    465457// #pragma mark - static
    466458
    467459
    468 void
    469 MesaSoftwareRenderer::_Error(gl_context* ctx)
    470 {
    471     CALLED();
    472     #if 0
    473     // TODO: err. Mesa dropped DriverCtx
    474     MesaSoftwareRenderer* mr = (MesaSoftwareRenderer*)ctx->DriverCtx;
    475     if (mr && mr->GLView())
    476         mr->GLView()->ErrorCallback((unsigned long)ctx->ErrorValue);
    477     #endif
    478 }
    479 
    480 
    481460const GLubyte*
    482461MesaSoftwareRenderer::_GetString(gl_context* ctx, GLenum name)
    483462{
  • src/add-ons/opengl/swrast/MesaSoftwareRenderer.h

    diff --git a/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h b/src/add-ons/opengl/swrast/MesaSoftwareRenderer.h
    index ba64751..370a2a5 100644
    a b public:  
    4444    virtual void            DirectConnected(direct_buffer_info* info);
    4545
    4646private:
    47     static  void            _Error(gl_context* ctx);
    4847    static  const GLubyte*  _GetString(gl_context* ctx, GLenum name);
    4948            void            _CheckResize(GLuint newWidth, GLuint newHeight);
    5049    static  void            _UpdateState(gl_context* ctx, GLuint newState);