summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/swr/rasterizer/archrast/eventmanager.h
diff options
context:
space:
mode:
authorTim Rowley <timothy.o.rowley@intel.com>2017-02-18 00:29:06 -0800
committerTim Rowley <timothy.o.rowley@intel.com>2017-03-20 18:04:53 -0500
commit2cbac00221606fdda6af839afaf64ef649a73f83 (patch)
treeb09569c2afb64fdd083653e8f867d4d2570bc31f /src/gallium/drivers/swr/rasterizer/archrast/eventmanager.h
parent0a36a7cf04d4f0e638e702aee9a03c91cdbc1d1a (diff)
swr: [rasterizer archrast/core/scripts] Fix archrast multithreading issue
Per pixel stats are cached but were not always being flushed as threads moved from one draw context to the next. Added an explicit flush to allow all archrast objects to flush any cached events. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
Diffstat (limited to 'src/gallium/drivers/swr/rasterizer/archrast/eventmanager.h')
-rw-r--r--src/gallium/drivers/swr/rasterizer/archrast/eventmanager.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/swr/rasterizer/archrast/eventmanager.h b/src/gallium/drivers/swr/rasterizer/archrast/eventmanager.h
index 78ba8f3e2d7..88edc03f4f4 100644
--- a/src/gallium/drivers/swr/rasterizer/archrast/eventmanager.h
+++ b/src/gallium/drivers/swr/rasterizer/archrast/eventmanager.h
@@ -69,6 +69,14 @@ namespace ArchRast
event.Accept(pHandler);
}
}
+
+ void FlushDraw(uint32_t drawId)
+ {
+ for (auto pHandler : mHandlers)
+ {
+ pHandler->FlushDraw(drawId);
+ }
+ }
private:
// Handlers stay registered for life