summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2016-06-09 12:12:34 +0200
committerNicolai Hähnle <[email protected]>2016-06-21 10:54:00 +0200
commitc542b7e43d3a504456518c9f407e21c4e7e5fa88 (patch)
treea0ad60f63e676e9d42b0b31003734e28a9f1152f /src/mesa/state_tracker
parent644e015f0b9236e955d679cac4bcc7a1523fc475 (diff)
st/mesa: flush bitmap cache before compute dispatch
In the unlikely case that a program uses glBitmap to render to a framebuffer whose texture is bound in a compute shader. Found by inspection. Cc: 11.2 12.0 <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r--src/mesa/state_tracker/st_cb_compute.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_cb_compute.c b/src/mesa/state_tracker/st_cb_compute.c
index bfc6d96cd57..063d750d03a 100644
--- a/src/mesa/state_tracker/st_cb_compute.c
+++ b/src/mesa/state_tracker/st_cb_compute.c
@@ -28,6 +28,7 @@
#include "main/state.h"
#include "st_atom.h"
#include "st_context.h"
+#include "st_cb_bitmap.h"
#include "st_cb_bufferobjects.h"
#include "st_cb_compute.h"
@@ -44,6 +45,8 @@ static void st_dispatch_compute_common(struct gl_context *ctx,
struct pipe_context *pipe = st->pipe;
struct pipe_grid_info info = { 0 };
+ st_flush_bitmap_cache(st);
+
if (ctx->NewState)
_mesa_update_state(ctx);