From: Alejandro PiƱeiro Date: Wed, 20 Oct 2021 23:47:29 +0000 (+0200) Subject: v3d: emit CLEAR_RENDER_TARGETS for v71 X-Git-Tag: upstream/23.3.3~832 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=22817f4f89b2afb5412fe46ee3a1d00608e5b402;p=platform%2Fupstream%2Fmesa.git v3d: emit CLEAR_RENDER_TARGETS for v71 Reviewed-by: Iago Toral Quiroga Part-of: --- diff --git a/src/gallium/drivers/v3d/v3dx_rcl.c b/src/gallium/drivers/v3d/v3dx_rcl.c index 548bc9f..f59e055 100644 --- a/src/gallium/drivers/v3d/v3dx_rcl.c +++ b/src/gallium/drivers/v3d/v3dx_rcl.c @@ -428,7 +428,7 @@ v3d_rcl_emit_stores(struct v3d_job *job, struct v3d_cl *cl, int layer) } #endif #if V3D_VERSION >= 71 - unreachable("HW generation 71 not supported yet."); + cl_emit(cl, CLEAR_RENDER_TARGETS, clear); #endif } @@ -735,7 +735,7 @@ emit_render_layer(struct v3d_job *job, uint32_t layer) store.buffer_to_store = NONE; } #endif -#if V3D_VERSION >= 40 && V3D_VERSION <= 42 +#if V3D_VERSION >= 40 for (int i = 0; i < 2; i++) { if (i > 0) cl_emit(&job->rcl, TILE_COORDINATES, coords); @@ -743,20 +743,20 @@ emit_render_layer(struct v3d_job *job, uint32_t layer) cl_emit(&job->rcl, STORE_TILE_BUFFER_GENERAL, store) { store.buffer_to_store = NONE; } + if (i == 0 || do_double_initial_tile_clear(job)) { +#if V3D_VERSION < 71 cl_emit(&job->rcl, CLEAR_TILE_BUFFERS, clear) { clear.clear_z_stencil_buffer = !job->early_zs_clear; clear.clear_all_render_targets = true; } +#else + cl_emit(&job->rcl, CLEAR_RENDER_TARGETS, clear); +#endif } cl_emit(&job->rcl, END_OF_TILE_MARKER, end); } #endif -#if V3D_VERSION >= 71 - unreachable("HW generation 71 not supported yet."); -#endif - - cl_emit(&job->rcl, FLUSH_VCD_CACHE, flush); v3d_rcl_emit_generic_per_tile_list(job, layer);