For the series: Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>
On 11.10.2016 17:00, Marek Olšák wrote:
From: Marek Olšák <marek.ol...@amd.com> --- src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c index c0e810c..2b86827 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c @@ -30,20 +30,22 @@ * Marek Olšák <mar...@gmail.com> */ #include "amdgpu_cs.h" #include "os/os_time.h" #include <stdio.h> #include <amdgpu_drm.h> #include "amd/common/sid.h" +DEBUG_GET_ONCE_BOOL_OPTION(noop, "RADEON_NOOP", false) + /* FENCES */ static struct pipe_fence_handle * amdgpu_fence_create(struct amdgpu_ctx *ctx, unsigned ip_type, unsigned ip_instance, unsigned ring) { struct amdgpu_fence *fence = CALLOC_STRUCT(amdgpu_fence); fence->reference.count = 1; fence->ctx = ctx; @@ -136,20 +138,23 @@ static bool amdgpu_fence_wait_rel_timeout(struct radeon_winsys *rws, { return amdgpu_fence_wait(fence, timeout, false); } static struct pipe_fence_handle * amdgpu_cs_get_next_fence(struct radeon_winsys_cs *rcs) { struct amdgpu_cs *cs = amdgpu_cs(rcs); struct pipe_fence_handle *fence = NULL; + if (debug_get_option_noop()) + return NULL; + if (cs->next_fence) { amdgpu_fence_reference(&fence, cs->next_fence); return fence; } fence = amdgpu_fence_create(cs->ctx, cs->csc->request.ip_type, cs->csc->request.ip_instance, cs->csc->request.ring); if (!fence) @@ -1062,22 +1067,20 @@ cleanup: void amdgpu_cs_sync_flush(struct radeon_winsys_cs *rcs) { struct amdgpu_cs *cs = amdgpu_cs(rcs); struct amdgpu_winsys *ws = cs->ctx->ws; /* Wait for any pending ioctl of this CS to complete. */ if (util_queue_is_initialized(&ws->cs_queue)) util_queue_job_wait(&cs->flush_completed); } -DEBUG_GET_ONCE_BOOL_OPTION(noop, "RADEON_NOOP", false) - static int amdgpu_cs_flush(struct radeon_winsys_cs *rcs, unsigned flags, struct pipe_fence_handle **fence) { struct amdgpu_cs *cs = amdgpu_cs(rcs); struct amdgpu_winsys *ws = cs->ctx->ws; int error_code = 0; rcs->current.max_dw += amdgpu_cs_epilog_dws(cs->ring_type);
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev