[Mesa-stable] [Mesa-dev] [PATCH 1/2] anv/cmd_buffer: Don't temporarily enable CCS_E within a render pass
Nanley Chery
nanleychery at gmail.com
Tue Jan 24 01:40:43 UTC 2017
On Mon, Jan 23, 2017 at 05:30:22PM -0800, Jason Ekstrand wrote:
> On Mon, Jan 23, 2017 at 4:55 PM, Nanley Chery <nanleychery at gmail.com> wrote:
>
> > Compressing a render target and decompressing it in the same
> > single-subpass render pass may waste bandwidth. While this may be
> > beneficial in some circumstances, it does not help in all.
> >
> > Cc: "13.0 17.0" <mesa-stable at lists.freedesktop.org>
> >
>
> This doesn't really fix a bug... I guess you can consider it a perf bug
> but it's not going to cause apps to fail. I think I'm ok with pulling it
> back to 17.0 but let's leave 13.0 alone.
>
>
Sounds good to me. I retract the "13.0" from this patch and the
following (I plan to officially do so in future patch revisions). As a
disclaimer, I personally don't mind retracting the nomination for "17.0"
if it's an issue.
-Nanley
> > Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
> > ---
> > src/intel/vulkan/genX_cmd_buffer.c | 6 ++++--
> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/intel/vulkan/genX_cmd_buffer.c
> > b/src/intel/vulkan/genX_cmd_buffer.c
> > index a22fb2b6fb..9cde6896bb 100644
> > --- a/src/intel/vulkan/genX_cmd_buffer.c
> > +++ b/src/intel/vulkan/genX_cmd_buffer.c
> > @@ -265,8 +265,10 @@ color_attachment_compute_aux_usage(struct anv_device
> > *device,
> > att_state->fast_clear = false;
> > }
> >
> > - if (isl_format_supports_lossless_compression(&device->info,
> > - iview->isl.format)) {
> > + /* TODO: Consider using a heuristic to determine if temporarily
> > enabling
> > + * CCS_E for this image view would be beneficial.
> > + */
> >
>
> Maybe we should update this comment a bit:
>
> While fast-clear resolves and partial resolves are fairly cheap in the case
> where you render to most of the pixels, full resolves are not because they
> potentially involve reading and writing the entire framebuffer. If we
> can't texture with CCS_E, we should leave it off and limit ourselves to
> fast clears.
>
> Also... This doesn't do quite what you think it does. It shuts off fast
> clears entirely on Sky Lake if we can't texture from CCS_E. We need to add
> some code above to do
>
> if (GEN_GEN >= 9 && !isl_format_supports_lossless_compression(...))
> att_state->fast_clear = false;
>
> And then remove the GEN_GEN >= 9 case below. Maybe we want to do the code
> shuffling as a refactor patch and put this patch on top of it?
>
>
> > + if (iview->image->aux_usage == ISL_AUX_USAGE_CCS_E) {
> > att_state->aux_usage = ISL_AUX_USAGE_CCS_E;
> > att_state->input_aux_usage = ISL_AUX_USAGE_CCS_E;
> > } else if (att_state->fast_clear) {
> > --
> > 2.11.0
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >
More information about the mesa-stable
mailing list