As Eric mentioned, we may not *need* the extra PIPE_CONTROL. However, that's going to take some thinking and it's mostly a performance thing; this patch should be correct.
Reviewed-by: Jason Ekstrand <jason.ekstr...@intel.com> On Thu, Sep 10, 2015 at 5:56 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote: > ping > > On Thu, Aug 13, 2015 at 3:42 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote: >> Signed-off-by: Ilia Mirkin <imir...@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. >> >> docs/GL3.txt | 2 +- >> docs/relnotes/11.0.0.html | 1 + >> src/mesa/drivers/dri/i965/intel_extensions.c | 1 + >> src/mesa/drivers/dri/i965/intel_tex.c | 9 +++++++++ >> 4 files changed, 12 insertions(+), 1 deletion(-) >> >> diff --git a/docs/GL3.txt b/docs/GL3.txt >> index 54c0c5a..ed0e160 100644 >> --- a/docs/GL3.txt >> +++ b/docs/GL3.txt >> @@ -195,7 +195,7 @@ GL 4.5, GLSL 4.50: >> GL_ARB_direct_state_access DONE (all drivers) >> GL_ARB_get_texture_sub_image DONE (all drivers) >> GL_ARB_shader_texture_image_samples not started >> - GL_ARB_texture_barrier DONE (nv50, nvc0, >> r600, radeonsi) >> + GL_ARB_texture_barrier DONE (i965, nv50, >> nvc0, r600, radeonsi) >> GL_KHR_context_flush_control DONE (all - but >> needs GLX/EXT extension to be useful) >> GL_KHR_robust_buffer_access_behavior not started >> GL_KHR_robustness 90% done (the ARB >> variant) >> diff --git a/docs/relnotes/11.0.0.html b/docs/relnotes/11.0.0.html >> index 2d80198..15b0477 100644 >> --- a/docs/relnotes/11.0.0.html >> +++ b/docs/relnotes/11.0.0.html >> @@ -56,6 +56,7 @@ Note: some of the new features are only available with >> certain drivers. >> <li>GL_ARB_shader_stencil_export on llvmpipe</li> >> <li>GL_ARB_shader_subroutine on core profile all drivers</li> >> <li>GL_ARB_tessellation_shader on nvc0, radeonsi</li> >> +<li>GL_ARB_texture_barrier / GL_NV_texture_barrier on i965</li> >> <li>GL_ARB_vertex_attrib_64bit on llvmpipe, radeonsi</li> >> <li>GL_ARB_viewport_array on radeonsi</li> >> <li>GLX_ARB_create_context_robustness on r600, radeonsi</li> >> diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c >> b/src/mesa/drivers/dri/i965/intel_extensions.c >> index 24229af..ee9abe5 100644 >> --- a/src/mesa/drivers/dri/i965/intel_extensions.c >> +++ b/src/mesa/drivers/dri/i965/intel_extensions.c >> @@ -250,6 +250,7 @@ intelInitExtensions(struct gl_context *ctx) >> ctx->Extensions.MESA_pack_invert = true; >> ctx->Extensions.NV_conditional_render = true; >> ctx->Extensions.NV_primitive_restart = true; >> + ctx->Extensions.NV_texture_barrier = true; >> ctx->Extensions.NV_texture_env_combine4 = true; >> ctx->Extensions.NV_texture_rectangle = true; >> ctx->Extensions.TDFX_texture_compression_FXT1 = true; >> diff --git a/src/mesa/drivers/dri/i965/intel_tex.c >> b/src/mesa/drivers/dri/i965/intel_tex.c >> index e16b0de..cac33ac 100644 >> --- a/src/mesa/drivers/dri/i965/intel_tex.c >> +++ b/src/mesa/drivers/dri/i965/intel_tex.c >> @@ -357,6 +357,14 @@ intel_set_texture_storage_for_buffer_object(struct >> gl_context *ctx, >> return true; >> } >> >> +static void >> +intel_texture_barrier(struct gl_context *ctx) >> +{ >> + struct brw_context *brw = brw_context(ctx); >> + >> + brw_emit_mi_flush(brw); >> +} >> + >> void >> intelInitTextureFuncs(struct dd_function_table *functions) >> { >> @@ -372,4 +380,5 @@ intelInitTextureFuncs(struct dd_function_table >> *functions) >> functions->TextureView = intel_texture_view; >> functions->SetTextureStorageForBufferObject = >> intel_set_texture_storage_for_buffer_object; >> + functions->TextureBarrier = intel_texture_barrier; >> } >> -- >> 2.4.6 >> > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev