mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
st/mesa: flush bitmap cache on query and conditional render boundaries
Bitmap caching shouldn't affect the results of the queries and conditional render. NOTE: This is a candidate for the 7.11 branch. Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com> Signed-off-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
parent
a0a22fead5
commit
4f4855b249
2 changed files with 10 additions and 0 deletions
|
|
@ -41,6 +41,7 @@
|
|||
#include "st_context.h"
|
||||
#include "st_cb_queryobj.h"
|
||||
#include "st_cb_condrender.h"
|
||||
#include "st_cb_bitmap.h"
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -55,6 +56,8 @@ st_BeginConditionalRender(struct gl_context *ctx, struct gl_query_object *q,
|
|||
struct pipe_context *pipe = st->pipe;
|
||||
uint m;
|
||||
|
||||
st_flush_bitmap_cache(st);
|
||||
|
||||
switch (mode) {
|
||||
case GL_QUERY_WAIT:
|
||||
m = PIPE_RENDER_COND_WAIT;
|
||||
|
|
@ -90,6 +93,8 @@ st_EndConditionalRender(struct gl_context *ctx, struct gl_query_object *q)
|
|||
struct pipe_context *pipe = st->pipe;
|
||||
(void) q;
|
||||
|
||||
st_flush_bitmap_cache(st);
|
||||
|
||||
pipe->render_condition(pipe, NULL, 0);
|
||||
st->render_condition = NULL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@
|
|||
#include "pipe/p_defines.h"
|
||||
#include "st_context.h"
|
||||
#include "st_cb_queryobj.h"
|
||||
#include "st_cb_bitmap.h"
|
||||
|
||||
|
||||
#if FEATURE_queryobj
|
||||
|
|
@ -83,6 +84,8 @@ st_BeginQuery(struct gl_context *ctx, struct gl_query_object *q)
|
|||
struct st_query_object *stq = st_query_object(q);
|
||||
unsigned type;
|
||||
|
||||
st_flush_bitmap_cache(st_context(ctx));
|
||||
|
||||
/* convert GL query type to Gallium query type */
|
||||
switch (q->Target) {
|
||||
case GL_ANY_SAMPLES_PASSED:
|
||||
|
|
@ -128,6 +131,8 @@ st_EndQuery(struct gl_context *ctx, struct gl_query_object *q)
|
|||
struct pipe_context *pipe = st_context(ctx)->pipe;
|
||||
struct st_query_object *stq = st_query_object(q);
|
||||
|
||||
st_flush_bitmap_cache(st_context(ctx));
|
||||
|
||||
pipe->end_query(pipe, stq->pq);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue