.. | .. |
---|
148 | 148 | } |
---|
149 | 149 | |
---|
150 | 150 | 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 | + |
---|
151 | 157 | if (args->zs_read.flags & |
---|
152 | 158 | VC4_SUBMIT_RCL_SURFACE_READ_IS_FULL_RES) { |
---|
153 | 159 | rcl_u8(setup, VC4_PACKET_LOAD_FULL_RES_TILE_BUFFER); |
---|
.. | .. |
---|
156 | 162 | &args->zs_read, x, y) | |
---|
157 | 163 | VC4_LOADSTORE_FULL_RES_DISABLE_COLOR); |
---|
158 | 164 | } 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 | | - |
---|
165 | 165 | rcl_u8(setup, VC4_PACKET_LOAD_TILE_BUFFER_GENERAL); |
---|
166 | 166 | rcl_u16(setup, args->zs_read.bits); |
---|
167 | 167 | rcl_u32(setup, setup->zs_read->paddr + |
---|
.. | .. |
---|
291 | 291 | } |
---|
292 | 292 | } |
---|
293 | 293 | 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 | + |
---|
294 | 299 | if (args->zs_read.flags & |
---|
295 | 300 | VC4_SUBMIT_RCL_SURFACE_READ_IS_FULL_RES) { |
---|
296 | 301 | loop_body_size += VC4_PACKET_LOAD_FULL_RES_TILE_BUFFER_SIZE; |
---|
297 | 302 | } 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 | | - } |
---|
304 | 303 | loop_body_size += VC4_PACKET_LOAD_TILE_BUFFER_GENERAL_SIZE; |
---|
305 | 304 | } |
---|
306 | 305 | } |
---|