From: Dave Airlie Date: Tue, 27 Aug 2019 04:43:33 +0000 (+1000) Subject: llvmpipe: introduce new state dirty tracking for compute. X-Git-Tag: upstream/19.3.0~2241 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fc01fafdbc83830bd98497378ad22953bcba502c;p=platform%2Fupstream%2Fmesa.git llvmpipe: introduce new state dirty tracking for compute. Compute doesn't share dirty state with the fragment pipeline so create a separate path for it. Reviewed-by: Roland Scheidegger --- diff --git a/src/gallium/drivers/llvmpipe/lp_context.h b/src/gallium/drivers/llvmpipe/lp_context.h index f1c2d40..1fd0d0a 100644 --- a/src/gallium/drivers/llvmpipe/lp_context.h +++ b/src/gallium/drivers/llvmpipe/lp_context.h @@ -104,7 +104,7 @@ struct llvmpipe_context { unsigned active_occlusion_queries; unsigned dirty; /**< Mask of LP_NEW_x flags */ - + unsigned cs_dirty; /**< Mask of LP_CSNEW_x flags */ /** Mapped vertex buffers */ ubyte *mapped_vbuffer[PIPE_MAX_ATTRIBS]; diff --git a/src/gallium/drivers/llvmpipe/lp_state.h b/src/gallium/drivers/llvmpipe/lp_state.h index 46885a7..8f22deb 100644 --- a/src/gallium/drivers/llvmpipe/lp_state.h +++ b/src/gallium/drivers/llvmpipe/lp_state.h @@ -59,6 +59,7 @@ #define LP_NEW_FS_SSBOS 0x80000 #define LP_NEW_FS_IMAGES 0x100000 +#define LP_CSNEW_CS 0x1 struct vertex_info; struct pipe_context; diff --git a/src/gallium/drivers/llvmpipe/lp_state_cs.c b/src/gallium/drivers/llvmpipe/lp_state_cs.c index cc515c4..0da8626 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_cs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_cs.c @@ -61,6 +61,7 @@ llvmpipe_bind_compute_state(struct pipe_context *pipe, return; llvmpipe->cs = (struct lp_compute_shader *)cs; + llvmpipe->cs_dirty |= LP_CSNEW_CS; } /**