+ SetThreadName("SVGThread");
+ mLogFactory.InstallLogFunction();
+
+ while(RasterizingTaskPtr task = NextTaskToProcess())
+ {
+ task->Load();
+ task->Rasterize();
+ AddCompletedTask(task);
+ }
+}
+
+void SvgRasterizeThread::ApplyRasterizedSVGToSampler()
+{
+ while(RasterizingTaskPtr task = NextCompletedTask())
+ {
+ task->GetSvgVisual()->ApplyRasterizedImage(task->GetVectorRenderer(), task->GetPixelData(), task->IsLoaded());
+ }
+
+ UnregisterProcessor();
+}
+
+void SvgRasterizeThread::Process()
+{
+ ApplyRasterizedSVGToSampler();
+}
+
+void SvgRasterizeThread::UnregisterProcessor()
+{
+ if(mProcessorRegistered)