VTK/OSMesa Support
Overview
In VTK 6.1 features (such as FBO) that have been disabled for OSMesa because of driver bugs in previous versions have been tested against the latest releases of Mesa. Most of the algorithms can be used with the latest Mesa release (9.2.2).
Gallium llvmpipe benchmarks
In Mesa release 9.2.0, OSMesa can be provided by the Gallium llvmpipe renderer. The llvmpipe renderer has threading (currently only for fragment shaders) and uses LLVM for JIT compilation of GLSL shaders. Using the llvmpipe renderer should give both the best feature support and performance with OSMesa.
The following chart shows the run time of VTK's Rendering ctests with OSMesa classic, Gallium llvmpipe OSMesa state-tracker, and an ATI Radeon HD 7870. The CPU on the test sytsem is a 4 core(8 thread) Intel(R) Core(TM) i7-4771 CPU @ 3.50GHz. Times were obtained by running each ctest twice consecutively discarding the first time. Tests that took less than 1 second were discarded, as were tests that failed on any one of the renderers. Surface LIC is only available in the llvmpipe because classic renderer does not support float depth buffer.
The results show that Gallium llvmpipe is quite a bit better across the board, especially so for GPU accelerated volume rendering.
List of exluded tests
Reason | Test names |
too fast(< 1 sec) on all | TestAxisActor3D, TestTriangleStripCellColor, text, TransformConcatenation, TestRotate, TestTexturedBackground, TestContextMathTextImage, TestGlyph3DMapperOrientationArray, TestFixedPointRa yCastLightComponents, CamBlur, TestTranslucentLUTDepthPeelingPass, TestSplitViewportStereoHorizontal, stereoDresdenMace, PolyDataMapperAllWireframe, TestOpacity2, cowHair2, TestImageReslic eMapperAlpha, TransformImageData, TestProjectedHexahedra, TestMultiTexturingTransform, TestTStripsNormalsColorsTCoords, cowHair, TestOrderedTriangulator, TestCubeAxesInnerGridClosest, Test LabelPlacer, TestTextureRGBADepthPeeling, TestCaptionActor, TestImageStack, TestFTStringToPath, TestBackfaceCulling, TestImageSliceMapperBorder, TestHomogeneousTransformOfActor, PickerWith Locator, TestActorLightingFlag, TestGlyph3DMapperPicking, TestCubeAxesWithGridLines, TestCubeAxesWithZLines, TestGlyph3DMapper, TestBarChartActor, TestTextActorDepthPeeling, TestMultiblock DisplayProperties, TestGL2PSMathTextActor3D, TestTranslucentLUTTextureAlphaBlending, PolyDataMapperAllPolygons, TestCubeAxesWithZInnerPolys, multiLineText, VolumeOutlineSourceClipped, Tran sformPolyData, TestCubeAxesOrientedBoundingBox, TestFBO, volRCClipPlanes, TestOffAxisStereo, bore, TestMathTextFreeTypeTextRendererNoMath, TestCubeAxesWithYInnerPolys, TestDynamic2DLabelMa pper, TestOpenGLPolyDataMapper, TestRenderString, TexturedSphere, OverlayTextOnImage, TestTDx, TestCubeAxesWithXInnerGrids, TestTranslucentLUTDepthPeeling, TestPolarAxes, LinearRayIntegrat ion, TestFinalColorWindowLevel, assembly, TestTransformInterpolator, labeledContours, xyPlot3, xyPlot2, SurfacePickerWithTexture, TestImageSliceMapperBackground, TestTranslucentLUTTextureD epthPeeling, TestLODProp3D, TestTStripsColorsTCoords, rendererSource, TestLeaderActor2D, NoLightGeneration, TestSpiderPlotActor, HomogeneousRayIntegration, TestResetCameraVerticalAspectRat io, TestResetCameraVerticalAspectRatioParallel, TestCubeAxesInnerGridFurthest, TestGL2PSMathTextOutput, otherCoordinate, TestAnimationScene, TestGaussianBlurPass, volTM2DRotateClip, rotati ons, TestImageDataLIC2D, TestImageSliceMapperOrient2D, TestCubeAxesWithYLines, TestImageResliceMapperOrient3D, ZsweepConcavities, TestSobelGradientMagnitudePass, TestMonitors, TestPieChart Actor, cubeAxes3, TestMathTextActor3D, TestMultiTexturing, TestScenePicker, TestLegendScaleActor, TestGPUInfo, TestTranslucentImageActorDepthPeeling, TestGL2PSMathTextActor, TestFreeTypeTe xtMapperNoMath, TestScalarBar, TestTranslucentLUTAlphaBlending, TestCubeAxes3, TestTStripsTCoords, TestCameraInterpolator, TestTStripsNormalsTCoords, propAssembly, TestPolygonSelection, Te stCubeAxes2DMode, TestCubeAxesWithXInnerPolys, TestFreetypeTextOverlay, TestMathTextFreeTypeTextRenderer, TestTextActor3DAlphaBlending, TestQuadricLODActor, gaussian, TestStringToPath, xyP lot, ImageActorStressed, PrmMagnify, TestCubeAxesWithYInnerGrids, TestImageSliceMapperOrient3D, TestFreetypeTextMapper, TestScalarBarCombinatorics, TestMinIntensityRendering, cells, TestGl yph3DMapperArrow, TestLabelPlacerCoincidentPoints, TestGL2PSMathTextScaling, TestLabelPlacementMapperCoincidentPoints, LoadOpenGLExtension, TestTextureRGBA, PreIntegrationIncremental, Part ialPreIntegration, TestImageResliceMapperOffAxis, TestAreaSelections, TestTranslucentImageActorAlphaBlending, ScalarBar, TestXYPlotActor, TestSetImageOrientation, TestCubeAxesIntersectionP oint, TestTransformCoordinateSystems, ImageActor, volRCRotateClip, TestCaptionActor2D, TestFreeTypeTextMapper, TestImageSliceMapperAlpha, TestCubeAxesInnerGridAll, TestFreetypeTextMapperBi gger, TestImageSliceMapperInterpolation, TestLODActor, TestTextActorAlphaBlending, TestInteractorStyleImageProperty, TestCubeAxesWithXLines, TestFollowerPicking, TestTextActor3DDepthPeelin g, TestImageResliceMapperInterpolation, TestImageResliceMapperSlab, TestSystemFontRendering, TransformCoverage, TestLightActor, TestGradientBackground, TestCubeAxesWithZInnerGrids, TestLeg endBoxActor, TestOnePoint, TestImageResliceMapperBorder, PreIntegrationNonIncremental, cubeAxes, TestOSConeCxx, TestPickingManager, TestPOVExporter, TestWindowToImageTransparency, VolumePi ckerCrop, TestShadowMapPass, TestImageResliceMapperBackground, TestMathTextActor, labeledMesh |
failed on one or more | volTM3DCompressedCropRegions, TestTransformCoordinateUseDouble, TestHAVSVolumeMapper |
unavailable on one or more |
TestTkRenderWindowInteractor, TestTkRenderWidget, TestInteractorTimers |