Commit d25504da authored by Neil Roberts's avatar Neil Roberts

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's avatarEric Anholt <eric@anholt.net>
Part-of: <!6914>
parent ef918f0e
...@@ -194,6 +194,28 @@ v3d_get_real_line_width(struct v3d_context *v3d) ...@@ -194,6 +194,28 @@ v3d_get_real_line_width(struct v3d_context *v3d)
return width; 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 static void
v3d_context_destroy(struct pipe_context *pctx) v3d_context_destroy(struct pipe_context *pctx)
{ {
......
...@@ -703,6 +703,9 @@ bool v3d_line_smoothing_enabled(struct v3d_context *v3d); ...@@ -703,6 +703,9 @@ bool v3d_line_smoothing_enabled(struct v3d_context *v3d);
float v3d_get_real_line_width(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 #ifdef v3dX
# include "v3dx_context.h" # include "v3dx_context.h"
#else #else
......
...@@ -770,28 +770,6 @@ v3d_create_sampler_state(struct pipe_context *pctx, ...@@ -770,28 +770,6 @@ v3d_create_sampler_state(struct pipe_context *pctx,
return so; return so;
} }
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 static void
v3d_sampler_states_bind(struct pipe_context *pctx, v3d_sampler_states_bind(struct pipe_context *pctx,
enum pipe_shader_type shader, unsigned start, enum pipe_shader_type shader, unsigned start,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment