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>
This commit is contained in:
Neil Roberts 2020-09-29 17:20:31 +02:00
parent ef918f0e33
commit d25504dae0
3 changed files with 25 additions and 22 deletions

View File

@ -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)
{

View File

@ -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

View File

@ -770,28 +770,6 @@ v3d_create_sampler_state(struct pipe_context *pctx,
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
v3d_sampler_states_bind(struct pipe_context *pctx,
enum pipe_shader_type shader, unsigned start,