[Mesa-dev] [PATCH] mesa: raise maximum viewport and texture size to 8192

Alex Deucher alexdeucher at gmail.com
Wed Dec 1 17:41:14 PST 2010


Looks good to me too.  Once you've applied it, I'll bump the driver
limits appropriately for r6xx/7xx/evergreen.

Alex

On Mon, Nov 29, 2010 at 12:00 PM, Marek Olšák <maraeo at gmail.com> wrote:
> FWIW, it looks good to me.
>
> Marek
>
> On Wed, Nov 24, 2010 at 8:18 PM, Brian Paul <brianp at vmware.com> wrote:
>>
>> On 11/24/2010 12:10 PM, Brian Paul wrote:
>>>
>>> On 11/24/2010 10:20 AM, Brian Paul wrote:
>>>>
>>>> On 11/24/2010 05:23 AM, Marek Olšák wrote:
>>>>>
>>>>> In order to be able to create and render to textures of size 8192x8192
>>>>> on r600 and nv50, including 3D textures like 8192x4x4.
>>>>>
>>>>> Two new piglit tests have been added to test this: fbo-maxsize and
>>>>> tex3d-maxsize.
>>>>>
>>>>> Driver status:
>>>>> swrast passes fbo-maxsize and segfaults in tex3d-maxsize.
>>>>> softpipe and r300g pass both.
>>>>> (r300g returns GL_OUT_OF_MEMORY in tex3d-maxsize).
>>>>>
>>>>> Cc: Brian Paul<brianp at vmware.com>
>>>>> Signed-off-by: Marek Olšák<maraeo at gmail.com>
>>>>> ---
>>>>> src/mesa/main/config.h | 14 +++++++-------
>>>>> 1 files changed, 7 insertions(+), 7 deletions(-)
>>>>>
>>>>> diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h
>>>>> index 0f2d1a8..5388069 100644
>>>>> --- a/src/mesa/main/config.h
>>>>> +++ b/src/mesa/main/config.h
>>>>> @@ -98,16 +98,16 @@
>>>>> #define MAX_COLOR_TABLE_SIZE 256
>>>>>
>>>>> /** Number of 1D/2D texture mipmap levels */
>>>>> -#define MAX_TEXTURE_LEVELS 13
>>>>> +#define MAX_TEXTURE_LEVELS 14
>>>>>
>>>>> /** Number of 3D texture mipmap levels */
>>>>> -#define MAX_3D_TEXTURE_LEVELS 9
>>>>> +#define MAX_3D_TEXTURE_LEVELS 14
>>>>>
>>>>> /** Number of cube texture mipmap levels - GL_ARB_texture_cube_map */
>>>>> -#define MAX_CUBE_TEXTURE_LEVELS 13
>>>>> +#define MAX_CUBE_TEXTURE_LEVELS 14
>>>>>
>>>>> /** Maximum rectangular texture size - GL_NV_texture_rectangle */
>>>>> -#define MAX_TEXTURE_RECT_SIZE 4096
>>>>> +#define MAX_TEXTURE_RECT_SIZE 8192
>>>>>
>>>>> /** Maximum number of layers in a 1D or 2D array texture -
>>>>> GL_MESA_texture_array */
>>>>> #define MAX_ARRAY_TEXTURE_LAYERS 64
>>>>> @@ -140,11 +140,11 @@
>>>>> */
>>>>>
>>>>> #ifndef MAX_WIDTH
>>>>> -# define MAX_WIDTH 4096
>>>>> +# define MAX_WIDTH 8192
>>>>> #endif
>>>>> /** Maximum viewport/image height */
>>>>> #ifndef MAX_HEIGHT
>>>>> -# define MAX_HEIGHT 4096
>>>>> +# define MAX_HEIGHT 8192
>>>>> #endif
>>>>>
>>>>> /** Maxmimum size for CVA. May be overridden by the drivers. */
>>>>> @@ -168,7 +168,7 @@
>>>>> #define MAX_TEXTURE_MAX_ANISOTROPY 16.0
>>>>>
>>>>> /** For GL_EXT_texture_lod_bias (typically MAX_TEXTURE_LEVELS - 1) */
>>>>> -#define MAX_TEXTURE_LOD_BIAS 12.0
>>>>> +#define MAX_TEXTURE_LOD_BIAS 13.0
>>>>>
>>>>> /** For any program target/extension */
>>>>> /*@{*/
>>>>
>>>> I'm OK w/ increasing the limits but there's a few other issues that need
>>>> to be fixed before this patch can be applied. I'm working on it now...
>>>
>>> Here's a more elaborate patch.
>>>
>>> It checks if the memory used by the texture is less than some limit. If
>>> the limit is exceeded, GL_OUT_OF_MEMORY is generated (unless it's a
>>> proxy texture). This lets us advertise GL_MAX_3D_TEXTURE_SIZE to be 8K
>>> (or larger) while preventing actual 8Kx8Kx8K textures but allowing
>>> 8Kx32x16, for example. This could have been implemented in each of the
>>> drivers using the ctx->Driver.TestProxyImage() hook but this patch
>>> avoids all that redundant code.
>>>
>>> I'll leave it up to driver maintainers to set the new
>>> ctx->Const.MaxTextureMBytes field to a reasonable driver. The default is
>>> currently 1GB.
>>>
>>> The max texture size is also bumped up to 16K, Alex.
>>>
>>> Ideally, we should also have a piglit test that exercises rasterization
>>> with the max possible texture/surface size to see if the fixed point
>>> rasterization really falls apart as I fear.
>>>
>>> If there's no comments/concerns I'll commit in a day or two.
>>>
>>> I've also posted a patch to the tex3d-maxsize.c test to the piglit test.
>>
>> Attachment.
>>
>> -Brian
>>
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>


More information about the mesa-dev mailing list