[Mesa-dev] [PATCH 1/2] intel/blorp: Support clearing L8_UNORM_SRGB surfaces

Kenneth Graunke kenneth at whitecape.org
Mon Sep 18 23:19:42 UTC 2017


On Monday, September 11, 2017 8:51:54 AM PDT Jason Ekstrand wrote:
> Vulkan needs to be able to clear any texture you can create.  We want to
> add support for VK_FORMAT_R8_SRGB and we need to use L8_UNORM_SRGB to do
> that so we need to be able to clear it.
> ---
>  src/intel/blorp/blorp_clear.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/src/intel/blorp/blorp_clear.c b/src/intel/blorp/blorp_clear.c
> index 0feebef..94eba7b 100644
> --- a/src/intel/blorp/blorp_clear.c
> +++ b/src/intel/blorp/blorp_clear.c
> @@ -25,6 +25,7 @@
>  
>  #include "main/macros.h" /* Needed for MAX3 and MAX2 for format_rgb9e5 */
>  #include "util/format_rgb9e5.h"
> +#include "util/format_srgb.h"
>  
>  #include "blorp_priv.h"
>  #include "compiler/brw_eu_defines.h"
> @@ -382,6 +383,9 @@ blorp_clear(struct blorp_batch *batch,
>     if (format == ISL_FORMAT_R9G9B9E5_SHAREDEXP) {
>        clear_color.u32[0] = float3_to_rgb9e5(clear_color.f32);
>        format = ISL_FORMAT_R32_UINT;
> +   } else if (format == ISL_FORMAT_L8_UNORM_SRGB) {
> +      clear_color.f32[0] = util_format_linear_to_srgb_float(clear_color.f32[0]);
> +      format = ISL_FORMAT_R8_UNORM;
>     } else if (format == ISL_FORMAT_A4B4G4R4_UNORM) {
>        /* Broadwell and earlier cannot render to this format so we need to work
>         * around it by swapping the colors around and using B4G4R4A4 instead.
> 

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170918/18de442e/attachment.sig>


More information about the mesa-dev mailing list