This series is still awaiting review, any takers?
On Fri, 2018-01-05 at 17:38 +0100, Iago Toral Quiroga wrote: > --- > src/intel/vulkan/anv_blorp.c | 55 ++++++++++++++++++++++++++++++++ > ------------ > 1 file changed, 40 insertions(+), 15 deletions(-) > > diff --git a/src/intel/vulkan/anv_blorp.c > b/src/intel/vulkan/anv_blorp.c > index e244468e03..18fa4a4ae5 100644 > --- a/src/intel/vulkan/anv_blorp.c > +++ b/src/intel/vulkan/anv_blorp.c > @@ -1203,25 +1203,50 @@ anv_cmd_buffer_clear_subpass(struct > anv_cmd_buffer *cmd_buffer) > ANV_PIPE_RENDER_TARGET_CACHE_FLUSH_BIT | > ANV_PIPE_CS_STALL_BIT; > > assert(image->n_planes == 1); > - blorp_fast_clear(&batch, &surf, iview- > >planes[0].isl.format, > - iview->planes[0].isl.base_level, > - iview->planes[0].isl.base_array_layer, fb- > >layers, > - render_area.offset.x, > render_area.offset.y, > - render_area.offset.x + > render_area.extent.width, > - render_area.offset.y + > render_area.extent.height); > - > + if (cmd_state->subpass->view_mask) { > + uint32_t view_idx; > + for_each_bit(view_idx, cmd_state->subpass->view_mask) { > + blorp_fast_clear(&batch, &surf, iview- > >planes[0].isl.format, > + iview->planes[0].isl.base_level, > + view_idx, 1, > + render_area.offset.x, > render_area.offset.y, > + render_area.offset.x + > render_area.extent.width, > + render_area.offset.y + > render_area.extent.height); > + } > + } else { > + blorp_fast_clear(&batch, &surf, iview- > >planes[0].isl.format, > + iview->planes[0].isl.base_level, > + iview->planes[0].isl.base_array_layer, > fb->layers, > + render_area.offset.x, > render_area.offset.y, > + render_area.offset.x + > render_area.extent.width, > + render_area.offset.y + > render_area.extent.height); > + } > cmd_buffer->state.pending_pipe_bits |= > ANV_PIPE_RENDER_TARGET_CACHE_FLUSH_BIT | > ANV_PIPE_CS_STALL_BIT; > } else { > assert(image->n_planes == 1); > - blorp_clear(&batch, &surf, iview->planes[0].isl.format, > - anv_swizzle_for_render(iview- > >planes[0].isl.swizzle), > - iview->planes[0].isl.base_level, > - iview->planes[0].isl.base_array_layer, fb- > >layers, > - render_area.offset.x, render_area.offset.y, > - render_area.offset.x + > render_area.extent.width, > - render_area.offset.y + > render_area.extent.height, > - vk_to_isl_color(att_state->clear_value.color), > NULL); > + if (cmd_state->subpass->view_mask) { > + uint32_t view_idx; > + for_each_bit(view_idx, cmd_state->subpass->view_mask) { > + blorp_clear(&batch, &surf, iview- > >planes[0].isl.format, > + anv_swizzle_for_render(iview- > >planes[0].isl.swizzle), > + iview->planes[0].isl.base_level, > + view_idx, 1, > + render_area.offset.x, > render_area.offset.y, > + render_area.offset.x + > render_area.extent.width, > + render_area.offset.y + > render_area.extent.height, > + vk_to_isl_color(att_state- > >clear_value.color), NULL); > + } > + } else { > + blorp_clear(&batch, &surf, iview->planes[0].isl.format, > + anv_swizzle_for_render(iview- > >planes[0].isl.swizzle), > + iview->planes[0].isl.base_level, > + iview->planes[0].isl.base_array_layer, fb- > >layers, > + render_area.offset.x, render_area.offset.y, > + render_area.offset.x + > render_area.extent.width, > + render_area.offset.y + > render_area.extent.height, > + vk_to_isl_color(att_state- > >clear_value.color), NULL); > + } > } > > att_state->pending_clear_aspects = 0; _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev