diff options
author | Armin Le Grand <Armin.Le.Grand@cib.de> | 2016-04-29 12:30:16 +0200 |
---|---|---|
committer | Armin Le Grand <Armin.Le.Grand@cib.de> | 2016-05-06 10:11:03 +0000 |
commit | 657413b5deea11a850970f23cba2cf34a5bdf8ea (patch) | |
tree | 01d1daef3fe03fe7ad271e8efecaf189b94fe261 /drawinglayer/source/attribute/fillgraphicattribute.cxx | |
parent | d324b4b3e1d32b25a6347f2f77ae921a584ee9b0 (diff) |
Refactor 3D renderer to use multithreading
This try uses full 3D renderers working on the same ZBuffer
target, but are capable to render one stripe per thread.
This is rougher in granularity and uses multiple cores better
than the first try (see gerrit 24393) which was too fine-granular
being based on scanline render parallelization.
SecUred some more classes based on SdrPrimitive3D for multi-
theaded usage (places where local buffered stuff is done)
Change-Id: I4ddd5885ad41dd6432d0695e528818a86e427bfd
Reviewed-on: https://gerrit.libreoffice.org/24538
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Diffstat (limited to 'drawinglayer/source/attribute/fillgraphicattribute.cxx')
-rw-r--r-- | drawinglayer/source/attribute/fillgraphicattribute.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drawinglayer/source/attribute/fillgraphicattribute.cxx b/drawinglayer/source/attribute/fillgraphicattribute.cxx index 6d70e46de699..9465af23b054 100644 --- a/drawinglayer/source/attribute/fillgraphicattribute.cxx +++ b/drawinglayer/source/attribute/fillgraphicattribute.cxx @@ -51,6 +51,12 @@ namespace drawinglayer mfOffsetX(fOffsetX), mfOffsetY(fOffsetY) { + // access once to ensure that the buffered bitmap exists, else + // the SolarMutex may be needed to create it. This may not be + // available when a renderer works with multi-treading. + // When changing this, please check if it is still possible to + // use a metafile as texture for a 3D object + maGraphic.GetBitmapEx(); } ImpFillGraphicAttribute() |