[Mesa-dev] [PATCH 2/5] i965/gen8: Allow rendering to B8G8R8X8

Anuj Phogat anuj.phogat at gmail.com
Thu Nov 19 14:47:30 PST 2015


On Thu, Nov 19, 2015 at 7:25 AM, Neil Roberts <neil at linux.intel.com> wrote:
> Since Gen8 this is allowed as a rendering target so we don't need to
> override it to B8G8R8A8. This is helpful on Gen9+ where using this
> override causes fast clears not to work.
> ---
>  src/mesa/drivers/dri/i965/brw_surface_formats.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_surface_formats.c b/src/mesa/drivers/dri/i965/brw_surface_formats.c
> index 55e7e64..7c38431 100644
> --- a/src/mesa/drivers/dri/i965/brw_surface_formats.c
> +++ b/src/mesa/drivers/dri/i965/brw_surface_formats.c
> @@ -167,8 +167,8 @@ const struct surface_format_info surface_formats[] = {
>     SF( Y, 50,  Y,  x,  x,  x,  x,  x,  x,    x,   I32_FLOAT)
>     SF( Y, 50,  Y,  x,  x,  x,  x,  x,  x,    x,   L32_FLOAT)
>     SF( Y, 50,  Y,  x,  x,  x,  x,  x,  x,    x,   A32_FLOAT)
> -   SF( Y,  Y,  x,  Y,  x,  x,  x,  x, 60,   90,   B8G8R8X8_UNORM)
> -   SF( Y,  Y,  x,  x,  x,  x,  x,  x,  x,    x,   B8G8R8X8_UNORM_SRGB)
> +   SF( Y,  Y,  x,  Y, 80, 80,  x,  x, 60,   90,   B8G8R8X8_UNORM)
> +   SF( Y,  Y,  x,  x, 80, 80,  x,  x,  x,    x,   B8G8R8X8_UNORM_SRGB)
>     SF( Y,  Y,  x,  x,  x,  x,  x,  x,  x,    x,   R8G8B8X8_UNORM)
>     SF( Y,  Y,  x,  x,  x,  x,  x,  x,  x,    x,   R8G8B8X8_UNORM_SRGB)
>     SF( Y,  Y,  x,  x,  x,  x,  x,  x,  x,    x,   R9G9B9E5_SHAREDEXP)
> @@ -670,9 +670,10 @@ brw_init_surface_formats(struct brw_context *brw)
>           * mask writes to alpha (ala glColorMask) and reconfigure the
>           * alpha blending hardware to use GL_ONE (or GL_ZERO) for
>           * cases where GL_DST_ALPHA (or GL_ONE_MINUS_DST_ALPHA) is
> -         * used.
> +         * used. On Gen8+ BGRX is actually allowed (but not RGBX).
>           */
> -        render = BRW_SURFACEFORMAT_B8G8R8A8_UNORM;
> +         if (gen < tinfo->render_target)
> +            render = BRW_SURFACEFORMAT_B8G8R8A8_UNORM;
>          break;
>        case BRW_SURFACEFORMAT_R8G8B8X8_UNORM:
>           render = BRW_SURFACEFORMAT_R8G8B8A8_UNORM;
> --
> 1.9.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Verified in the hardware specs.
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>


More information about the mesa-dev mailing list