VTK/OSMesa Support: Difference between revisions

From KitwarePublic
< VTK
Jump to navigationJump to search
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
=Overview=
=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).
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=
=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.
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 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, especially so for GPU accelerated volume rendering.  
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.

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