Use unsigned enum base types to use them as state bitfields.
BUG=17878699
Change-Id: Ib112ddf399ebd22676a775cdb6e6927e8f8ce25f
Reviewed-on: https://swiftshader-review.googlesource.com/1202
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Shader/SamplerCore.cpp b/src/Shader/SamplerCore.cpp
index 6224d45..6022647 100644
--- a/src/Shader/SamplerCore.cpp
+++ b/src/Shader/SamplerCore.cpp
@@ -420,7 +420,7 @@
Short4 borderMask;
- if((AddressingMode)state.addressingModeU == ADDRESSING_BORDER)
+ if(state.addressingModeU == ADDRESSING_BORDER)
{
Short4 u0;
@@ -429,13 +429,13 @@
borderMask = u0;
}
- if((AddressingMode)state.addressingModeV == ADDRESSING_BORDER)
+ if(state.addressingModeV == ADDRESSING_BORDER)
{
Short4 v0;
border(v0, v);
- if((AddressingMode)state.addressingModeU == ADDRESSING_BORDER)
+ if(state.addressingModeU == ADDRESSING_BORDER)
{
borderMask &= v0;
}
@@ -445,14 +445,14 @@
}
}
- if((AddressingMode)state.addressingModeW == ADDRESSING_BORDER && volumeTexture)
+ if(state.addressingModeW == ADDRESSING_BORDER && volumeTexture)
{
Short4 s0;
border(s0, w);
- if((AddressingMode)state.addressingModeU == ADDRESSING_BORDER ||
- (AddressingMode)state.addressingModeV == ADDRESSING_BORDER)
+ if(state.addressingModeU == ADDRESSING_BORDER ||
+ state.addressingModeV == ADDRESSING_BORDER)
{
borderMask &= s0;
}
@@ -462,9 +462,9 @@
}
}
- if((AddressingMode)state.addressingModeU == ADDRESSING_BORDER ||
- (AddressingMode)state.addressingModeV == ADDRESSING_BORDER ||
- ((AddressingMode)state.addressingModeW == ADDRESSING_BORDER && volumeTexture))
+ if(state.addressingModeU == ADDRESSING_BORDER ||
+ state.addressingModeV == ADDRESSING_BORDER ||
+ (state.addressingModeW == ADDRESSING_BORDER && volumeTexture))
{
Short4 b;
@@ -556,8 +556,8 @@
Short4 uuuu;
Short4 vvvv;
- address(uuuu, u, (AddressingMode)state.addressingModeU);
- address(vvvv, v, (AddressingMode)state.addressingModeV);
+ address(uuuu, u, state.addressingModeU);
+ address(vvvv, v, state.addressingModeV);
if(state.textureFilter == FILTER_POINT)
{
@@ -570,10 +570,10 @@
Vector4i c2;
Vector4i c3;
- Short4 uuuu0 = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), (AddressingMode)state.addressingModeU == ADDRESSING_WRAP, gather ? 0 : -1);
- Short4 vvvv0 = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), (AddressingMode)state.addressingModeV == ADDRESSING_WRAP, gather ? 0 : -1);
- Short4 uuuu1 = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), (AddressingMode)state.addressingModeU == ADDRESSING_WRAP, gather ? 2 : +1);
- Short4 vvvv1 = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), (AddressingMode)state.addressingModeV == ADDRESSING_WRAP, gather ? 2 : +1);
+ Short4 uuuu0 = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), state.addressingModeU == ADDRESSING_WRAP, gather ? 0 : -1);
+ Short4 vvvv0 = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), state.addressingModeV == ADDRESSING_WRAP, gather ? 0 : -1);
+ Short4 uuuu1 = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), state.addressingModeU == ADDRESSING_WRAP, gather ? 2 : +1);
+ Short4 vvvv1 = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), state.addressingModeV == ADDRESSING_WRAP, gather ? 2 : +1);
sampleTexel(c0, uuuu0, vvvv0, vvvv0, mipmap, buffer);
sampleTexel(c1, uuuu1, vvvv0, vvvv0, mipmap, buffer);
@@ -764,9 +764,9 @@
Short4 vvvv;
Short4 wwww;
- address(uuuu, u_, (AddressingMode)state.addressingModeU);
- address(vvvv, v_, (AddressingMode)state.addressingModeV);
- address(wwww, w_, (AddressingMode)state.addressingModeW);
+ address(uuuu, u_, state.addressingModeU);
+ address(vvvv, v_, state.addressingModeV);
+ address(wwww, w_, state.addressingModeW);
if(state.textureFilter <= FILTER_POINT)
{
@@ -786,9 +786,9 @@
{
for(int k = 0; k < 2; k++)
{
- u[i][j][k] = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), (AddressingMode)state.addressingModeU == ADDRESSING_WRAP, i * 2 - 1);
- v[i][j][k] = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), (AddressingMode)state.addressingModeV == ADDRESSING_WRAP, j * 2 - 1);
- s[i][j][k] = offsetSample(wwww, mipmap, OFFSET(Mipmap,wHalf), (AddressingMode)state.addressingModeW == ADDRESSING_WRAP, k * 2 - 1);
+ u[i][j][k] = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), state.addressingModeU == ADDRESSING_WRAP, i * 2 - 1);
+ v[i][j][k] = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), state.addressingModeV == ADDRESSING_WRAP, j * 2 - 1);
+ s[i][j][k] = offsetSample(wwww, mipmap, OFFSET(Mipmap,wHalf), state.addressingModeW == ADDRESSING_WRAP, k * 2 - 1);
}
}
}
@@ -914,7 +914,7 @@
Int4 borderMask;
- if((AddressingMode)state.addressingModeU == ADDRESSING_BORDER)
+ if(state.addressingModeU == ADDRESSING_BORDER)
{
Int4 u0;
@@ -923,13 +923,13 @@
borderMask = u0;
}
- if((AddressingMode)state.addressingModeV == ADDRESSING_BORDER)
+ if(state.addressingModeV == ADDRESSING_BORDER)
{
Int4 v0;
border(v0, v);
- if((AddressingMode)state.addressingModeU == ADDRESSING_BORDER)
+ if(state.addressingModeU == ADDRESSING_BORDER)
{
borderMask &= v0;
}
@@ -939,14 +939,14 @@
}
}
- if((AddressingMode)state.addressingModeW == ADDRESSING_BORDER && volumeTexture)
+ if(state.addressingModeW == ADDRESSING_BORDER && volumeTexture)
{
Int4 s0;
border(s0, w);
- if((AddressingMode)state.addressingModeU == ADDRESSING_BORDER ||
- (AddressingMode)state.addressingModeV == ADDRESSING_BORDER)
+ if(state.addressingModeU == ADDRESSING_BORDER ||
+ state.addressingModeV == ADDRESSING_BORDER)
{
borderMask &= s0;
}
@@ -956,9 +956,9 @@
}
}
- if((AddressingMode)state.addressingModeU == ADDRESSING_BORDER ||
- (AddressingMode)state.addressingModeV == ADDRESSING_BORDER ||
- ((AddressingMode)state.addressingModeW == ADDRESSING_BORDER && volumeTexture))
+ if(state.addressingModeU == ADDRESSING_BORDER ||
+ state.addressingModeV == ADDRESSING_BORDER ||
+ (state.addressingModeW == ADDRESSING_BORDER && volumeTexture))
{
Int4 b;
@@ -1048,8 +1048,8 @@
Short4 uuuu;
Short4 vvvv;
- address(uuuu, u, (AddressingMode)state.addressingModeU);
- address(vvvv, v, (AddressingMode)state.addressingModeV);
+ address(uuuu, u, state.addressingModeU);
+ address(vvvv, v, state.addressingModeV);
if(state.textureFilter == FILTER_POINT)
{
@@ -1062,10 +1062,10 @@
Vector4f c2;
Vector4f c3;
- Short4 uuuu0 = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), (AddressingMode)state.addressingModeU == ADDRESSING_WRAP, gather ? 0 : -1);
- Short4 vvvv0 = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), (AddressingMode)state.addressingModeV == ADDRESSING_WRAP, gather ? 0 : -1);
- Short4 uuuu1 = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), (AddressingMode)state.addressingModeU == ADDRESSING_WRAP, gather ? 2 : +1);
- Short4 vvvv1 = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), (AddressingMode)state.addressingModeV == ADDRESSING_WRAP, gather ? 2 : +1);
+ Short4 uuuu0 = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), state.addressingModeU == ADDRESSING_WRAP, gather ? 0 : -1);
+ Short4 vvvv0 = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), state.addressingModeV == ADDRESSING_WRAP, gather ? 0 : -1);
+ Short4 uuuu1 = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), state.addressingModeU == ADDRESSING_WRAP, gather ? 2 : +1);
+ Short4 vvvv1 = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), state.addressingModeV == ADDRESSING_WRAP, gather ? 2 : +1);
sampleTexel(c0, uuuu0, vvvv0, vvvv0, z, mipmap, buffer);
sampleTexel(c1, uuuu1, vvvv0, vvvv0, z, mipmap, buffer);
@@ -1117,9 +1117,9 @@
Short4 vvvv;
Short4 wwww;
- address(uuuu, u, (AddressingMode)state.addressingModeU);
- address(vvvv, v, (AddressingMode)state.addressingModeV);
- address(wwww, w, (AddressingMode)state.addressingModeW);
+ address(uuuu, u, state.addressingModeU);
+ address(vvvv, v, state.addressingModeV);
+ address(wwww, w, state.addressingModeW);
if(state.textureFilter <= FILTER_POINT)
{
@@ -1136,12 +1136,12 @@
Vector4f c6;
Vector4f c7;
- Short4 uuuu0 = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), (AddressingMode)state.addressingModeU == ADDRESSING_WRAP, -1);
- Short4 vvvv0 = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), (AddressingMode)state.addressingModeV == ADDRESSING_WRAP, -1);
- Short4 wwww0 = offsetSample(wwww, mipmap, OFFSET(Mipmap,wHalf), (AddressingMode)state.addressingModeW == ADDRESSING_WRAP, -1);
- Short4 uuuu1 = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), (AddressingMode)state.addressingModeU == ADDRESSING_WRAP, +1);
- Short4 vvvv1 = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), (AddressingMode)state.addressingModeV == ADDRESSING_WRAP, +1);
- Short4 wwww1 = offsetSample(wwww, mipmap, OFFSET(Mipmap,wHalf), (AddressingMode)state.addressingModeW == ADDRESSING_WRAP, +1);
+ Short4 uuuu0 = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), state.addressingModeU == ADDRESSING_WRAP, -1);
+ Short4 vvvv0 = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), state.addressingModeV == ADDRESSING_WRAP, -1);
+ Short4 wwww0 = offsetSample(wwww, mipmap, OFFSET(Mipmap,wHalf), state.addressingModeW == ADDRESSING_WRAP, -1);
+ Short4 uuuu1 = offsetSample(uuuu, mipmap, OFFSET(Mipmap,uHalf), state.addressingModeU == ADDRESSING_WRAP, +1);
+ Short4 vvvv1 = offsetSample(vvvv, mipmap, OFFSET(Mipmap,vHalf), state.addressingModeV == ADDRESSING_WRAP, +1);
+ Short4 wwww1 = offsetSample(wwww, mipmap, OFFSET(Mipmap,wHalf), state.addressingModeW == ADDRESSING_WRAP, +1);
sampleTexel(c0, uuuu0, vvvv0, wwww0, w, mipmap, buffer);
sampleTexel(c1, uuuu1, vvvv0, wwww0, w, mipmap, buffer);
@@ -1792,17 +1792,17 @@
bool SamplerCore::hasFloatTexture() const
{
- return Surface::isFloatFormat((Format)state.textureFormat);
+ return Surface::isFloatFormat(state.textureFormat);
}
bool SamplerCore::hasUnsignedTextureComponent(int component) const
{
- return Surface::isUnsignedComponent((Format)state.textureFormat, component);
+ return Surface::isUnsignedComponent(state.textureFormat, component);
}
int SamplerCore::textureComponentCount() const
{
- return Surface::componentCount((Format)state.textureFormat);
+ return Surface::componentCount(state.textureFormat);
}
bool SamplerCore::has16bitTexture() const