On Thu, Feb 25, 2010 at 12:39 PM, michal <mic...@vmware.com> wrote:
> Roland Scheidegger wrote on 2010-02-24 15:18:
>> On 24.02.2010 12:48, Christoph Bumiller wrote:
>>
>>> This wasn't a problem before because textures and samplers were
>>> linked 1:1, but in view of the gallium-gpu4-texture-opcodes branch,
>>> this coordinate normalization bit becomes a problem.
>>>
>>> NV50 hardware has that bit in the RESOURCE binding, and not the
>>> SAMPLER binding, and you can imagine that this will lead to us having
>>> to jump through a few annoying looking hoops to accomodate.
>>>
>>> As far as I can see, neither D3D10 nor D3D11 nor OpenGL nor CUDA have
>>> sampler states that are decoupled from the texture, and which contain
>>> a normalized coordinates bit, so it's worth considering not having it there
>>> in gallium either.
>>>
>>> For OpenGL, unnormalized coordinates are only used for RECT textures,
>>> and in this case it makes sense to make it a property of the texture.
>>>
>>
>> I agree this is not sampler state, but I don't quite agree this should
>> be texture state.
>> This changes how texture coordinates get interpreted in the interpolator
>> - in that sense it is similar to the cylindrical texture coord wrap
>> which we moved away from sampler state recently. This one got moved to
>> shader declaration. I wonder if the normalization bit should be treated
>> the same.
>> Though OTOH you're quite right that in OpenGL this really is texture
>> property (it is a different texture target after all), and afaik d3d
>> doesn't support non-normalized coords (?). Hmm...
>>
>>
> Isn't it the case that for RECT targets we clear the bit, and for others
> we always set it?
>
> In mesa st I see:
>
>         if (texobj->Target != GL_TEXTURE_RECTANGLE_ARB)
>            sampler->normalized_coords = 1;
>
> By definition, RECT texture with normalised coordinates is just an NPOT.
> If we removed this apparently redundant flag, would that make nouveau
> developers life easier?
>

FWIW, r3xx-r5xx always requires normalized coords, the normalization
is currently done in the shader.  On r6xx+, you can specify normalized
or non-normalized coords in the tex instructions.

Alex


>>
>>
>>> And, finally, I've seen you reverted the changes for independent image
>>> and sampler index in the texture opcodes. What's up with that ?
>>> Is the code not nice enough, or has the idea been discarded and by problem
>>> disappears ?
>>>
>>>
>
> Please consider this branch dead. It will be easier for me to introduce
> new, optional sampler and fetch opcodes a'la GL 3.0. There's just too
> much code to fix and test and we still want the older hardware not to
> stand on its head to try and translate back to old model.
>
> Thanks.
>
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Mesa3d-dev mailing list
> Mesa3d-dev@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
>

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to