[Mesa-dev] [PATCH] i965: add ARB_texture_barrier support

Ilia Mirkin imirkin at alum.mit.edu
Fri Aug 14 11:38:06 PDT 2015


On Fri, Aug 14, 2015 at 2:34 PM, Eric Anholt <eric at anholt.net> wrote:
> Ilia Mirkin <imirkin at alum.mit.edu> writes:
>
>> On Thu, Aug 13, 2015 at 7:19 PM, Eric Anholt <eric at anholt.net> wrote:
>>> Ilia Mirkin <imirkin at alum.mit.edu> writes:
>>>
>>>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
>>>> ---
>>>>
>>>> The blending-in-shader piglit test passed even without the flush,
>>>> which doesn't inspire me with confidence, but those piglit_draw_rect
>>>> things are pretty heavy so perhaps cause a flush on their own anyways.
>>>
>>> I think you don't actually need the hook, because of the
>>> brw_render_cache_set_check_flush(brw, tex_obj->mt->bo) in
>>> intel_update_state().  You should be able to confirm that you're getting
>>> those pipe controls between your draws using INTEL_DEBUG=batch
>>
>> I'm a complete newbie when it comes to the i965 driver, but why would
>> intel_update_state() get called in between sequential draws? The idea
>> is that you can do things like
>>
>> tex0 = tex;
>> fb = tex;
>> draw;
>> barrier;
>> draw;
>> barrier;
>> draw;
>>
>> which is actually exactly what the blending-in-shader piglit does. So
>> there should be no extra state updates between them. Am I missing
>> something?
>
> Not sure, was just giving my best guess as to why the test was working
> already.  You'd probably need to trace and see if you always get an
> updatestate between draws.

Oh right. That could well be the reason why that test works. But it's
not at all guaranteed that there will be an updatestate between the
two draws.

  -ilia


More information about the mesa-dev mailing list