i965/barrier: Do the correct flushes for texture updates
Texture uploads and downloads may go through the render pipe which may result in texturing from or rendering to the texture or the PBO. We need to flush accordingly. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
2f1cdd7137
commit
45991479a3
|
@ -268,8 +268,10 @@ brw_memory_barrier(struct gl_context *ctx, GLbitfield barriers)
|
|||
if (barriers & GL_TEXTURE_FETCH_BARRIER_BIT)
|
||||
bits |= PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE;
|
||||
|
||||
if (barriers & GL_TEXTURE_UPDATE_BARRIER_BIT)
|
||||
bits |= PIPE_CONTROL_RENDER_TARGET_FLUSH;
|
||||
if (barriers & (GL_TEXTURE_UPDATE_BARRIER_BIT |
|
||||
GL_PIXEL_BUFFER_BARRIER_BIT))
|
||||
bits |= (PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE |
|
||||
PIPE_CONTROL_RENDER_TARGET_FLUSH);
|
||||
|
||||
if (barriers & GL_FRAMEBUFFER_BARRIER_BIT)
|
||||
bits |= (PIPE_CONTROL_DEPTH_CACHE_FLUSH |
|
||||
|
|
Loading…
Reference in New Issue