[Mesa-dev] [PATCH 1/2] virgl: do not use SP_MAX_TEXTURE_*_LEVELS defines

Marek Olšák maraeo at gmail.com
Tue Aug 14 16:00:08 UTC 2018


I'm saying that the limit should be 16k except for the layer/slice
dimension where it can be 2k. See radeonsi.

Marek

On Tue, Aug 14, 2018, 11:57 AM Erik Faye-Lund <erik.faye-lund at collabora.com>
wrote:

> What are you referring to, exactly? In OpenGL, texture size-limits are per
> axis, not in total...
>
> On Tue, Aug 14, 2018 at 5:43 PM, Marek Olšák <maraeo at gmail.com> wrote:
>
> You could have a 3d or cube texture where 1 or 2 dimensions are 16k.
>
> Marek
>
> On Tue, Aug 14, 2018, 9:02 AM Erik Faye-Lund <erik.faye-lund at collabora.com>
> wrote:
>
>> These macro-names are also used for softpipe, so let's avoid confusion
>> by avoiding them. Besides, they are just used in one place in virgl, so
>> let's just inline them into the place they are used instead.
>>
>> While we're at it, fixup an error in the comment for the 3D version.
>> Mesa subtracts computes max-size by doing by 2^(n-1), which means this
>> should be 256 cubed, not 512 cubed. The other comments are correct.
>>
>> Signed-off-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
>> ---
>>  src/gallium/drivers/virgl/virgl_screen.c | 10 +++-------
>>  1 file changed, 3 insertions(+), 7 deletions(-)
>>
>> diff --git a/src/gallium/drivers/virgl/virgl_screen.c
>> b/src/gallium/drivers/virgl/virgl_screen.c
>> index 87ce3b7355..0ac976acbd 100644
>> --- a/src/gallium/drivers/virgl/virgl_screen.c
>> +++ b/src/gallium/drivers/virgl/virgl_screen.c
>> @@ -35,10 +35,6 @@
>>  #include "virgl_public.h"
>>  #include "virgl_context.h"
>>
>> -#define SP_MAX_TEXTURE_2D_LEVELS 15  /* 16K x 16K */
>> -#define SP_MAX_TEXTURE_3D_LEVELS 9   /* 512 x 512 x 512 */
>> -#define SP_MAX_TEXTURE_CUBE_LEVELS 13  /* 4K x 4K */
>> -
>>  static const char *
>>  virgl_get_vendor(struct pipe_screen *screen)
>>  {
>> @@ -76,11 +72,11 @@ virgl_get_param(struct pipe_screen *screen, enum
>> pipe_cap param)
>>     case PIPE_CAP_TEXTURE_SWIZZLE:
>>        return 1;
>>     case PIPE_CAP_MAX_TEXTURE_2D_LEVELS:
>> -      return SP_MAX_TEXTURE_2D_LEVELS;
>> +      return 15; /* 16K x 16K */
>>     case PIPE_CAP_MAX_TEXTURE_3D_LEVELS:
>> -      return SP_MAX_TEXTURE_3D_LEVELS;
>> +      return 9; /* 256 x 256 x 256 */
>>     case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS:
>> -      return SP_MAX_TEXTURE_CUBE_LEVELS;
>> +      return 13; /* 4K x 4K */
>>     case PIPE_CAP_BLEND_EQUATION_SEPARATE:
>>        return 1;
>>     case PIPE_CAP_INDEP_BLEND_ENABLE:
>> --
>> 2.17.1
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180814/00a1614a/attachment.html>


More information about the mesa-dev mailing list