[Mesa-dev] [PATCH] [RFC] r600g: improve flushed depth texture allocation

Marek Olšák maraeo at gmail.com
Sun Jun 24 10:24:58 PDT 2012


On Sun, Jun 24, 2012 at 6:38 PM, Vadim Girlin <vadimgirlin at gmail.com> wrote:
> On Sun, 2012-06-24 at 17:43 +0200, Marek Olšák wrote:
>> Hi Vadim,
>>
>> This is:
>>
>> Reviewed-by: Marek Olšák <maraeo at gmail.com>
>>
>> I'd like to point out an issue here, which has nothing to do with your
>> patch, just so you know.
>>
>> Flushing in create_sampler_view is wrong. Some people have been
>> wondering why depth flushes are not realiable while there is such
>> an obvious mistake right in front of them. create_sampler_view has
>> nothing to do with rendering. The only thing we know for sure is that
>> create_sampler_view is called sometime before the sampler view is used
>> (obviously), but it can be called anytime, even at context creation.
>> The correct place where the depth buffer should be flushed is
>> set_*_sampler_views (or anytime before the next drawing operation).
>>
>
> Hi, Marek,
>
> If I'm not missing something, depth flushing is already implemented as
> you said - we're just creating the texture for flushed depth in the
> create_sampler_view, and real flush is performed in the
> r600_update_derived_state. Though I suspect there is a problem with this
> patch if flushed depth texture is reallocated after creating sampler
> view state, because sampler view is not updated then. Thanks for
> pointing that out.

Ah right, sorry for the noise. The function name confused me.

>
> Probably we might want to keep flushed depth texture always in VRAM and
> use separate staging texture for transfers, instead of reallocation.
> I'll try to implement it that way.

That's a good idea.

Marek


More information about the mesa-dev mailing list