From: Tim Rowley Date: Tue, 7 Nov 2017 19:50:11 +0000 (-0600) Subject: swr/rast: Cache eventmanager X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bc356b0fc0839b19eadbd96018f23c486ff00e84;p=mesa.git swr/rast: Cache eventmanager Reviewed-by: Bruce Cherniak --- 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;