From bc356b0fc0839b19eadbd96018f23c486ff00e84 Mon Sep 17 00:00:00 2001 From: Tim Rowley Date: Tue, 7 Nov 2017 13:50:11 -0600 Subject: [PATCH] swr/rast: Cache eventmanager Reviewed-by: Bruce Cherniak --- src/gallium/drivers/swr/rasterizer/archrast/archrast.h | 1 + src/gallium/drivers/swr/rasterizer/core/api.cpp | 5 +++++ src/gallium/drivers/swr/rasterizer/core/api.h | 3 +++ 3 files changed, 9 insertions(+) diff --git a/src/gallium/drivers/swr/rasterizer/archrast/archrast.h b/src/gallium/drivers/swr/rasterizer/archrast/archrast.h index fa88a4948c9..c74d6ad9097 100644 --- a/src/gallium/drivers/swr/rasterizer/archrast/archrast.h +++ b/src/gallium/drivers/swr/rasterizer/archrast/archrast.h @@ -29,6 +29,7 @@ #include "common/os.h" #include "gen_ar_event.hpp" +#include "eventmanager.h" namespace ArchRast { diff --git a/src/gallium/drivers/swr/rasterizer/core/api.cpp b/src/gallium/drivers/swr/rasterizer/core/api.cpp index 20eeb296815..9265440904f 100644 --- a/src/gallium/drivers/swr/rasterizer/core/api.cpp +++ b/src/gallium/drivers/swr/rasterizer/core/api.cpp @@ -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); diff --git a/src/gallium/drivers/swr/rasterizer/core/api.h b/src/gallium/drivers/swr/rasterizer/core/api.h index 60f56c6d76f..c032b0bb103 100644 --- a/src/gallium/drivers/swr/rasterizer/core/api.h +++ b/src/gallium/drivers/swr/rasterizer/core/api.h @@ -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; -- 2.30.2