On 21/03/17 16:14, Jason Ekstrand wrote:
> On Tue, Mar 21, 2017 at 7:23 AM, Samuel Iglesias Gonsálvez
> <[email protected] <mailto:[email protected]>> wrote:
> 
>     Input attachments are clear-color aware on Sky Lake, so we
>     can frequently sample from them with no resolves at all. However
>     on Broadwell we still need to do a a resolve between the subpass
>     that writes and the subpass that reads.
> 
> 
> In theory, we shouldn't always need to do a resolve.  Broadwell is
> supposed (maybe it doesn't work?) to support sampling from fast-cleared
> buffers and I thought it was hooked up correctly.  Is this only an issue
> for certain clear colors?  I have a feeling there's something more
> subtle going on here.
>  

OK, I will investigate further.

Thanks!

Sam

> 
>     Fixes 16 tests on BDW:
> 
>     dEQP-VK.renderpass.formats.*.input.clear.store.self_dep*
> 
>     Signed-off-by: Samuel Iglesias Gonsálvez <[email protected]
>     <mailto:[email protected]>>
>     ---
>      src/intel/vulkan/anv_blorp.c | 9 ++++++---
>      1 file changed, 6 insertions(+), 3 deletions(-)
> 
>     diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c
>     index 1f4fec5f35b..2fa56f49d18 100644
>     --- a/src/intel/vulkan/anv_blorp.c
>     +++ b/src/intel/vulkan/anv_blorp.c
>     @@ -1504,10 +1504,13 @@ ccs_resolve_attachment(struct anv_cmd_buffer
>     *cmd_buffer,
>                */
>            }
>         } else if (usage & ANV_SUBPASS_USAGE_INPUT) {
>     -      /* Input attachments are clear-color aware so, at least on
>     Sky Lake, we
>     -       * can frequently sample from them with no resolves at all.
>     +      /* Input attachments are clear-color aware on Sky Lake, so we
>     +       * can frequently sample from them with no resolves at all.
>     However
>     +       * on Broadwell we still need to do resolves.
>             */
>     -      if (att_state->aux_usage != att_state->input_aux_usage) {
>     +      if (cmd_buffer->device->info.gen < 9) {
>     +         resolve_op = BLORP_FAST_CLEAR_OP_RESOLVE_FULL;
>     +      } else if (att_state->aux_usage != att_state->input_aux_usage) {
>               assert(att_state->input_aux_usage == ISL_AUX_USAGE_NONE);
>               resolve_op = BLORP_FAST_CLEAR_OP_RESOLVE_FULL;
>            } else if (!att_state->clear_color_is_zero_one) {
>     --
>     2.11.0
> 
> 

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to