summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2015-08-13 15:39:40 -0400
committerIlia Mirkin <[email protected]>2015-09-23 15:49:54 -0400
commit71e187430cdd1d82972554d7f9e994a41847bea1 (patch)
treedbcaa8609f55bf45d0db67d2124ed74f4a1ad285
parent31a36ffbc81a4dd79b91bf0fc59f0e5f8d44dbd7 (diff)
i965: add ARB_texture_barrier support
Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
-rw-r--r--docs/GL3.txt2
-rw-r--r--docs/relnotes/11.1.0.html1
-rw-r--r--src/mesa/drivers/dri/i965/intel_extensions.c1
-rw-r--r--src/mesa/drivers/dri/i965/intel_tex.c9
4 files changed, 12 insertions, 1 deletions
diff --git a/docs/GL3.txt b/docs/GL3.txt
index 92941cf0d74..b0805f00ef5 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 DONE (i965, nv50, nvc0, r600, radeonsi)
- 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/EGL 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.1.0.html b/docs/relnotes/11.1.0.html
index 89b9a191176..e28fab6060c 100644
--- a/docs/relnotes/11.1.0.html
+++ b/docs/relnotes/11.1.0.html
@@ -46,6 +46,7 @@ Note: some of the new features are only available with certain drivers.
<ul>
<li>GL_ARB_blend_func_extended on freedreno (a3xx)</li>
<li>GL_ARB_shader_texture_image_samples on i965, nv50, nvc0, r600, radeonsi</li>
+<li>GL_ARB_texture_barrier / GL_NV_texture_barrier on i965</li>
<li>GL_ARB_texture_query_lod on softpipe</li>
<li>GL_ARB_gpu_shader_fp64 on r600 for Cypress/Cayman/Aruba chips</li>
</ul>
diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c
index e6d39e00788..1873827cacf 100644
--- a/src/mesa/drivers/dri/i965/intel_extensions.c
+++ b/src/mesa/drivers/dri/i965/intel_extensions.c
@@ -248,6 +248,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 e16b0def0d4..cac33ac64a7 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;
}