[Mesa-dev] [PATCH 2/2] st/mesa: try PIPE_BIND_RENDER_TARGET when choosing float texture formats

Brian Paul brianp at vmware.com
Tue Sep 29 10:50:52 PDT 2015


I was actually thinking of expanding this change to cover _all_ color 
formats but wanted to take a small step first.  What do you think?

-Brian

On 09/29/2015 11:46 AM, Roland Scheidegger wrote:
> If that was due to some rgb vs. rgbx thing (that is, could texture from
> rgb but only render to rgbx) I wonder if the same logic shouldn't also
> apply to the integer formats.
> But either way (I guess the app should check fbo completeness in any
> case so strictly speaking for correctness this isn't really required)
>
> Reviewed-by: Roland Scheidegger <sroland at vmware.com>
>
> Am 29.09.2015 um 17:39 schrieb Brian Paul:
>> For 8-bit RGB(A) texture formats we set the PIPE_BIND_RENDER_TARGET flag
>> to try to get a hardware format which also supports rendering (for FBO
>> textures).  Do the same thing for floating point formats.
>>
>> This allows the Redway Flat demo to run.
>> ---
>>   src/mesa/state_tracker/st_format.c | 6 +++++-
>>   1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c
>> index 0c94428..144b7d6 100644
>> --- a/src/mesa/state_tracker/st_format.c
>> +++ b/src/mesa/state_tracker/st_format.c
>> @@ -1963,7 +1963,11 @@ st_ChooseTextureFormat(struct gl_context *ctx, GLenum target,
>>      else if (internalFormat == 3 || internalFormat == 4 ||
>>               internalFormat == GL_RGB || internalFormat == GL_RGBA ||
>>               internalFormat == GL_RGB8 || internalFormat == GL_RGBA8 ||
>> -            internalFormat == GL_BGRA)
>> +            internalFormat == GL_BGRA ||
>> +            internalFormat == GL_RGB16F ||
>> +            internalFormat == GL_RGBA16F ||
>> +            internalFormat == GL_RGB32F ||
>> +            internalFormat == GL_RGBA32F)
>>   	 bindings |= PIPE_BIND_RENDER_TARGET;
>>
>>      /* GLES allows the driver to choose any format which matches
>>
>



More information about the mesa-dev mailing list