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

Ilia Mirkin imirkin at alum.mit.edu
Thu Aug 13 16:25:09 PDT 2015


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?

However blending-in-shader uses piglit_draw_rect, which probably does
horrible things like immediate vertices and/or changing vbo's, which
in turn could trigger a flush?

  -ilia


More information about the mesa-dev mailing list