iris: RT flush for memorybarrier with texture bit
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 20 Nov 2018 19:20:27 +0000 (11:20 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Feb 2019 18:26:10 +0000 (10:26 -0800)
PIXEL_BUFFER_BARRIER_BIT turns into PIPE_BARRIER_TEXTURE and it ought
to trigger an RT flush, according to brw_memory_barrier

src/gallium/drivers/iris/iris_pipe_control.c

index 5e5a996e40b189cf4df0a781aa8301b9185953ae..52e842bc661c8c064aa08c5344adc91cf1736bf0 100644 (file)
@@ -184,17 +184,11 @@ iris_memory_barrier(struct pipe_context *ctx, unsigned flags)
               PIPE_CONTROL_CONST_CACHE_INVALIDATE;
    }
 
-   if (flags & PIPE_BARRIER_TEXTURE) {
-      bits |= PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE;
-   }
-
-   if (flags & PIPE_BARRIER_FRAMEBUFFER) {
+   if (flags & (PIPE_BARRIER_TEXTURE | PIPE_BARRIER_FRAMEBUFFER)) {
       bits |= PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE |
               PIPE_CONTROL_RENDER_TARGET_FLUSH;
    }
 
-   // XXX: MAPPED_BUFFER, QUERY_BUFFER, STREAMOUT_BUFFER, GLOBAL_BUFFER?
-
    // XXX: don't unconditionally emit flushes in both engines, we don't
    // even know if we're even using e.g. the compute engine...