[Mesa-dev] [PATCH 3/3] radeonsi: fix the max vertex shader input limit
Vadim Girlin
vadimgirlin at gmail.com
Thu May 2 08:04:29 PDT 2013
On 05/02/2013 11:06 AM, Michel Dänzer wrote:
> On Don, 2013-05-02 at 05:45 +0200, Marek Olšák wrote:
>> ---
>> src/gallium/drivers/radeonsi/radeonsi_pipe.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/gallium/drivers/radeonsi/radeonsi_pipe.c b/src/gallium/drivers/radeonsi/radeonsi_pipe.c
>> index c923c67..3b9be54 100644
>> --- a/src/gallium/drivers/radeonsi/radeonsi_pipe.c
>> +++ b/src/gallium/drivers/radeonsi/radeonsi_pipe.c
>> @@ -481,7 +481,7 @@ static int r600_get_shader_param(struct pipe_screen* pscreen, unsigned shader, e
>> case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH:
>> return 32;
>> case PIPE_SHADER_CAP_MAX_INPUTS:
>> - return 32;
>> + return shader == PIPE_SHADER_VERTEX ? 16 : 32;
>
> For r600g, I assume the limit of 16 is due to the number of hardware
> registers available for vertex shader inputs,
AFAIK there is no such limit on r600 hw as well. IIRC there are at least
32 registers for semantic fetch mapping, but I think we aren't limited
even by this because we can use non-semantic fetches (and currently we
don't use semantic fetches at all). Am I missing something?
Vadim
> but as of SI the state is
> no longer stored in registers but in resource descriptors in a BO. In
> theory, I think we could even support many more inputs than 32, but
> let's just leave it at that for now.
>
More information about the mesa-dev
mailing list