[Mesa-dev] [PATCH] linker: Reject shaders that use too many varyings

Roland Scheidegger sroland at vmware.com
Mon Jun 27 15:53:04 PDT 2011


Am 28.06.2011 00:12, schrieb Ian Romanick:
> On 06/23/2011 07:56 AM, Alex Deucher wrote:
>> On Thu, Jun 23, 2011 at 10:38 AM, Roland Scheidegger <sroland at vmware.com> wrote:
>>> Am 23.06.2011 16:09, schrieb Jerome Glisse:
>>>> On Wed, Jun 22, 2011 at 10:49 PM, Alex Deucher <alexdeucher at gmail.com> wrote:
>>>>> On Wed, Jun 22, 2011 at 10:12 PM, Roland Scheidegger <sroland at vmware.com> wrote:
>>>>>> Am 21.06.2011 20:59, schrieb Sven Arvidsson:
>>>>>>> This change broke a whole lot of stuff on r600g, for example Unigine
>>>>>>> Heaven:
>>>>>>>
>>>>>>>       shader uses too many varying components (36 > 32)
>>>>>>
>>>>>> It looks like the r600g driver claims to only support 10 varyings, which
>>>>>> the state tracker reduces to 8 (as it subtracts the supposedly included
>>>>>> color varyings).
>>>>>> At first sight I can't quite see why it's limited to 10, all r600 chips
>>>>>> should be able to handle 32 (dx10 requirement) but of course the driver
>>>>>> might not (mesa itself is limited to 16 it seems). If it worked just
>>>>>> fine before that suggests it indeed works just fine with more...
>>>>>> Someone more familiar with the driver should be able to tell if it's
>>>>>> safe to increase the limit to 32 (the state tracker will cap it to 16).
>>>>>
>>>>> The hardware definitely supports 32.  I'm not sure why it's currently
>>>>> set to 10; I don't see any limitations in the code off hand.
>>>>>
>>>>> Alex
>>>>
>>>> IIRC it's just cut & paste from r300g it can be safely bump
>>>
>>> Ok Marek bumped it to 34. That seems to be lying too I don't think it
>>> could handle 32 generic inputs and 2 colors. But there's no way to
>>> really express that right now.
> 
>> In addition to the routed inputs, you can also enable a bunch of hw
>> generated inputs, but I think both generated and routed inputs
>> combined are limited to 32 input slots.
> 
> Was there any resolution to this issue?  I'd like to cherry pick the
> linker patch to the 7.10 branch, but I don't want to regress r600g.

Yes, 1e5cef96d184b00eb588b48ecd02386998077d82 bumped the limits. It
wasn't pushed to 7.10 though I believe it should be safe to do so.

Roland


More information about the mesa-dev mailing list