swr/rast: Cache eventmanager
authorTim Rowley <timothy.o.rowley@intel.com>
Tue, 7 Nov 2017 19:50:11 +0000 (13:50 -0600)
committerTim Rowley <timothy.o.rowley@intel.com>
Mon, 20 Nov 2017 19:50:51 +0000 (13:50 -0600)
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
src/gallium/drivers/swr/rasterizer/archrast/archrast.h
src/gallium/drivers/swr/rasterizer/core/api.cpp
src/gallium/drivers/swr/rasterizer/core/api.h

index fa88a49..c74d6ad 100644 (file)
@@ -29,6 +29,7 @@
 
 #include "common/os.h"
 #include "gen_ar_event.hpp"
+#include "eventmanager.h"
 
 namespace ArchRast
 {
index 20eeb29..9265440 100644 (file)
@@ -143,6 +143,11 @@ HANDLE SwrCreateContext(
 #endif
     }
 
+#if defined(KNOB_ENABLE_AR)
+    // cache the API thread event manager, for use with sim layer
+    pCreateInfo->hArEventManager = pContext->pArContext[16];
+#endif
+
     // State setup AFTER context is fully initialized
     SetupDefaultState(pContext);
 
index 60f56c6..c032b0b 100644 (file)
@@ -213,6 +213,9 @@ struct SWR_CREATECONTEXT_INFO
     // Output: size required memory passed to for SwrSaveState / SwrRestoreState
     size_t  contextSaveSize;
 
+    // ArchRast event manager.
+    HANDLE  hArEventManager;
+
     // Input (optional): Threading info that overrides any set KNOB values.
     SWR_THREADING_INFO* pThreadInfo;