On Mon, Jan 23, 2017 at 4:55 PM, Nanley Chery <nanleych...@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-sta...@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. > Signed-off-by: Nanley Chery <nanley.g.ch...@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@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev