VTK/OSMesa Support: Difference between revisions
Line 5: | Line 5: | ||
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. | 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. | 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. The ATI driver used is AMD Catalyst 13.11-beta6. Run 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. Note results are reported in cases where Classic OSMesa doesn't provide all the extensions, but Gallium llvmpipe does. For example classic OSMesa doesn't provide render buffer float. In these cases the run time reported for the classic OSMesa is ~0. | ||
The results show that Gallium llvmpipe is quite a bit better across the board | The results show that Gallium llvmpipe OSMesa state tracker is quite a bit better across the board and supports more rendering algorithms than OSMesa classic. This especially so for GPU accelerated volume rendering. | ||
[[File:Osmesa-rendering-sm.png]] | [[File:Osmesa-rendering-sm.png]] |
Latest revision as of 22:47, 11 November 2013
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 and enabled where possible. Most of VTK's rendering 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. The ATI driver used is AMD Catalyst 13.11-beta6. Run 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. Note results are reported in cases where Classic OSMesa doesn't provide all the extensions, but Gallium llvmpipe does. For example classic OSMesa doesn't provide render buffer float. In these cases the run time reported for the classic OSMesa is ~0.
The results show that Gallium llvmpipe OSMesa state tracker is quite a bit better across the board and supports more rendering algorithms than OSMesa classic. This 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 |