radeonsi: allow query functions for compute-only contexts
authorMarek Olšák <marek.olsak@amd.com>
Mon, 13 May 2019 22:39:44 +0000 (18:39 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Mon, 27 May 2019 19:26:06 +0000 (15:26 -0400)
src/gallium/drivers/radeonsi/si_pipe.c
src/gallium/drivers/radeonsi/si_query.c

index 6121381..9ddf780 100644 (file)
@@ -498,6 +498,7 @@ static struct pipe_context *si_create_context(struct pipe_screen *screen,
        si_init_compute_blit_functions(sctx);
        si_init_debug_functions(sctx);
        si_init_fence_functions(sctx);
+       si_init_query_functions(sctx);
        si_init_state_compute_functions(sctx);
 
        if (sscreen->debug_flags & DBG(FORCE_DMA))
@@ -506,7 +507,6 @@ static struct pipe_context *si_create_context(struct pipe_screen *screen,
        /* Initialize graphics-only context functions. */
        if (sctx->has_graphics) {
                si_init_context_texture_functions(sctx);
-               si_init_query_functions(sctx);
                si_init_msaa_functions(sctx);
                si_init_shader_functions(sctx);
                si_init_state_functions(sctx);
index 1d541f1..fd0e079 100644 (file)
@@ -1920,10 +1920,11 @@ void si_init_query_functions(struct si_context *sctx)
        sctx->b.end_query = si_end_query;
        sctx->b.get_query_result = si_get_query_result;
        sctx->b.get_query_result_resource = si_get_query_result_resource;
-       sctx->atoms.s.render_cond.emit = si_emit_query_predication;
 
-       if (((struct si_screen*)sctx->b.screen)->info.num_render_backends > 0)
-           sctx->b.render_condition = si_render_condition;
+       if (sctx->has_graphics) {
+               sctx->atoms.s.render_cond.emit = si_emit_query_predication;
+               sctx->b.render_condition = si_render_condition;
+       }
 
        LIST_INITHEAD(&sctx->active_queries);
 }