[Mesa-dev] [PATCH] st/mesa: set Const.MaxTextureMbytes

Brian Paul brianp at vmware.com
Mon Aug 22 16:34:00 UTC 2016


On 08/22/2016 10:26 AM, Brian Paul wrote:
> On 08/22/2016 08:06 AM, Marek Olšák wrote:
>> From: Marek Olšák <marek.olsak at amd.com>
>>
>> ---
>>   src/mesa/state_tracker/st_extensions.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/src/mesa/state_tracker/st_extensions.c
>> b/src/mesa/state_tracker/st_extensions.c
>> index 1f53bdf..ebf1f04 100644
>> --- a/src/mesa/state_tracker/st_extensions.c
>> +++ b/src/mesa/state_tracker/st_extensions.c
>> @@ -458,20 +458,22 @@ void st_init_limits(struct pipe_screen *screen,
>>       * PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS has the same
>>       * number of layers as we need, although we technically
>>       * could have more the generality is not really useful
>>       * in practicality.
>>       */
>>      c->MaxFramebufferLayers =
>>         screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS);
>>
>>      c->MaxWindowRectangles =
>>         screen->get_param(screen, PIPE_CAP_MAX_WINDOW_RECTANGLES);
>> +
>> +   c->MaxTextureMbytes = screen->get_param(screen,
>> PIPE_CAP_VIDEO_MEMORY);
>>   }
>>
>>
>>   /**
>>    * Given a member \c x of struct gl_extensions, return offset of
>>    * \c x in bytes.
>>    */
>>   #define o(x) offsetof(struct gl_extensions, x)
>>
>>
>>
>
> I'll have to update the VMware driver.  We currently return 1 for
> PIPE_CAP_VIDEO_MEMORY.
>
> freedreno returns 10 (MB).  virgl returns 0.  Some drivers like
> llvmpipe/softpipe return 0 if there's an error.
>
> Maybe we could do something like
>
> c->MaxTextureMbytes = MAX2(128, screen->get_param(screen,
> PIPE_CAP_VIDEO_MEMORY));
>
> Just to be sure we don't get a crazy small value.

BTW, a few drivers (such as softpipe/llvmpipe/svga implement 
pipe_screen::can_create_resource() so MaxTextureMbytes shouldn't matter 
for proxy texture testing.

I'm going to post a patch for our driver which returns more reasonable 
values, just to be safe.

-Brian



More information about the mesa-dev mailing list