[Mesa-dev] [PATCH 11/15] mesa: Add fallback from RGB_FLOAT16 to RGBA_FLOAT16 before RGBA_FLOAT32.
Jose Fonseca
jfonseca at vmware.com
Wed Nov 16 01:51:31 PST 2011
Neither DX9 or DX10 expose equivalent to GL_RGB16F_ARB:
- http://msdn.microsoft.com/en-us/library/bb172558.aspx (D3D9)
- http://msdn.microsoft.com/en-us/library/bb173059.aspx (D3D10)
So probably no hardware ever will support them.
Even for software rendering it is a very nasty format to support, because it is not 32bits aligned (48bits).
Unfortunately it doesn't look like we can simply not support GL_RGB16F_ARB though.
----- Original Message -----
> The i965 driver can't do RGB float16 at all.
> ---
> src/mesa/main/texformat.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/src/mesa/main/texformat.c b/src/mesa/main/texformat.c
> index aebe38e..ea42ced 100644
> --- a/src/mesa/main/texformat.c
> +++ b/src/mesa/main/texformat.c
> @@ -357,6 +357,7 @@ _mesa_choose_tex_format( struct gl_context *ctx,
> GLint internalFormat,
> case GL_RGB16F_ARB:
> RETURN_IF_SUPPORTED(MESA_FORMAT_RGB_FLOAT16);
> RETURN_IF_SUPPORTED(MESA_FORMAT_RGB_FLOAT32);
> + RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT16);
RGB_FLOAT32 is 96bits where as RGBA_FLOAT16 is 64bits, so I think that RGBA_FLOAT16 should be tried before RGB_FLOAT32, as it is better from all POVs
> RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FLOAT32);
> break;
> case GL_RGB32F_ARB:
Jose
More information about the mesa-dev
mailing list