CC: Rafael Antognolli <rafael.antogno...@intel.com> CC: Jordan Justen <jordan.l.jus...@intel.com> CC: Jason Ekstrand <ja...@jlekstrand.net> Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com> --- src/intel/isl/isl.h | 6 ++++++ src/intel/isl/isl_surface_state.c | 11 +++++++++++ 2 files changed, 17 insertions(+)
diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h index d65c621..ee89e07 100644 --- a/src/intel/isl/isl.h +++ b/src/intel/isl/isl.h @@ -1316,6 +1316,12 @@ struct isl_surf_fill_state_info { uint64_t clear_address; /** + * On gen11+, tells if the hardware should write the given clear color out + * for sampler and display engine in native format. + */ + bool clear_color_conversion_enable; + + /** * Surface write disables for gen4-5 */ isl_channel_mask_t write_disables; diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c index 77931f2..83bbbba 100644 --- a/src/intel/isl/isl_surface_state.c +++ b/src/intel/isl/isl_surface_state.c @@ -637,6 +637,17 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state, #endif if (info->aux_usage != ISL_AUX_USAGE_NONE) { +#if GEN_GEN >= 11 + /* From the Ice Lake BSpec, RENDER_SURFACE_STATE: + * + * Enables Pixel backend hw to convert clear values into native format + * and write back to clear address, so that display and sampler can use + * the converted value for resolving fast cleared RTs. + */ + s.ClearColorConversionEnable = info->clear_color_conversion_enable; +#else + assert(!info->clear_color_conversion_enable); +#endif #if GEN_GEN >= 10 s.ClearValueAddressEnable = true; s.ClearValueAddress = info->clear_address; -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev