summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/swr/swr_context.h
diff options
context:
space:
mode:
authorBruce Cherniak <[email protected]>2016-09-27 13:27:08 -0500
committerTim Rowley <[email protected]>2016-10-03 09:57:45 -0500
commit903d00cd32137161c0b57bcba95af51e47d91fa5 (patch)
treeb285c268643da1614be965e13ec95a8287e5bd83 /src/gallium/drivers/swr/swr_context.h
parentcdac0427331442213a2cb8ed5a71057e1bb9793e (diff)
swr: Removed stalling SwrWaitForIdle from queries.
Previous fundamental change in stats gathering added a temporary SwrWaitForIdle to begin_query and end_query. Code has been reworked to remove stall. Reviewed-by: George Kyriazis <[email protected]>
Diffstat (limited to 'src/gallium/drivers/swr/swr_context.h')
-rw-r--r--src/gallium/drivers/swr/swr_context.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/gallium/drivers/swr/swr_context.h b/src/gallium/drivers/swr/swr_context.h
index 6854d697db9..eecfe0d40de 100644
--- a/src/gallium/drivers/swr/swr_context.h
+++ b/src/gallium/drivers/swr/swr_context.h
@@ -92,7 +92,7 @@ struct swr_draw_context {
float userClipPlanes[PIPE_MAX_CLIP_PLANES][4];
SWR_SURFACE_STATE renderTargets[SWR_NUM_ATTACHMENTS];
- void *swr_ctx;
+ void *pStats;
};
/* gen_llvm_types FINI */
@@ -159,9 +159,6 @@ struct swr_context {
/* SWR private state - draw context */
struct swr_draw_context swrDC;
- SWR_STATS stats;
- SWR_STATS_FE statsFE;
-
unsigned dirty; /**< Mask of SWR_NEW_x flags */
};
@@ -172,11 +169,13 @@ swr_context(struct pipe_context *pipe)
}
static INLINE void
-swr_update_draw_context(struct swr_context *ctx)
+swr_update_draw_context(struct swr_context *ctx,
+ struct swr_query_result *pqr = nullptr)
{
swr_draw_context *pDC =
(swr_draw_context *)SwrGetPrivateContextState(ctx->swrContext);
- ctx->swrDC.swr_ctx = ctx;
+ if (pqr)
+ ctx->swrDC.pStats = pqr;
memcpy(pDC, &ctx->swrDC, sizeof(swr_draw_context));
}