diff options
author | Dave Airlie <[email protected]> | 2019-08-27 14:43:33 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2019-09-04 15:22:20 +1000 |
commit | fc01fafdbc83830bd98497378ad22953bcba502c (patch) | |
tree | 0968d31f74a7408ef10b3b54dff5dbd9a0283dc1 /src | |
parent | a6f6ca37c82bb6810971cab0dccc308e4d28a05a (diff) |
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 <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_context.h | 2 | ||||
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_state.h | 1 | ||||
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_state_cs.c | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_context.h b/src/gallium/drivers/llvmpipe/lp_context.h index f1c2d40f9eb..1fd0d0a2dea 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 46885a7e701..8f22debed41 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 cc515c43075..0da862626bc 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; } /** |