[Mesa-dev] [PATCH] mesa: raise maximum viewport and texture size to 8192
Marek Olšák
maraeo at gmail.com
Mon Nov 29 09:00:34 PST 2010
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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20101129/5aae45b3/attachment.htm>
More information about the mesa-dev
mailing list