Difference between revisions of "VTK/OSMesa Support"

From KitwarePublic
< VTK
Jump to navigationJump to search
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. 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.
+
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.  
  
 
[[File:Osmesa-rendering-sm.png]]
 
[[File:Osmesa-rendering-sm.png]]

Revision as of 16:53, 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. 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.

Osmesa-rendering-sm.png

List of exluded tests

Excluded 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