From: Keith Whitwell Date: Mon, 29 Nov 2010 19:18:54 +0000 (+0000) Subject: llvmpipe: raise dirty flag on transfers to bound constbuf X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2d31f048cec5d408c8bac758566c49fe14fac2ac;p=mesa.git llvmpipe: raise dirty flag on transfers to bound constbuf Need this to trigger the scene to update its shadow of the constant state. --- diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c index a4b9f2590af..f78cd60b37c 100644 --- a/src/gallium/drivers/llvmpipe/lp_texture.c +++ b/src/gallium/drivers/llvmpipe/lp_texture.c @@ -49,6 +49,7 @@ #include "lp_tile_image.h" #include "lp_texture.h" #include "lp_setup.h" +#include "lp_state.h" #include "state_tracker/sw_winsys.h" @@ -566,6 +567,7 @@ llvmpipe_get_transfer(struct pipe_context *pipe, unsigned usage, const struct pipe_box *box) { + struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe); struct llvmpipe_resource *lprex = llvmpipe_resource(resource); struct llvmpipe_transfer *lpr; @@ -594,6 +596,9 @@ llvmpipe_get_transfer(struct pipe_context *pipe, } } + if (resource == llvmpipe->constants[PIPE_SHADER_FRAGMENT][0]) + llvmpipe->dirty |= LP_NEW_CONSTANTS; + lpr = CALLOC_STRUCT(llvmpipe_transfer); if (lpr) { struct pipe_transfer *pt = &lpr->base;