Ticket #9814: haiku-hgl.2.diff
File haiku-hgl.2.diff, 8.2 KB (added by , 11 years ago) |
---|
-
build/jam/BuildFeatures
diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures index cb38b6b..36fb22b 100644
a b if $(HAIKU_BUILD_FEATURE_CLUCENE) { 203 203 } 204 204 205 205 206 # LLVM207 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.a224 common/lib/libLLVMInstrumentation.a225 common/lib/libLLVMLinker.a226 common/lib/libLLVMArchive.a227 common/lib/libLLVMBitReader.a228 common/lib/libLLVMDebugInfo.a229 common/lib/libLLVMJIT.a230 common/lib/libLLVMipo.a231 common/lib/libLLVMVectorize.a232 common/lib/libLLVMBitWriter.a233 common/lib/libLLVMTableGen.a234 #common/lib/libLLVMHexagonCodeGen.a235 #common/lib/libLLVMHexagonAsmPrinter.a236 #common/lib/libLLVMHexagonDesc.a237 #common/lib/libLLVMHexagonInfo.a238 #common/lib/libLLVMNVPTXCodeGen.a239 #common/lib/libLLVMNVPTXDesc.a240 #common/lib/libLLVMNVPTXInfo.a241 #common/lib/libLLVMNVPTXAsmPrinter.a242 #common/lib/libLLVMMBlazeCodeGen.a243 #common/lib/libLLVMMBlazeAsmParser.a244 #common/lib/libLLVMMBlazeDisassembler.a245 #common/lib/libLLVMMBlazeDesc.a246 #common/lib/libLLVMMBlazeInfo.a247 #common/lib/libLLVMMBlazeAsmPrinter.a248 common/lib/libLLVMCppBackendCodeGen.a249 common/lib/libLLVMCppBackendInfo.a250 #common/lib/libLLVMMSP430CodeGen.a251 #common/lib/libLLVMMSP430Desc.a252 #common/lib/libLLVMMSP430AsmPrinter.a253 #common/lib/libLLVMMSP430Info.a254 #common/lib/libLLVMXCoreCodeGen.a255 #common/lib/libLLVMXCoreDesc.a256 #common/lib/libLLVMXCoreInfo.a257 #common/lib/libLLVMCellSPUCodeGen.a258 #common/lib/libLLVMCellSPUDesc.a259 #common/lib/libLLVMCellSPUInfo.a260 #common/lib/libLLVMMipsAsmParser.a261 #common/lib/libLLVMMipsCodeGen.a262 #common/lib/libLLVMMipsDesc.a263 #common/lib/libLLVMMipsAsmPrinter.a264 #common/lib/libLLVMMipsDisassembler.a265 #common/lib/libLLVMMipsInfo.a266 #common/lib/libLLVMARMAsmParser.a267 #common/lib/libLLVMARMCodeGen.a268 #common/lib/libLLVMARMDisassembler.a269 #common/lib/libLLVMARMDesc.a270 #common/lib/libLLVMARMInfo.a271 #common/lib/libLLVMARMAsmPrinter.a272 #common/lib/libLLVMPowerPCCodeGen.a273 #common/lib/libLLVMPowerPCDesc.a274 #common/lib/libLLVMPowerPCInfo.a275 #common/lib/libLLVMPowerPCAsmPrinter.a276 #common/lib/libLLVMSparcCodeGen.a277 #common/lib/libLLVMSparcDesc.a278 #common/lib/libLLVMSparcInfo.a279 common/lib/libLLVMX86AsmParser.a280 common/lib/libLLVMX86CodeGen.a281 common/lib/libLLVMSelectionDAG.a282 common/lib/libLLVMAsmPrinter.a283 common/lib/libLLVMX86Disassembler.a284 common/lib/libLLVMX86Desc.a285 common/lib/libLLVMX86Info.a286 common/lib/libLLVMX86AsmPrinter.a287 common/lib/libLLVMX86Utils.a288 common/lib/libLLVMMCDisassembler.a289 common/lib/libLLVMMCParser.a290 common/lib/libLLVMInterpreter.a291 common/lib/libLLVMCodeGen.a292 common/lib/libLLVMScalarOpts.a293 common/lib/libLLVMInstCombine.a294 common/lib/libLLVMTransformUtils.a295 common/lib/libLLVMipa.a296 common/lib/libLLVMAnalysis.a297 common/lib/libLLVMMCJIT.a298 common/lib/libLLVMRuntimeDyld.a299 common/lib/libLLVMExecutionEngine.a300 common/lib/libLLVMTarget.a301 common/lib/libLLVMMC.a302 common/lib/libLLVMObject.a303 common/lib/libLLVMCore.a304 common/lib/libLLVMSupport.a305 : $(zipFile) : extracted-llvm ]306 ;307 308 EnableBuildFeatures llvm ;309 } else {310 # Nor will it ever be311 Echo "LLVM not available on GCC2" ;312 }313 } else {314 Echo "LLVM not yet available on $(TARGET_ARCH)" ;315 }316 317 318 206 # GLU (GL Utilities) 319 207 if $(TARGET_ARCH) = x86 { 320 208 if $(HAIKU_GCC_VERSION[1]) >= 4 { … … if $(TARGET_ARCH) = x86 { 344 232 if $(TARGET_ARCH) = x86 { 345 233 local zipFile ; 346 234 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 ; 348 237 } else { 349 238 HAIKU_MESA_FILE = mesa-7.8.2-x86-gcc2-2013-04-28.zip ; 350 239 } … … if $(TARGET_ARCH) = x86 { 386 275 lib.haiku/libgallium.a 387 276 : $(zipFile) 388 277 : 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 ] ; 404 283 } 405 284 406 285 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 ] ; 20 20 21 21 AddResources Software\ Renderer : SoftwareRenderer.rdef ; 22 22 23 if FIsBuildFeatureEnabled(llvm) { 24 Depends Software\ Renderer : $(HAIKU_LLVM_HEADERS_DEPENDENCY) ; 25 SubDirC++Flags [ FDefines HAVE_LLVM=0x0302 ] ; 26 } 23 SubDirC++Flags [ FDefines HAVE_LLVM=0x0302 ] ; 27 24 28 # LLVM Pipe enabled Gallium Software Renderer29 # Requires:30 # - LLVM optional package31 # - Mesa optional package compiled with LLVM installed32 # SoftPipe enabled Gallium Software Renderer33 # Requires:34 # - Mesa optional package compiled *without* LLVM installed35 25 Addon Software\ Renderer : 36 26 $(sources) 37 27 : 38 28 libGL.so 39 $(HAIKU_GALLIUM_SOFTPIPE_LIB) 40 $(HAIKU_GALLIUM_LLVMPIPE_LIB) 29 $(HAIKU_GALLIUM_SWPIPE_LIB) 41 30 $(HAIKU_MESA_LIB) 42 31 $(HAIKU_GLSL_LIB) 43 32 $(HAIKU_GALLIUM_LIB) 44 $(HAIKU_LLVM_LIBS)45 33 be translation stdc++ $(TARGET_LIBSUPC++) 46 34 ; -
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, 111 111 functions.GetString = _GetString; 112 112 functions.UpdateState = _UpdateState; 113 113 functions.MapRenderbuffer = _RenderBufferMap; 114 functions.GetBufferSize = NULL;115 functions.Error = _Error;116 114 functions.Flush = _Flush; 117 115 118 116 // create core context … … MesaSoftwareRenderer::MesaSoftwareRenderer(BGLView* view, ulong options, 137 135 138 136 _mesa_meta_init(fContext); 139 137 _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 146 138 _mesa_compute_version(fContext); 147 139 148 140 _mesa_initialize_dispatch_tables(fContext); … … MesaSoftwareRenderer::_AllocateBitmap() 465 457 // #pragma mark - static 466 458 467 459 468 void469 MesaSoftwareRenderer::_Error(gl_context* ctx)470 {471 CALLED();472 #if 0473 // TODO: err. Mesa dropped DriverCtx474 MesaSoftwareRenderer* mr = (MesaSoftwareRenderer*)ctx->DriverCtx;475 if (mr && mr->GLView())476 mr->GLView()->ErrorCallback((unsigned long)ctx->ErrorValue);477 #endif478 }479 480 481 460 const GLubyte* 482 461 MesaSoftwareRenderer::_GetString(gl_context* ctx, GLenum name) 483 462 { -
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: 44 44 virtual void DirectConnected(direct_buffer_info* info); 45 45 46 46 private: 47 static void _Error(gl_context* ctx);48 47 static const GLubyte* _GetString(gl_context* ctx, GLenum name); 49 48 void _CheckResize(GLuint newWidth, GLuint newHeight); 50 49 static void _UpdateState(gl_context* ctx, GLuint newState);