v3d: Use the symbolic names for wrap modes from the XML.

This commit is contained in:
Eric Anholt 2019-01-23 11:54:48 -08:00
parent c51d125d18
commit 09472006ff
2 changed files with 14 additions and 11 deletions

View file

@ -100,11 +100,11 @@
</enum>
<enum name="Wrap Mode" prefix="V3D_WRAP_MODE">
<value name="Wrap mode REPEAT" value="0"/>
<value name="Wrap mode CLAMP" value="1"/>
<value name="Wrap mode MIRROR" value="2"/>
<value name="Wrap mode BORDER" value="3"/>
<value name="Wrap mode MIRROR_ONCE" value="4"/>
<value name="REPEAT" value="0"/>
<value name="CLAMP" value="1"/>
<value name="MIRROR" value="2"/>
<value name="BORDER" value="3"/>
<value name="MIRROR_ONCE" value="4"/>
</enum>
<enum name="TMU Op" prefix="V3D_TMU_OP" min_ver="41">

View file

@ -503,19 +503,22 @@ v3d_set_framebuffer_state(struct pipe_context *pctx,
v3d->dirty |= VC5_DIRTY_FRAMEBUFFER;
}
static uint32_t translate_wrap(uint32_t pipe_wrap, bool using_nearest)
static enum V3DX(Wrap_Mode)
translate_wrap(uint32_t pipe_wrap, bool using_nearest)
{
switch (pipe_wrap) {
case PIPE_TEX_WRAP_REPEAT:
return 0;
return V3D_WRAP_MODE_REPEAT;
case PIPE_TEX_WRAP_CLAMP_TO_EDGE:
return 1;
return V3D_WRAP_MODE_CLAMP;
case PIPE_TEX_WRAP_MIRROR_REPEAT:
return 2;
return V3D_WRAP_MODE_MIRROR;
case PIPE_TEX_WRAP_CLAMP_TO_BORDER:
return 3;
return V3D_WRAP_MODE_BORDER;
case PIPE_TEX_WRAP_CLAMP:
return (using_nearest ? 1 : 3);
return (using_nearest ?
V3D_WRAP_MODE_CLAMP :
V3D_WRAP_MODE_BORDER);
default:
unreachable("Unknown wrap mode");
}