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 61213810a9187a4bb289869e77a9b1df890fc0bd..9ddf78027466f52ac1a114fc2101d8b02d3c3a52 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 1d541f194f35623531c0503419350b6b5a5e7213..fd0e07904aaf8c45e329635700badb7dd7f81770 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);
 }