summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/v3d
diff options
context:
space:
mode:
authorNeil Roberts <nroberts@igalia.com>2020-09-29 17:20:31 +0200
committerNeil Roberts <nroberts@igalia.com>2020-10-04 15:29:54 +0200
commitd25504dae01eadf02a5364fc75bfcf490bc3831a (patch)
tree3629051c50e0d2e2e1af293bb9e20e6d039ef412 /src/gallium/drivers/v3d
parentef918f0e3354fbff4d9d73f6186a3dc970d43514 (diff)
v3d: Make the function to set tex dirty state for a stage global
This moves the static function v3d_dirty_tex_state_for_shader_type from v3dx_state.c to v3d_context.c and adds a declaration for it in the header so that it can be used as a general utility function in a later patch. Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6914>
Diffstat (limited to 'src/gallium/drivers/v3d')
-rw-r--r--src/gallium/drivers/v3d/v3d_context.c22
-rw-r--r--src/gallium/drivers/v3d/v3d_context.h3
-rw-r--r--src/gallium/drivers/v3d/v3dx_state.c22
3 files changed, 25 insertions, 22 deletions
diff --git a/src/gallium/drivers/v3d/v3d_context.c b/src/gallium/drivers/v3d/v3d_context.c
index 185bdc687b4..2b39b74a272 100644
--- a/src/gallium/drivers/v3d/v3d_context.c
+++ b/src/gallium/drivers/v3d/v3d_context.c
@@ -194,6 +194,28 @@ v3d_get_real_line_width(struct v3d_context *v3d)
return width;
}
+void
+v3d_flag_dirty_sampler_state(struct v3d_context *v3d,
+ enum pipe_shader_type shader)
+{
+ switch (shader) {
+ case PIPE_SHADER_VERTEX:
+ v3d->dirty |= VC5_DIRTY_VERTTEX;
+ break;
+ case PIPE_SHADER_GEOMETRY:
+ v3d->dirty |= VC5_DIRTY_GEOMTEX;
+ break;
+ case PIPE_SHADER_FRAGMENT:
+ v3d->dirty |= VC5_DIRTY_FRAGTEX;
+ break;
+ case PIPE_SHADER_COMPUTE:
+ v3d->dirty |= VC5_DIRTY_COMPTEX;
+ break;
+ default:
+ unreachable("Unsupported shader stage");
+ }
+}
+
static void
v3d_context_destroy(struct pipe_context *pctx)
{
diff --git a/src/gallium/drivers/v3d/v3d_context.h b/src/gallium/drivers/v3d/v3d_context.h
index 74df773ca9a..baf58d924ea 100644
--- a/src/gallium/drivers/v3d/v3d_context.h
+++ b/src/gallium/drivers/v3d/v3d_context.h
@@ -703,6 +703,9 @@ bool v3d_line_smoothing_enabled(struct v3d_context *v3d);
float v3d_get_real_line_width(struct v3d_context *v3d);
+void v3d_flag_dirty_sampler_state(struct v3d_context *v3d,
+ enum pipe_shader_type shader);
+
#ifdef v3dX
# include "v3dx_context.h"
#else
diff --git a/src/gallium/drivers/v3d/v3dx_state.c b/src/gallium/drivers/v3d/v3dx_state.c
index ee41b9fa75e..ee4f7d8ce59 100644
--- a/src/gallium/drivers/v3d/v3dx_state.c
+++ b/src/gallium/drivers/v3d/v3dx_state.c
@@ -771,28 +771,6 @@ v3d_create_sampler_state(struct pipe_context *pctx,
}
static void
-v3d_flag_dirty_sampler_state(struct v3d_context *v3d,
- enum pipe_shader_type shader)
-{
- switch (shader) {
- case PIPE_SHADER_VERTEX:
- v3d->dirty |= VC5_DIRTY_VERTTEX;
- break;
- case PIPE_SHADER_GEOMETRY:
- v3d->dirty |= VC5_DIRTY_GEOMTEX;
- break;
- case PIPE_SHADER_FRAGMENT:
- v3d->dirty |= VC5_DIRTY_FRAGTEX;
- break;
- case PIPE_SHADER_COMPUTE:
- v3d->dirty |= VC5_DIRTY_COMPTEX;
- break;
- default:
- unreachable("Unsupported shader stage");
- }
-}
-
-static void
v3d_sampler_states_bind(struct pipe_context *pctx,
enum pipe_shader_type shader, unsigned start,
unsigned nr, void **hwcso)