diff options
author | Tim Rowley <timothy.o.rowley@intel.com> | 2017-02-18 00:29:06 -0800 |
---|---|---|
committer | Tim Rowley <timothy.o.rowley@intel.com> | 2017-03-20 18:04:53 -0500 |
commit | 2cbac00221606fdda6af839afaf64ef649a73f83 (patch) | |
tree | b09569c2afb64fdd083653e8f867d4d2570bc31f /src/gallium/drivers/swr/rasterizer/archrast/eventmanager.h | |
parent | 0a36a7cf04d4f0e638e702aee9a03c91cdbc1d1a (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.h | 8 |
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 |