| .. | .. |
|---|
| 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 | } |
|---|