VTK/OSMesa Support: Difference between revisions

From KitwarePublic
< VTK
Jump to navigationJump to search
(Created page with "=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. ...")
 
 
(4 intermediate revisions 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 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.
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=
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.
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.
[[File:Example.jpg]]
 
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.
 
[[File:Osmesa-rendering-sm.png]]
 
=== List of exluded tests ===
{| class="wikitable" width="85%"
|+ 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
|-
|style="white-space:nowrap"|
'''unavailable on one or more'''
| TestTkRenderWindowInteractor, TestTkRenderWidget, TestInteractorTimers
|}

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