radeon/uvd: reconstruct MJPEG bitstream
[mesa.git] / src / gallium / drivers / radeon / r600_query.c
index 4069d2eb90a3a7a54b243da06864bc35e20b3d65..bccfe7f94f83b05c30b54935e35751b9f236887c 100644 (file)
@@ -101,6 +101,9 @@ static bool r600_query_sw_begin(struct r600_common_context *rctx,
        case R600_QUERY_DRAW_CALLS:
                query->begin_result = rctx->num_draw_calls;
                break;
+       case R600_QUERY_DECOMPRESS_CALLS:
+               query->begin_result = rctx->num_decompress_calls;
+               break;
        case R600_QUERY_MRT_DRAW_CALLS:
                query->begin_result = rctx->num_mrt_draw_calls;
                break;
@@ -214,7 +217,7 @@ static bool r600_query_sw_begin(struct r600_common_context *rctx,
        case R600_QUERY_GPU_MEQ_BUSY:
        case R600_QUERY_GPU_ME_BUSY:
        case R600_QUERY_GPU_SURF_SYNC_BUSY:
-       case R600_QUERY_GPU_DMA_BUSY:
+       case R600_QUERY_GPU_CP_DMA_BUSY:
        case R600_QUERY_GPU_SCRATCH_RAM_BUSY:
        case R600_QUERY_GPU_CE_BUSY:
                query->begin_result = r600_begin_counter(rctx->screen,
@@ -258,6 +261,9 @@ static bool r600_query_sw_end(struct r600_common_context *rctx,
        case R600_QUERY_DRAW_CALLS:
                query->end_result = rctx->num_draw_calls;
                break;
+       case R600_QUERY_DECOMPRESS_CALLS:
+               query->end_result = rctx->num_decompress_calls;
+               break;
        case R600_QUERY_MRT_DRAW_CALLS:
                query->end_result = rctx->num_mrt_draw_calls;
                break;
@@ -368,7 +374,7 @@ static bool r600_query_sw_end(struct r600_common_context *rctx,
        case R600_QUERY_GPU_MEQ_BUSY:
        case R600_QUERY_GPU_ME_BUSY:
        case R600_QUERY_GPU_SURF_SYNC_BUSY:
-       case R600_QUERY_GPU_DMA_BUSY:
+       case R600_QUERY_GPU_CP_DMA_BUSY:
        case R600_QUERY_GPU_SCRATCH_RAM_BUSY:
        case R600_QUERY_GPU_CE_BUSY:
                query->end_result = r600_end_counter(rctx->screen,
@@ -774,7 +780,7 @@ static void r600_query_hw_do_emit_start(struct r600_common_context *ctx,
                         * (bottom-of-pipe)
                         */
                        r600_gfx_write_event_eop(ctx, EVENT_TYPE_BOTTOM_OF_PIPE_TS,
-                                                0, 3, NULL, va, 0, 0);
+                                                0, 3, NULL, va, 0, query->b.type);
                }
                break;
        case PIPE_QUERY_PIPELINE_STATISTICS:
@@ -859,7 +865,7 @@ static void r600_query_hw_do_emit_stop(struct r600_common_context *ctx,
                /* fall through */
        case PIPE_QUERY_TIMESTAMP:
                r600_gfx_write_event_eop(ctx, EVENT_TYPE_BOTTOM_OF_PIPE_TS,
-                                        0, 3, NULL, va, 0, 0);
+                                        0, 3, NULL, va, 0, query->b.type);
                fence_va = va + 8;
                break;
        case PIPE_QUERY_PIPELINE_STATISTICS: {
@@ -882,7 +888,8 @@ static void r600_query_hw_do_emit_stop(struct r600_common_context *ctx,
 
        if (fence_va)
                r600_gfx_write_event_eop(ctx, EVENT_TYPE_BOTTOM_OF_PIPE_TS, 0, 1,
-                                        query->buffer.buf, fence_va, 0, 0x80000000);
+                                        query->buffer.buf, fence_va, 0x80000000,
+                                        query->b.type);
 }
 
 static void r600_query_hw_emit_stop(struct r600_common_context *ctx,
@@ -1992,6 +1999,7 @@ static struct pipe_driver_query_info r600_driver_query_list[] = {
        X("num-shaders-created",        NUM_SHADERS_CREATED,    UINT64, CUMULATIVE),
        X("num-shader-cache-hits",      NUM_SHADER_CACHE_HITS,  UINT64, CUMULATIVE),
        X("draw-calls",                 DRAW_CALLS,             UINT64, AVERAGE),
+       X("decompress-calls",           DECOMPRESS_CALLS,       UINT64, AVERAGE),
        X("MRT-draw-calls",             MRT_DRAW_CALLS,         UINT64, AVERAGE),
        X("prim-restart-calls",         PRIM_RESTART_CALLS,     UINT64, AVERAGE),
        X("spill-draw-calls",           SPILL_DRAW_CALLS,       UINT64, AVERAGE),
@@ -2065,7 +2073,7 @@ static struct pipe_driver_query_info r600_driver_query_list[] = {
        X("GPU-meq-busy",               GPU_MEQ_BUSY,           UINT64, AVERAGE),
        X("GPU-me-busy",                GPU_ME_BUSY,            UINT64, AVERAGE),
        X("GPU-surf-sync-busy",         GPU_SURF_SYNC_BUSY,     UINT64, AVERAGE),
-       X("GPU-dma-busy",               GPU_DMA_BUSY,           UINT64, AVERAGE),
+       X("GPU-cp-dma-busy",            GPU_CP_DMA_BUSY,        UINT64, AVERAGE),
        X("GPU-scratch-ram-busy",       GPU_SCRATCH_RAM_BUSY,   UINT64, AVERAGE),
        X("GPU-ce-busy",                GPU_CE_BUSY,            UINT64, AVERAGE),
 };