boolean wait, void *vresult);
void r600_query_begin(struct r600_context *ctx, struct r600_query *query);
void r600_query_end(struct r600_context *ctx, struct r600_query *query);
+void r600_context_queries_suspend(struct r600_context *ctx);
+void r600_context_queries_resume(struct r600_context *ctx);
int evergreen_context_init(struct r600_context *ctx, struct radeon *radeon);
void evergreen_context_draw(struct r600_context *ctx, const struct r600_draw *draw);
int level = 0;
float depth = 1.0f;
+ r600_context_queries_suspend(&rctx->ctx);
for (int i = 0; i < fb.nr_cbufs; i++) {
fb.cbufs[i] = NULL;
pipe_surface_reference(&fb.cbufs[i], rctx->pframebuffer->cbufs[i]);
pipe_surface_reference(&fb.cbufs[i], NULL);
}
pipe_surface_reference(&fb.zsbuf, NULL);
+ r600_context_queries_resume(&rctx->ctx);
return 0;
}
struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx;
struct pipe_framebuffer_state *fb = &rctx->framebuffer;
+ r600_context_queries_suspend(&rctx->ctx);
r600_blitter_save_states(ctx);
util_blitter_clear(rctx->blitter, fb->width, fb->height,
fb->nr_cbufs, buffers, rgba, depth,
stencil);
+ r600_context_queries_resume(&rctx->ctx);
}
static void r600_clear_render_target(struct pipe_context *ctx,
struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx;
struct pipe_framebuffer_state *fb = &rctx->framebuffer;
+ r600_context_queries_suspend(&rctx->ctx);
util_blitter_save_framebuffer(rctx->blitter, fb);
util_blitter_clear_render_target(rctx->blitter, dst, rgba,
dstx, dsty, width, height);
+ r600_context_queries_resume(&rctx->ctx);
}
static void r600_clear_depth_stencil(struct pipe_context *ctx,
struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx;
struct pipe_framebuffer_state *fb = &rctx->framebuffer;
+ r600_context_queries_suspend(&rctx->ctx);
util_blitter_save_framebuffer(rctx->blitter, fb);
util_blitter_clear_depth_stencil(rctx->blitter, dst, clear_flags, depth, stencil,
dstx, dsty, width, height);
+ r600_context_queries_resume(&rctx->ctx);
}
unsigned radeon_ws_bo_get_handle(struct radeon_ws_bo *pb_bo);
-/* queries */
-static void r600_context_queries_suspend(struct r600_context *ctx);
-static void r600_context_queries_resume(struct r600_context *ctx);
static int r600_group_id_register_offset(struct r600_context *ctx, unsigned offset)
{
return TRUE;
}
-static void r600_context_queries_suspend(struct r600_context *ctx)
+void r600_context_queries_suspend(struct r600_context *ctx)
{
struct r600_query *query;
}
}
-static void r600_context_queries_resume(struct r600_context *ctx)
+void r600_context_queries_resume(struct r600_context *ctx)
{
struct r600_query *query;