[Mesa-dev] [PATCH] mesa: increase the relative address offset limit to 4096 in ARB_vp/fp

Marek Olšák maraeo at gmail.com
Sun Aug 1 14:49:21 PDT 2010


On Sun, Aug 1, 2010 at 7:27 PM, Eric Anholt <eric at anholt.net> wrote:

> On Sat, 31 Jul 2010 20:32:29 +0200, Marek Olšák <maraeo at gmail.com> wrote:
> > Also program_parse.tab.c has been regenerated.
> >
> > This fixes the parser error:
> >
> >   ARB_vp: error: relative address offset too large
> >
> > See also: https://bugs.freedesktop.org/show_bug.cgi?id=28628
> >
> > 4096 * sizeof(vec4) is the maximum size of the constant buffer on NV50,
> > so it is a reasonable limit, at least for now.
> > (should there be any limit at all?)
> >
> > Piglit: vp-arl-constant-array-huge-relative-offset
>
> The limit comes from:
>
>    (26) What limits should be imposed on the constants that can be added to
>    or subtracted from the address register for relative addressing?
>  Negative
>    offsets are sometimes useful for shifting down in an array.
>
>      RESOLVED:  -64 to +63 should be sufficient for the time being.  Offset
>      sizes are limited to allow offsets to be baked into device-dependent
>      instruction encodings.
>
> so wine is really being nonportable here and should handle it itself,
> but I'm fine with just removing the limits in the core and letting the
> drivers complain if they can't be supported.


OK. The thing is proprietary drivers allow much larger offsets than -64/+63.

4096 doesn't make sense as
> a limit, as constant buffer size limits should already be expressed
> through MAX_PROGRAM_PARAMETERS_ARB.
>

It is not supposed to be a definite hardware limit, it is just large enough
for it not to get in the way.

-Marek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20100801/9afd83bf/attachment.html>


More information about the mesa-dev mailing list