hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/gpu/drm/vc4/vc4_render_cl.c
....@@ -148,6 +148,12 @@
148148 }
149149
150150 if (setup->zs_read) {
151
+ if (setup->color_read) {
152
+ /* Exec previous load. */
153
+ vc4_tile_coordinates(setup, x, y);
154
+ vc4_store_before_load(setup);
155
+ }
156
+
151157 if (args->zs_read.flags &
152158 VC4_SUBMIT_RCL_SURFACE_READ_IS_FULL_RES) {
153159 rcl_u8(setup, VC4_PACKET_LOAD_FULL_RES_TILE_BUFFER);
....@@ -156,12 +162,6 @@
156162 &args->zs_read, x, y) |
157163 VC4_LOADSTORE_FULL_RES_DISABLE_COLOR);
158164 } else {
159
- if (setup->color_read) {
160
- /* Exec previous load. */
161
- vc4_tile_coordinates(setup, x, y);
162
- vc4_store_before_load(setup);
163
- }
164
-
165165 rcl_u8(setup, VC4_PACKET_LOAD_TILE_BUFFER_GENERAL);
166166 rcl_u16(setup, args->zs_read.bits);
167167 rcl_u32(setup, setup->zs_read->paddr +
....@@ -291,16 +291,15 @@
291291 }
292292 }
293293 if (setup->zs_read) {
294
+ if (setup->color_read) {
295
+ loop_body_size += VC4_PACKET_TILE_COORDINATES_SIZE;
296
+ loop_body_size += VC4_PACKET_STORE_TILE_BUFFER_GENERAL_SIZE;
297
+ }
298
+
294299 if (args->zs_read.flags &
295300 VC4_SUBMIT_RCL_SURFACE_READ_IS_FULL_RES) {
296301 loop_body_size += VC4_PACKET_LOAD_FULL_RES_TILE_BUFFER_SIZE;
297302 } else {
298
- if (setup->color_read &&
299
- !(args->color_read.flags &
300
- VC4_SUBMIT_RCL_SURFACE_READ_IS_FULL_RES)) {
301
- loop_body_size += VC4_PACKET_TILE_COORDINATES_SIZE;
302
- loop_body_size += VC4_PACKET_STORE_TILE_BUFFER_GENERAL_SIZE;
303
- }
304303 loop_body_size += VC4_PACKET_LOAD_TILE_BUFFER_GENERAL_SIZE;
305304 }
306305 }