[Mesa-dev] [PATCH] mesa/st: add support for dynamic sampler offsets

Marek Olšák maraeo at gmail.com
Sat Aug 9 06:31:39 PDT 2014


Acked-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Sat, Aug 9, 2014 at 7:52 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> So... can I get a review on this? It's the last bit needed for ARB_gs5
> (well, except for the actual setting of the extension bit to 1)
>
> The only additional change I have in my local version is that instead of
>
> +      inst->sampler_array_size =
> +         ir->sampler->as_dereference_array()
> +            ->array->variable_referenced()->type->length;
>
> I use ir->sampler->as_dereference_array()->array->type->array_size()
>
> I sent out a few piglits and they pass with the nvc0 driver on both
> fermi and kepler hw (which do textures a little differently from one
> another).
>
>   -ilia
>
>
> On Wed, Aug 6, 2014 at 12:02 PM, Marek Olšák <maraeo at gmail.com> wrote:
>> On Wed, Aug 6, 2014 at 5:53 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>>>       pc->MaxAddressRegs     = pc->MaxNativeAddressRegs     =
>>>          _min(screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_ADDRS),
>>>               MAX_PROGRAM_ADDRESS_REGS);
>>>
>>> Not really sure what that's referring to... ARB_vp/fp or something?
>>
>> Yes, ARB_vp needs 1, ARB_fp doesn't support indirect addresing (expects 0).
>>
>>>
>>> Anyways, this is definitely a bit of a violation of that. OTOH, so is
>>> the indirect UBO indexing and indirect GS input access (assuming
>>> that's allowed), since those would use ADDR[1] and every driver
>>> (except nv30) returns 1, and sometimes 0 -- including
>>> nv50/nvc0/r600/radeonsi.
>>>
>>> So... dunno what the proper way to proceed is. Fix drivers to claim
>>> higher numbers? Continue the tradition of ignoring it and relying on
>>> the fact that GPU's that don't support it also won't support the
>>> features that cause it to get used?
>>
>> You don't have to worry about that for now. We can clean it up later.
>>
>> Marek


More information about the mesa-dev mailing list