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/GLES2/libGLESv2/Context.cpp b/src/GLES2/libGLESv2/Context.cpp
index 7ca8fa5..2eba52e 100644
--- a/src/GLES2/libGLESv2/Context.cpp
+++ b/src/GLES2/libGLESv2/Context.cpp
@@ -1725,7 +1725,7 @@
}
else
{
- device->setCullMode(sw::Context::CULL_NONE);
+ device->setCullMode(sw::CULL_NONE);
}
if(mDepthStateDirty)
@@ -1874,11 +1874,11 @@
{
if(mState.sampleAlphaToCoverage)
{
- device->setTransparencyAntialiasing(sw::Context::TRANSPARENCY_ALPHA_TO_COVERAGE);
+ device->setTransparencyAntialiasing(sw::TRANSPARENCY_ALPHA_TO_COVERAGE);
}
else
{
- device->setTransparencyAntialiasing(sw::Context::TRANSPARENCY_NONE);
+ device->setTransparencyAntialiasing(sw::TRANSPARENCY_NONE);
}
if(mState.sampleCoverage)
diff --git a/src/GLES2/libGLESv2/Device.cpp b/src/GLES2/libGLESv2/Device.cpp
index e7b1ec9..c2cc36a 100644
--- a/src/GLES2/libGLESv2/Device.cpp
+++ b/src/GLES2/libGLESv2/Device.cpp
@@ -37,48 +37,48 @@
renderTarget = 0;
setDepthBufferEnable(true);
- setFillMode(Context::FILL_SOLID);
- setShadingMode(Context::SHADING_GOURAUD);
+ setFillMode(FILL_SOLID);
+ setShadingMode(SHADING_GOURAUD);
setDepthWriteEnable(true);
setAlphaTestEnable(false);
- setSourceBlendFactor(Context::BLEND_ONE);
- setDestBlendFactor(Context::BLEND_ZERO);
- setCullMode(Context::CULL_COUNTERCLOCKWISE);
- setDepthCompare(Context::DEPTH_LESSEQUAL);
+ setSourceBlendFactor(BLEND_ONE);
+ setDestBlendFactor(BLEND_ZERO);
+ setCullMode(CULL_COUNTERCLOCKWISE);
+ setDepthCompare(DEPTH_LESSEQUAL);
setAlphaReference(0);
- setAlphaCompare(Context::ALPHA_ALWAYS);
+ setAlphaCompare(ALPHA_ALWAYS);
setAlphaBlendEnable(false);
setFogEnable(false);
setSpecularEnable(false);
setFogColor(0);
- setPixelFogMode(Context::FOG_NONE);
+ setPixelFogMode(FOG_NONE);
setFogStart(0.0f);
setFogEnd(1.0f);
setFogDensity(1.0f);
setRangeFogEnable(false);
setStencilEnable(false);
- setStencilFailOperation(Context::OPERATION_KEEP);
- setStencilZFailOperation(Context::OPERATION_KEEP);
- setStencilPassOperation(Context::OPERATION_KEEP);
- setStencilCompare(Context::STENCIL_ALWAYS);
+ setStencilFailOperation(OPERATION_KEEP);
+ setStencilZFailOperation(OPERATION_KEEP);
+ setStencilPassOperation(OPERATION_KEEP);
+ setStencilCompare(STENCIL_ALWAYS);
setStencilReference(0);
setStencilMask(0xFFFFFFFF);
setStencilWriteMask(0xFFFFFFFF);
- setVertexFogMode(Context::FOG_NONE);
+ setVertexFogMode(FOG_NONE);
setClipFlags(0);
setPointSize(1.0f);
setPointSizeMin(0.125f);
setPointSpriteEnable(false);
setPointSizeMax(8192.0f);
setColorWriteMask(0, 0x0000000F);
- setBlendOperation(Context::BLENDOP_ADD);
+ setBlendOperation(BLENDOP_ADD);
scissorEnable = false;
setSlopeDepthBias(0.0f);
setTwoSidedStencil(false);
- setStencilFailOperationCCW(Context::OPERATION_KEEP);
- setStencilZFailOperationCCW(Context::OPERATION_KEEP);
- setStencilPassOperationCCW(Context::OPERATION_KEEP);
- setStencilCompareCCW(Context::STENCIL_ALWAYS);
+ setStencilFailOperationCCW(OPERATION_KEEP);
+ setStencilZFailOperationCCW(OPERATION_KEEP);
+ setStencilPassOperationCCW(OPERATION_KEEP);
+ setStencilCompareCCW(STENCIL_ALWAYS);
setColorWriteMask(1, 0x0000000F);
setColorWriteMask(2, 0x0000000F);
setColorWriteMask(3, 0x0000000F);
@@ -86,9 +86,9 @@
setWriteSRGB(false);
setDepthBias(0.0f);
setSeparateAlphaBlendEnable(false);
- setSourceBlendFactorAlpha(Context::BLEND_ONE);
- setDestBlendFactorAlpha(Context::BLEND_ZERO);
- setBlendOperationAlpha(Context::BLENDOP_ADD);
+ setSourceBlendFactorAlpha(BLEND_ONE);
+ setDestBlendFactorAlpha(BLEND_ZERO);
+ setBlendOperationAlpha(BLENDOP_ADD);
for(int i = 0; i < 16; i++)
{
@@ -313,19 +313,19 @@
return;
}
- Context::DrawType drawType;
+ DrawType drawType;
if(indexSize == 4)
{
switch(type)
{
- case DRAW_POINTLIST: drawType = Context::DRAW_INDEXEDPOINTLIST32; break;
- case DRAW_LINELIST: drawType = Context::DRAW_INDEXEDLINELIST32; break;
- case DRAW_LINESTRIP: drawType = Context::DRAW_INDEXEDLINESTRIP32; break;
- case DRAW_LINELOOP: drawType = Context::DRAW_INDEXEDLINELOOP32; break;
- case DRAW_TRIANGLELIST: drawType = Context::DRAW_INDEXEDTRIANGLELIST32; break;
- case DRAW_TRIANGLESTRIP: drawType = Context::DRAW_INDEXEDTRIANGLESTRIP32; break;
- case DRAW_TRIANGLEFAN: drawType = Context::DRAW_INDEXEDTRIANGLEFAN32; break;
+ case DRAW_POINTLIST: drawType = sw::DRAW_INDEXEDPOINTLIST32; break;
+ case DRAW_LINELIST: drawType = sw::DRAW_INDEXEDLINELIST32; break;
+ case DRAW_LINESTRIP: drawType = sw::DRAW_INDEXEDLINESTRIP32; break;
+ case DRAW_LINELOOP: drawType = sw::DRAW_INDEXEDLINELOOP32; break;
+ case DRAW_TRIANGLELIST: drawType = sw::DRAW_INDEXEDTRIANGLELIST32; break;
+ case DRAW_TRIANGLESTRIP: drawType = sw::DRAW_INDEXEDTRIANGLESTRIP32; break;
+ case DRAW_TRIANGLEFAN: drawType = sw::DRAW_INDEXEDTRIANGLEFAN32; break;
default: UNREACHABLE();
}
}
@@ -333,13 +333,13 @@
{
switch(type)
{
- case DRAW_POINTLIST: drawType = Context::DRAW_INDEXEDPOINTLIST16; break;
- case DRAW_LINELIST: drawType = Context::DRAW_INDEXEDLINELIST16; break;
- case DRAW_LINESTRIP: drawType = Context::DRAW_INDEXEDLINESTRIP16; break;
- case DRAW_LINELOOP: drawType = Context::DRAW_INDEXEDLINELOOP16; break;
- case DRAW_TRIANGLELIST: drawType = Context::DRAW_INDEXEDTRIANGLELIST16; break;
- case DRAW_TRIANGLESTRIP: drawType = Context::DRAW_INDEXEDTRIANGLESTRIP16; break;
- case DRAW_TRIANGLEFAN: drawType = Context::DRAW_INDEXEDTRIANGLEFAN16; break;
+ case DRAW_POINTLIST: drawType = sw::DRAW_INDEXEDPOINTLIST16; break;
+ case DRAW_LINELIST: drawType = sw::DRAW_INDEXEDLINELIST16; break;
+ case DRAW_LINESTRIP: drawType = sw::DRAW_INDEXEDLINESTRIP16; break;
+ case DRAW_LINELOOP: drawType = sw::DRAW_INDEXEDLINELOOP16; break;
+ case DRAW_TRIANGLELIST: drawType = sw::DRAW_INDEXEDTRIANGLELIST16; break;
+ case DRAW_TRIANGLESTRIP: drawType = sw::DRAW_INDEXEDTRIANGLESTRIP16; break;
+ case DRAW_TRIANGLEFAN: drawType = sw::DRAW_INDEXEDTRIANGLEFAN16; break;
default: UNREACHABLE();
}
}
@@ -347,13 +347,13 @@
{
switch(type)
{
- case DRAW_POINTLIST: drawType = Context::DRAW_INDEXEDPOINTLIST8; break;
- case DRAW_LINELIST: drawType = Context::DRAW_INDEXEDLINELIST8; break;
- case DRAW_LINESTRIP: drawType = Context::DRAW_INDEXEDLINESTRIP8; break;
- case DRAW_LINELOOP: drawType = Context::DRAW_INDEXEDLINELOOP8; break;
- case DRAW_TRIANGLELIST: drawType = Context::DRAW_INDEXEDTRIANGLELIST8; break;
- case DRAW_TRIANGLESTRIP: drawType = Context::DRAW_INDEXEDTRIANGLESTRIP8; break;
- case DRAW_TRIANGLEFAN: drawType = Context::DRAW_INDEXEDTRIANGLEFAN8; break;
+ case DRAW_POINTLIST: drawType = sw::DRAW_INDEXEDPOINTLIST8; break;
+ case DRAW_LINELIST: drawType = sw::DRAW_INDEXEDLINELIST8; break;
+ case DRAW_LINESTRIP: drawType = sw::DRAW_INDEXEDLINESTRIP8; break;
+ case DRAW_LINELOOP: drawType = sw::DRAW_INDEXEDLINELOOP8; break;
+ case DRAW_TRIANGLELIST: drawType = sw::DRAW_INDEXEDTRIANGLELIST8; break;
+ case DRAW_TRIANGLESTRIP: drawType = sw::DRAW_INDEXEDTRIANGLESTRIP8; break;
+ case DRAW_TRIANGLEFAN: drawType = sw::DRAW_INDEXEDTRIANGLEFAN8; break;
default: UNREACHABLE();
}
}
@@ -373,17 +373,17 @@
setIndexBuffer(0);
- Context::DrawType drawType;
+ DrawType drawType;
switch(primitiveType)
{
- case DRAW_POINTLIST: drawType = Context::DRAW_POINTLIST; break;
- case DRAW_LINELIST: drawType = Context::DRAW_LINELIST; break;
- case DRAW_LINESTRIP: drawType = Context::DRAW_LINESTRIP; break;
- case DRAW_LINELOOP: drawType = Context::DRAW_LINELOOP; break;
- case DRAW_TRIANGLELIST: drawType = Context::DRAW_TRIANGLELIST; break;
- case DRAW_TRIANGLESTRIP: drawType = Context::DRAW_TRIANGLESTRIP; break;
- case DRAW_TRIANGLEFAN: drawType = Context::DRAW_TRIANGLEFAN; break;
+ case DRAW_POINTLIST: drawType = sw::DRAW_POINTLIST; break;
+ case DRAW_LINELIST: drawType = sw::DRAW_LINELIST; break;
+ case DRAW_LINESTRIP: drawType = sw::DRAW_LINESTRIP; break;
+ case DRAW_LINELOOP: drawType = sw::DRAW_LINELOOP; break;
+ case DRAW_TRIANGLELIST: drawType = sw::DRAW_TRIANGLELIST; break;
+ case DRAW_TRIANGLESTRIP: drawType = sw::DRAW_TRIANGLESTRIP; break;
+ case DRAW_TRIANGLEFAN: drawType = sw::DRAW_TRIANGLEFAN; break;
default: UNREACHABLE();
}
diff --git a/src/GLES2/libGLESv2/utilities.cpp b/src/GLES2/libGLESv2/utilities.cpp
index b71fea5..c0004bf 100644
--- a/src/GLES2/libGLESv2/utilities.cpp
+++ b/src/GLES2/libGLESv2/utilities.cpp
@@ -442,40 +442,40 @@
namespace es2sw
{
- sw::Context::DepthCompareMode ConvertDepthComparison(GLenum comparison)
+ sw::DepthCompareMode ConvertDepthComparison(GLenum comparison)
{
switch(comparison)
{
- case GL_NEVER: return sw::Context::DEPTH_NEVER;
- case GL_ALWAYS: return sw::Context::DEPTH_ALWAYS;
- case GL_LESS: return sw::Context::DEPTH_LESS;
- case GL_LEQUAL: return sw::Context::DEPTH_LESSEQUAL;
- case GL_EQUAL: return sw::Context::DEPTH_EQUAL;
- case GL_GREATER: return sw::Context::DEPTH_GREATER;
- case GL_GEQUAL: return sw::Context::DEPTH_GREATEREQUAL;
- case GL_NOTEQUAL: return sw::Context::DEPTH_NOTEQUAL;
+ case GL_NEVER: return sw::DEPTH_NEVER;
+ case GL_ALWAYS: return sw::DEPTH_ALWAYS;
+ case GL_LESS: return sw::DEPTH_LESS;
+ case GL_LEQUAL: return sw::DEPTH_LESSEQUAL;
+ case GL_EQUAL: return sw::DEPTH_EQUAL;
+ case GL_GREATER: return sw::DEPTH_GREATER;
+ case GL_GEQUAL: return sw::DEPTH_GREATEREQUAL;
+ case GL_NOTEQUAL: return sw::DEPTH_NOTEQUAL;
default: UNREACHABLE();
}
- return sw::Context::DEPTH_ALWAYS;
+ return sw::DEPTH_ALWAYS;
}
- sw::Context::StencilCompareMode ConvertStencilComparison(GLenum comparison)
+ sw::StencilCompareMode ConvertStencilComparison(GLenum comparison)
{
switch(comparison)
{
- case GL_NEVER: return sw::Context::STENCIL_NEVER;
- case GL_ALWAYS: return sw::Context::STENCIL_ALWAYS;
- case GL_LESS: return sw::Context::STENCIL_LESS;
- case GL_LEQUAL: return sw::Context::STENCIL_LESSEQUAL;
- case GL_EQUAL: return sw::Context::STENCIL_EQUAL;
- case GL_GREATER: return sw::Context::STENCIL_GREATER;
- case GL_GEQUAL: return sw::Context::STENCIL_GREATEREQUAL;
- case GL_NOTEQUAL: return sw::Context::STENCIL_NOTEQUAL;
+ case GL_NEVER: return sw::STENCIL_NEVER;
+ case GL_ALWAYS: return sw::STENCIL_ALWAYS;
+ case GL_LESS: return sw::STENCIL_LESS;
+ case GL_LEQUAL: return sw::STENCIL_LESSEQUAL;
+ case GL_EQUAL: return sw::STENCIL_EQUAL;
+ case GL_GREATER: return sw::STENCIL_GREATER;
+ case GL_GEQUAL: return sw::STENCIL_GREATEREQUAL;
+ case GL_NOTEQUAL: return sw::STENCIL_NOTEQUAL;
default: UNREACHABLE();
}
- return sw::Context::STENCIL_ALWAYS;
+ return sw::STENCIL_ALWAYS;
}
sw::Color<float> ConvertColor(gl::Color color)
@@ -483,62 +483,62 @@
return sw::Color<float>(color.red, color.green, color.blue, color.alpha);
}
- sw::Context::BlendFactor ConvertBlendFunc(GLenum blend)
+ sw::BlendFactor ConvertBlendFunc(GLenum blend)
{
switch(blend)
{
- case GL_ZERO: return sw::Context::BLEND_ZERO;
- case GL_ONE: return sw::Context::BLEND_ONE;
- case GL_SRC_COLOR: return sw::Context::BLEND_SOURCE;
- case GL_ONE_MINUS_SRC_COLOR: return sw::Context::BLEND_INVSOURCE;
- case GL_DST_COLOR: return sw::Context::BLEND_DEST;
- case GL_ONE_MINUS_DST_COLOR: return sw::Context::BLEND_INVDEST;
- case GL_SRC_ALPHA: return sw::Context::BLEND_SOURCEALPHA;
- case GL_ONE_MINUS_SRC_ALPHA: return sw::Context::BLEND_INVSOURCEALPHA;
- case GL_DST_ALPHA: return sw::Context::BLEND_DESTALPHA;
- case GL_ONE_MINUS_DST_ALPHA: return sw::Context::BLEND_INVDESTALPHA;
- case GL_CONSTANT_COLOR: return sw::Context::BLEND_CONSTANT;
- case GL_ONE_MINUS_CONSTANT_COLOR: return sw::Context::BLEND_INVCONSTANT;
- case GL_CONSTANT_ALPHA: return sw::Context::BLEND_CONSTANTALPHA;
- case GL_ONE_MINUS_CONSTANT_ALPHA: return sw::Context::BLEND_INVCONSTANTALPHA;
- case GL_SRC_ALPHA_SATURATE: return sw::Context::BLEND_SRCALPHASAT;
+ case GL_ZERO: return sw::BLEND_ZERO;
+ case GL_ONE: return sw::BLEND_ONE;
+ case GL_SRC_COLOR: return sw::BLEND_SOURCE;
+ case GL_ONE_MINUS_SRC_COLOR: return sw::BLEND_INVSOURCE;
+ case GL_DST_COLOR: return sw::BLEND_DEST;
+ case GL_ONE_MINUS_DST_COLOR: return sw::BLEND_INVDEST;
+ case GL_SRC_ALPHA: return sw::BLEND_SOURCEALPHA;
+ case GL_ONE_MINUS_SRC_ALPHA: return sw::BLEND_INVSOURCEALPHA;
+ case GL_DST_ALPHA: return sw::BLEND_DESTALPHA;
+ case GL_ONE_MINUS_DST_ALPHA: return sw::BLEND_INVDESTALPHA;
+ case GL_CONSTANT_COLOR: return sw::BLEND_CONSTANT;
+ case GL_ONE_MINUS_CONSTANT_COLOR: return sw::BLEND_INVCONSTANT;
+ case GL_CONSTANT_ALPHA: return sw::BLEND_CONSTANTALPHA;
+ case GL_ONE_MINUS_CONSTANT_ALPHA: return sw::BLEND_INVCONSTANTALPHA;
+ case GL_SRC_ALPHA_SATURATE: return sw::BLEND_SRCALPHASAT;
default: UNREACHABLE();
}
- return sw::Context::BLEND_ZERO;
+ return sw::BLEND_ZERO;
}
- sw::Context::BlendOperation ConvertBlendOp(GLenum blendOp)
+ sw::BlendOperation ConvertBlendOp(GLenum blendOp)
{
switch(blendOp)
{
- case GL_FUNC_ADD: return sw::Context::BLENDOP_ADD;
- case GL_FUNC_SUBTRACT: return sw::Context::BLENDOP_SUB;
- case GL_FUNC_REVERSE_SUBTRACT: return sw::Context::BLENDOP_INVSUB;
- case GL_MIN_EXT: return sw::Context::BLENDOP_MIN;
- case GL_MAX_EXT: return sw::Context::BLENDOP_MAX;
+ case GL_FUNC_ADD: return sw::BLENDOP_ADD;
+ case GL_FUNC_SUBTRACT: return sw::BLENDOP_SUB;
+ case GL_FUNC_REVERSE_SUBTRACT: return sw::BLENDOP_INVSUB;
+ case GL_MIN_EXT: return sw::BLENDOP_MIN;
+ case GL_MAX_EXT: return sw::BLENDOP_MAX;
default: UNREACHABLE();
}
- return sw::Context::BLENDOP_ADD;
+ return sw::BLENDOP_ADD;
}
- sw::Context::StencilOperation ConvertStencilOp(GLenum stencilOp)
+ sw::StencilOperation ConvertStencilOp(GLenum stencilOp)
{
switch(stencilOp)
{
- case GL_ZERO: return sw::Context::OPERATION_ZERO;
- case GL_KEEP: return sw::Context::OPERATION_KEEP;
- case GL_REPLACE: return sw::Context::OPERATION_REPLACE;
- case GL_INCR: return sw::Context::OPERATION_INCRSAT;
- case GL_DECR: return sw::Context::OPERATION_DECRSAT;
- case GL_INVERT: return sw::Context::OPERATION_INVERT;
- case GL_INCR_WRAP: return sw::Context::OPERATION_INCR;
- case GL_DECR_WRAP: return sw::Context::OPERATION_DECR;
+ case GL_ZERO: return sw::OPERATION_ZERO;
+ case GL_KEEP: return sw::OPERATION_KEEP;
+ case GL_REPLACE: return sw::OPERATION_REPLACE;
+ case GL_INCR: return sw::OPERATION_INCRSAT;
+ case GL_DECR: return sw::OPERATION_DECRSAT;
+ case GL_INVERT: return sw::OPERATION_INVERT;
+ case GL_INCR_WRAP: return sw::OPERATION_INCR;
+ case GL_DECR_WRAP: return sw::OPERATION_DECR;
default: UNREACHABLE();
}
- return sw::Context::OPERATION_KEEP;
+ return sw::OPERATION_KEEP;
}
sw::AddressingMode ConvertTextureWrap(GLenum wrap)
@@ -554,20 +554,20 @@
return sw::ADDRESSING_WRAP;
}
- sw::Context::CullMode ConvertCullMode(GLenum cullFace, GLenum frontFace)
+ sw::CullMode ConvertCullMode(GLenum cullFace, GLenum frontFace)
{
switch(cullFace)
{
case GL_FRONT:
- return (frontFace == GL_CCW ? sw::Context::CULL_CLOCKWISE : sw::Context::CULL_COUNTERCLOCKWISE);
+ return (frontFace == GL_CCW ? sw::CULL_CLOCKWISE : sw::CULL_COUNTERCLOCKWISE);
case GL_BACK:
- return (frontFace == GL_CCW ? sw::Context::CULL_COUNTERCLOCKWISE : sw::Context::CULL_CLOCKWISE);
+ return (frontFace == GL_CCW ? sw::CULL_COUNTERCLOCKWISE : sw::CULL_CLOCKWISE);
case GL_FRONT_AND_BACK:
- return sw::Context::CULL_NONE; // culling will be handled during draw
+ return sw::CULL_NONE; // culling will be handled during draw
default: UNREACHABLE();
}
- return sw::Context::CULL_COUNTERCLOCKWISE;
+ return sw::CULL_COUNTERCLOCKWISE;
}
unsigned int ConvertColorMask(bool red, bool green, bool blue, bool alpha)
diff --git a/src/GLES2/libGLESv2/utilities.h b/src/GLES2/libGLESv2/utilities.h
index 94d89052..8475050 100644
--- a/src/GLES2/libGLESv2/utilities.h
+++ b/src/GLES2/libGLESv2/utilities.h
@@ -55,14 +55,14 @@
namespace es2sw
{
- sw::Context::DepthCompareMode ConvertDepthComparison(GLenum comparison);
- sw::Context::StencilCompareMode ConvertStencilComparison(GLenum comparison);
+ sw::DepthCompareMode ConvertDepthComparison(GLenum comparison);
+ sw::StencilCompareMode ConvertStencilComparison(GLenum comparison);
sw::Color<float> ConvertColor(gl::Color color);
- sw::Context::BlendFactor ConvertBlendFunc(GLenum blend);
- sw::Context::BlendOperation ConvertBlendOp(GLenum blendOp);
- sw::Context::StencilOperation ConvertStencilOp(GLenum stencilOp);
+ sw::BlendFactor ConvertBlendFunc(GLenum blend);
+ sw::BlendOperation ConvertBlendOp(GLenum blendOp);
+ sw::StencilOperation ConvertStencilOp(GLenum stencilOp);
sw::AddressingMode ConvertTextureWrap(GLenum wrap);
- sw::Context::CullMode ConvertCullMode(GLenum cullFace, GLenum frontFace);
+ sw::CullMode ConvertCullMode(GLenum cullFace, GLenum frontFace);
unsigned int ConvertColorMask(bool red, bool green, bool blue, bool alpha);
sw::FilterType ConvertMagFilter(GLenum magFilter);
void ConvertMinFilter(GLenum texFilter, sw::FilterType *minFilter, sw::MipmapType *mipFilter, float maxAnisotropy);
diff --git a/src/Renderer/Context.cpp b/src/Renderer/Context.cpp
index fcc7f03..eb4c135 100644
--- a/src/Renderer/Context.cpp
+++ b/src/Renderer/Context.cpp
@@ -37,7 +37,7 @@
bool complementaryDepthBuffer = false;
bool postBlendSRGB = false;
bool exactColorRounding = false;
- Context::TransparencyAntialiasing transparencyAntialiasing = Context::TRANSPARENCY_NONE;
+ TransparencyAntialiasing transparencyAntialiasing = TRANSPARENCY_NONE;
bool forceClearRegisters = false;
Context::Context()
@@ -266,10 +266,10 @@
colorWriteMask[2] = 0x0000000F;
colorWriteMask[3] = 0x0000000F;
- ambientMaterialSource = MATERIAL;
- diffuseMaterialSource = COLOR1;
- specularMaterialSource = COLOR2;
- emissiveMaterialSource = MATERIAL;
+ ambientMaterialSource = MATERIAL_MATERIAL;
+ diffuseMaterialSource = MATERIAL_COLOR1;
+ specularMaterialSource = MATERIAL_COLOR2;
+ emissiveMaterialSource = MATERIAL_MATERIAL;
colorVertexEnable = true;
fogEnable = false;
@@ -459,7 +459,7 @@
return isDrawPoint(true) && (input[PointSize] || (!preTransformed && pointScaleActive()));
}
- Context::FogMode Context::pixelFogActive()
+ FogMode Context::pixelFogActive()
{
if(fogActive())
{
@@ -620,69 +620,69 @@
return lightingEnable && lightEnable[i];
}
- Context::MaterialSource Context::vertexDiffuseMaterialSourceActive()
+ MaterialSource Context::vertexDiffuseMaterialSourceActive()
{
if(vertexShader)
{
- return MATERIAL;
+ return MATERIAL_MATERIAL;
}
- if(diffuseMaterialSource == MATERIAL || !colorVertexEnable ||
- (diffuseMaterialSource == COLOR1 && !input[Color0]) ||
- (diffuseMaterialSource == COLOR2 && !input[Color1]))
+ if(diffuseMaterialSource == MATERIAL_MATERIAL || !colorVertexEnable ||
+ (diffuseMaterialSource == MATERIAL_COLOR1 && !input[Color0]) ||
+ (diffuseMaterialSource == MATERIAL_COLOR2 && !input[Color1]))
{
- return MATERIAL;
+ return MATERIAL_MATERIAL;
}
return diffuseMaterialSource;
}
- Context::MaterialSource Context::vertexSpecularMaterialSourceActive()
+ MaterialSource Context::vertexSpecularMaterialSourceActive()
{
if(vertexShader)
{
- return MATERIAL;
+ return MATERIAL_MATERIAL;
}
- if(specularMaterialSource == MATERIAL || !colorVertexEnable ||
- (specularMaterialSource == COLOR1 && !input[Color0]) ||
- (specularMaterialSource == COLOR2 && !input[Color1]))
+ if(specularMaterialSource == MATERIAL_MATERIAL || !colorVertexEnable ||
+ (specularMaterialSource == MATERIAL_COLOR1 && !input[Color0]) ||
+ (specularMaterialSource == MATERIAL_COLOR2 && !input[Color1]))
{
- return MATERIAL;
+ return MATERIAL_MATERIAL;
}
return specularMaterialSource;
}
- Context::MaterialSource Context::vertexAmbientMaterialSourceActive()
+ MaterialSource Context::vertexAmbientMaterialSourceActive()
{
if(vertexShader)
{
- return MATERIAL;
+ return MATERIAL_MATERIAL;
}
- if(ambientMaterialSource == MATERIAL || !colorVertexEnable ||
- (ambientMaterialSource == COLOR1 && !input[Color0]) ||
- (ambientMaterialSource == COLOR2 && !input[Color1]))
+ if(ambientMaterialSource == MATERIAL_MATERIAL || !colorVertexEnable ||
+ (ambientMaterialSource == MATERIAL_COLOR1 && !input[Color0]) ||
+ (ambientMaterialSource == MATERIAL_COLOR2 && !input[Color1]))
{
- return MATERIAL;
+ return MATERIAL_MATERIAL;
}
return ambientMaterialSource;
}
- Context::MaterialSource Context::vertexEmissiveMaterialSourceActive()
+ MaterialSource Context::vertexEmissiveMaterialSourceActive()
{
if(vertexShader)
{
- return MATERIAL;
+ return MATERIAL_MATERIAL;
}
- if(emissiveMaterialSource == MATERIAL || !colorVertexEnable ||
- (emissiveMaterialSource == COLOR1 && !input[Color0]) ||
- (emissiveMaterialSource == COLOR2 && !input[Color1]))
+ if(emissiveMaterialSource == MATERIAL_MATERIAL || !colorVertexEnable ||
+ (emissiveMaterialSource == MATERIAL_COLOR1 && !input[Color0]) ||
+ (emissiveMaterialSource == MATERIAL_COLOR2 && !input[Color1]))
{
- return MATERIAL;
+ return MATERIAL_MATERIAL;
}
return emissiveMaterialSource;
@@ -721,7 +721,7 @@
return colorBlend || alphaBlend;
}
- Context::BlendFactor Context::sourceBlendFactor()
+ BlendFactor Context::sourceBlendFactor()
{
if(!alphaBlendEnable) return BLEND_ONE;
@@ -742,7 +742,7 @@
return sourceBlendFactorState;
}
- Context::BlendFactor Context::destBlendFactor()
+ BlendFactor Context::destBlendFactor()
{
if(!alphaBlendEnable) return BLEND_ZERO;
@@ -763,7 +763,7 @@
return destBlendFactorState;
}
- Context::BlendOperation Context::blendOperation()
+ BlendOperation Context::blendOperation()
{
if(!alphaBlendEnable) return BLENDOP_SOURCE;
@@ -875,7 +875,7 @@
return blendOperationState;
}
- Context::BlendFactor Context::sourceBlendFactorAlpha()
+ BlendFactor Context::sourceBlendFactorAlpha()
{
if(!separateAlphaBlendEnable)
{
@@ -901,7 +901,7 @@
}
}
- Context::BlendFactor Context::destBlendFactorAlpha()
+ BlendFactor Context::destBlendFactorAlpha()
{
if(!separateAlphaBlendEnable)
{
@@ -927,7 +927,7 @@
}
}
- Context::BlendOperation Context::blendOperationAlpha()
+ BlendOperation Context::blendOperationAlpha()
{
if(!separateAlphaBlendEnable)
{
@@ -1084,7 +1084,7 @@
return normalizeNormals;
}
- Context::FogMode Context::vertexFogModeActive()
+ FogMode Context::vertexFogModeActive()
{
if(vertexShader || !fogActive())
{
@@ -1104,7 +1104,7 @@
return rangeFogEnable;
}
- Context::TexGen Context::texGenActive(int stage)
+ TexGen Context::texGenActive(int stage)
{
if(vertexShader || !texCoordActive(stage))
{
diff --git a/src/Renderer/Context.hpp b/src/Renderer/Context.hpp
index 571f7c0..29aee0b 100644
--- a/src/Renderer/Context.hpp
+++ b/src/Renderer/Context.hpp
@@ -49,202 +49,202 @@
PositionT = 15
};
+ enum DrawType : unsigned int
+ {
+ DRAW_POINTLIST,
+ DRAW_LINELIST,
+ DRAW_LINESTRIP,
+ DRAW_LINELOOP,
+ DRAW_TRIANGLELIST,
+ DRAW_TRIANGLESTRIP,
+ DRAW_TRIANGLEFAN,
+
+ DRAW_INDEXEDPOINTLIST8,
+ DRAW_INDEXEDLINELIST8,
+ DRAW_INDEXEDLINESTRIP8,
+ DRAW_INDEXEDLINELOOP8,
+ DRAW_INDEXEDTRIANGLELIST8,
+ DRAW_INDEXEDTRIANGLESTRIP8,
+ DRAW_INDEXEDTRIANGLEFAN8,
+
+ DRAW_INDEXEDPOINTLIST16,
+ DRAW_INDEXEDLINELIST16,
+ DRAW_INDEXEDLINESTRIP16,
+ DRAW_INDEXEDLINELOOP16,
+ DRAW_INDEXEDTRIANGLELIST16,
+ DRAW_INDEXEDTRIANGLESTRIP16,
+ DRAW_INDEXEDTRIANGLEFAN16,
+
+ DRAW_INDEXEDPOINTLIST32,
+ DRAW_INDEXEDLINELIST32,
+ DRAW_INDEXEDLINESTRIP32,
+ DRAW_INDEXEDLINELOOP32,
+ DRAW_INDEXEDTRIANGLELIST32,
+ DRAW_INDEXEDTRIANGLESTRIP32,
+ DRAW_INDEXEDTRIANGLEFAN32,
+
+ DRAW_LAST = DRAW_INDEXEDTRIANGLEFAN32
+ };
+
+ enum FillMode : unsigned int
+ {
+ FILL_SOLID,
+ FILL_WIREFRAME,
+ FILL_VERTEX,
+
+ FILL_LAST = FILL_VERTEX
+ };
+
+ enum ShadingMode : unsigned int
+ {
+ SHADING_FLAT,
+ SHADING_GOURAUD,
+
+ SHADING_LAST = SHADING_GOURAUD
+ };
+
+ enum DepthCompareMode : unsigned int
+ {
+ DEPTH_ALWAYS,
+ DEPTH_NEVER,
+ DEPTH_EQUAL,
+ DEPTH_NOTEQUAL,
+ DEPTH_LESS,
+ DEPTH_LESSEQUAL,
+ DEPTH_GREATER,
+ DEPTH_GREATEREQUAL,
+
+ DEPTH_LAST = DEPTH_GREATEREQUAL
+ };
+
+ enum StencilCompareMode : unsigned int
+ {
+ STENCIL_ALWAYS,
+ STENCIL_NEVER,
+ STENCIL_EQUAL,
+ STENCIL_NOTEQUAL,
+ STENCIL_LESS,
+ STENCIL_LESSEQUAL,
+ STENCIL_GREATER,
+ STENCIL_GREATEREQUAL,
+
+ STENCIL_LAST = STENCIL_GREATEREQUAL
+ };
+
+ enum StencilOperation : unsigned int
+ {
+ OPERATION_KEEP,
+ OPERATION_ZERO,
+ OPERATION_REPLACE,
+ OPERATION_INCRSAT,
+ OPERATION_DECRSAT,
+ OPERATION_INVERT,
+ OPERATION_INCR,
+ OPERATION_DECR,
+
+ OPERATION_LAST = OPERATION_DECR
+ };
+
+ enum AlphaCompareMode : unsigned int
+ {
+ ALPHA_ALWAYS,
+ ALPHA_NEVER,
+ ALPHA_EQUAL,
+ ALPHA_NOTEQUAL,
+ ALPHA_LESS,
+ ALPHA_LESSEQUAL,
+ ALPHA_GREATER,
+ ALPHA_GREATEREQUAL,
+
+ ALPHA_LAST = ALPHA_GREATEREQUAL
+ };
+
+ enum CullMode : unsigned int
+ {
+ CULL_NONE,
+ CULL_CLOCKWISE,
+ CULL_COUNTERCLOCKWISE,
+
+ CULL_LAST = CULL_COUNTERCLOCKWISE
+ };
+
+ enum BlendFactor : unsigned int
+ {
+ BLEND_ZERO,
+ BLEND_ONE,
+ BLEND_SOURCE,
+ BLEND_INVSOURCE,
+ BLEND_DEST,
+ BLEND_INVDEST,
+ BLEND_SOURCEALPHA,
+ BLEND_INVSOURCEALPHA,
+ BLEND_DESTALPHA,
+ BLEND_INVDESTALPHA,
+ BLEND_SRCALPHASAT,
+ BLEND_CONSTANT,
+ BLEND_INVCONSTANT,
+ BLEND_CONSTANTALPHA,
+ BLEND_INVCONSTANTALPHA,
+
+ BLEND_LAST = BLEND_INVCONSTANT
+ };
+
+ enum BlendOperation : unsigned int
+ {
+ BLENDOP_ADD,
+ BLENDOP_SUB,
+ BLENDOP_INVSUB,
+ BLENDOP_MIN,
+ BLENDOP_MAX,
+
+ BLENDOP_SOURCE, // Copy source
+ BLENDOP_DEST, // Copy dest
+ BLENDOP_NULL, // Nullify result
+
+ BLENDOP_LAST = BLENDOP_NULL
+ };
+
+ enum MaterialSource : unsigned int
+ {
+ MATERIAL_MATERIAL,
+ MATERIAL_COLOR1,
+ MATERIAL_COLOR2,
+
+ MATERIAL_LAST = MATERIAL_COLOR2
+ };
+
+ enum FogMode : unsigned int
+ {
+ FOG_NONE,
+ FOG_LINEAR,
+ FOG_EXP,
+ FOG_EXP2,
+
+ FOG_LAST = FOG_EXP2
+ };
+
+ enum TexGen : unsigned int
+ {
+ TEXGEN_PASSTHRU,
+ TEXGEN_NORMAL,
+ TEXGEN_POSITION,
+ TEXGEN_REFLECTION,
+ TEXGEN_SPHEREMAP,
+
+ TEXGEN_LAST = TEXGEN_SPHEREMAP
+ };
+
+ enum TransparencyAntialiasing : unsigned int
+ {
+ TRANSPARENCY_NONE,
+ TRANSPARENCY_ALPHA_TO_COVERAGE,
+
+ TRANSPARENCY_LAST = TRANSPARENCY_ALPHA_TO_COVERAGE
+ };
+
class Context
{
public:
- enum DrawType
- {
- DRAW_POINTLIST,
- DRAW_LINELIST,
- DRAW_LINESTRIP,
- DRAW_LINELOOP,
- DRAW_TRIANGLELIST,
- DRAW_TRIANGLESTRIP,
- DRAW_TRIANGLEFAN,
-
- DRAW_INDEXEDPOINTLIST8,
- DRAW_INDEXEDLINELIST8,
- DRAW_INDEXEDLINESTRIP8,
- DRAW_INDEXEDLINELOOP8,
- DRAW_INDEXEDTRIANGLELIST8,
- DRAW_INDEXEDTRIANGLESTRIP8,
- DRAW_INDEXEDTRIANGLEFAN8,
-
- DRAW_INDEXEDPOINTLIST16,
- DRAW_INDEXEDLINELIST16,
- DRAW_INDEXEDLINESTRIP16,
- DRAW_INDEXEDLINELOOP16,
- DRAW_INDEXEDTRIANGLELIST16,
- DRAW_INDEXEDTRIANGLESTRIP16,
- DRAW_INDEXEDTRIANGLEFAN16,
-
- DRAW_INDEXEDPOINTLIST32,
- DRAW_INDEXEDLINELIST32,
- DRAW_INDEXEDLINESTRIP32,
- DRAW_INDEXEDLINELOOP32,
- DRAW_INDEXEDTRIANGLELIST32,
- DRAW_INDEXEDTRIANGLESTRIP32,
- DRAW_INDEXEDTRIANGLEFAN32,
-
- DRAW_LAST = DRAW_INDEXEDTRIANGLEFAN32
- };
-
- enum FillMode
- {
- FILL_SOLID,
- FILL_WIREFRAME,
- FILL_VERTEX,
-
- FILL_LAST = FILL_VERTEX
- };
-
- enum ShadingMode
- {
- SHADING_FLAT,
- SHADING_GOURAUD,
-
- SHADING_LAST = SHADING_GOURAUD
- };
-
- enum DepthCompareMode
- {
- DEPTH_ALWAYS,
- DEPTH_NEVER,
- DEPTH_EQUAL,
- DEPTH_NOTEQUAL,
- DEPTH_LESS,
- DEPTH_LESSEQUAL,
- DEPTH_GREATER,
- DEPTH_GREATEREQUAL,
-
- DEPTH_LAST = DEPTH_GREATEREQUAL
- };
-
- enum StencilCompareMode
- {
- STENCIL_ALWAYS,
- STENCIL_NEVER,
- STENCIL_EQUAL,
- STENCIL_NOTEQUAL,
- STENCIL_LESS,
- STENCIL_LESSEQUAL,
- STENCIL_GREATER,
- STENCIL_GREATEREQUAL,
-
- STENCIL_LAST = STENCIL_GREATEREQUAL
- };
-
- enum StencilOperation
- {
- OPERATION_KEEP,
- OPERATION_ZERO,
- OPERATION_REPLACE,
- OPERATION_INCRSAT,
- OPERATION_DECRSAT,
- OPERATION_INVERT,
- OPERATION_INCR,
- OPERATION_DECR,
-
- OPERATION_LAST = OPERATION_DECR
- };
-
- enum AlphaCompareMode
- {
- ALPHA_ALWAYS,
- ALPHA_NEVER,
- ALPHA_EQUAL,
- ALPHA_NOTEQUAL,
- ALPHA_LESS,
- ALPHA_LESSEQUAL,
- ALPHA_GREATER,
- ALPHA_GREATEREQUAL,
-
- ALPHA_LAST = ALPHA_GREATEREQUAL
- };
-
- enum CullMode
- {
- CULL_NONE,
- CULL_CLOCKWISE,
- CULL_COUNTERCLOCKWISE,
-
- CULL_LAST = CULL_COUNTERCLOCKWISE
- };
-
- enum BlendFactor
- {
- BLEND_ZERO,
- BLEND_ONE,
- BLEND_SOURCE,
- BLEND_INVSOURCE,
- BLEND_DEST,
- BLEND_INVDEST,
- BLEND_SOURCEALPHA,
- BLEND_INVSOURCEALPHA,
- BLEND_DESTALPHA,
- BLEND_INVDESTALPHA,
- BLEND_SRCALPHASAT,
- BLEND_CONSTANT,
- BLEND_INVCONSTANT,
- BLEND_CONSTANTALPHA,
- BLEND_INVCONSTANTALPHA,
-
- BLEND_LAST = BLEND_INVCONSTANT
- };
-
- enum BlendOperation
- {
- BLENDOP_ADD,
- BLENDOP_SUB,
- BLENDOP_INVSUB,
- BLENDOP_MIN,
- BLENDOP_MAX,
-
- BLENDOP_SOURCE, // Copy source
- BLENDOP_DEST, // Copy dest
- BLENDOP_NULL, // Nullify result
-
- BLENDOP_LAST = BLENDOP_NULL
- };
-
- enum MaterialSource
- {
- MATERIAL,
- COLOR1,
- COLOR2,
-
- MATERIAL_LAST = COLOR2
- };
-
- enum FogMode
- {
- FOG_NONE,
- FOG_LINEAR,
- FOG_EXP,
- FOG_EXP2,
-
- FOG_LAST = FOG_EXP2
- };
-
- enum TexGen
- {
- TEXGEN_PASSTHRU,
- TEXGEN_NORMAL,
- TEXGEN_POSITION,
- TEXGEN_REFLECTION,
- TEXGEN_SPHEREMAP,
-
- TEXGEN_LAST = TEXGEN_SPHEREMAP
- };
-
- enum TransparencyAntialiasing
- {
- TRANSPARENCY_NONE,
- TRANSPARENCY_ALPHA_TO_COVERAGE,
-
- TRANSPARENCY_LAST = TRANSPARENCY_ALPHA_TO_COVERAGE
- };
-
Context();
~Context();
@@ -288,9 +288,9 @@
bool setBlendOperation(BlendOperation blendOperation);
bool setSeparateAlphaBlendEnable(bool separateAlphaBlendEnable);
- bool setSourceBlendFactorAlpha(Context::BlendFactor sourceBlendFactorAlpha);
- bool setDestBlendFactorAlpha(Context::BlendFactor destBlendFactorAlpha);
- bool setBlendOperationAlpha(Context::BlendOperation blendOperationAlpha);
+ bool setSourceBlendFactorAlpha(BlendFactor sourceBlendFactorAlpha);
+ bool setDestBlendFactorAlpha(BlendFactor destBlendFactorAlpha);
+ bool setBlendOperationAlpha(BlendOperation blendOperationAlpha);
bool setColorWriteMask(int index, int colorWriteMask);
bool setWriteSRGB(bool sRGB);
@@ -298,7 +298,7 @@
// Active fixed-function pixel pipeline states
bool fogActive();
bool pointSizeActive();
- Context::FogMode pixelFogActive();
+ FogMode pixelFogActive();
bool depthWriteActive();
bool alphaTestActive();
bool depthBufferActive();
@@ -414,7 +414,7 @@
bool textureWrapActive;
unsigned char textureWrap[16];
- Context::TexGen texGen[8];
+ TexGen texGen[8];
bool localViewer;
bool normalizeNormals;
int textureTransformCount[8];
diff --git a/src/Renderer/PixelProcessor.cpp b/src/Renderer/PixelProcessor.cpp
index 0fbf0ea..5a45e48 100644
--- a/src/Renderer/PixelProcessor.cpp
+++ b/src/Renderer/PixelProcessor.cpp
@@ -24,7 +24,7 @@
namespace sw
{
extern bool complementaryDepthBuffer;
- extern Context::TransparencyAntialiasing transparencyAntialiasing;
+ extern TransparencyAntialiasing transparencyAntialiasing;
extern bool perspectiveCorrection;
bool precachePixel = false;
@@ -425,12 +425,12 @@
context->setDepthBufferEnable(depthBufferEnable);
}
- void PixelProcessor::setDepthCompare(Context::DepthCompareMode depthCompareMode)
+ void PixelProcessor::setDepthCompare(DepthCompareMode depthCompareMode)
{
context->depthCompareMode = depthCompareMode;
}
- void PixelProcessor::setAlphaCompare(Context::AlphaCompareMode alphaCompareMode)
+ void PixelProcessor::setAlphaCompare(AlphaCompareMode alphaCompareMode)
{
context->alphaCompareMode = alphaCompareMode;
}
@@ -445,7 +445,7 @@
context->alphaTestEnable = alphaTestEnable;
}
- void PixelProcessor::setCullMode(Context::CullMode cullMode)
+ void PixelProcessor::setCullMode(CullMode cullMode)
{
context->cullMode = cullMode;
}
@@ -460,7 +460,7 @@
context->stencilEnable = stencilEnable;
}
- void PixelProcessor::setStencilCompare(Context::StencilCompareMode stencilCompareMode)
+ void PixelProcessor::setStencilCompare(StencilCompareMode stencilCompareMode)
{
context->stencilCompareMode = stencilCompareMode;
}
@@ -489,17 +489,17 @@
stencilCCW.set(context->stencilReferenceCCW, stencilMaskCCW, context->stencilWriteMaskCCW);
}
- void PixelProcessor::setStencilFailOperation(Context::StencilOperation stencilFailOperation)
+ void PixelProcessor::setStencilFailOperation(StencilOperation stencilFailOperation)
{
context->stencilFailOperation = stencilFailOperation;
}
- void PixelProcessor::setStencilPassOperation(Context::StencilOperation stencilPassOperation)
+ void PixelProcessor::setStencilPassOperation(StencilOperation stencilPassOperation)
{
context->stencilPassOperation = stencilPassOperation;
}
- void PixelProcessor::setStencilZFailOperation(Context::StencilOperation stencilZFailOperation)
+ void PixelProcessor::setStencilZFailOperation(StencilOperation stencilZFailOperation)
{
context->stencilZFailOperation = stencilZFailOperation;
}
@@ -521,22 +521,22 @@
context->twoSidedStencil = enable;
}
- void PixelProcessor::setStencilCompareCCW(Context::StencilCompareMode stencilCompareMode)
+ void PixelProcessor::setStencilCompareCCW(StencilCompareMode stencilCompareMode)
{
context->stencilCompareModeCCW = stencilCompareMode;
}
- void PixelProcessor::setStencilFailOperationCCW(Context::StencilOperation stencilFailOperation)
+ void PixelProcessor::setStencilFailOperationCCW(StencilOperation stencilFailOperation)
{
context->stencilFailOperationCCW = stencilFailOperation;
}
- void PixelProcessor::setStencilPassOperationCCW(Context::StencilOperation stencilPassOperation)
+ void PixelProcessor::setStencilPassOperationCCW(StencilOperation stencilPassOperation)
{
context->stencilPassOperationCCW = stencilPassOperation;
}
- void PixelProcessor::setStencilZFailOperationCCW(Context::StencilOperation stencilZFailOperation)
+ void PixelProcessor::setStencilZFailOperationCCW(StencilOperation stencilZFailOperation)
{
context->stencilZFailOperationCCW = stencilZFailOperation;
}
@@ -665,12 +665,12 @@
factor.invBlendConstant4F[3][3] = 1 - blendConstant.a;
}
- void PixelProcessor::setFillMode(Context::FillMode fillMode)
+ void PixelProcessor::setFillMode(FillMode fillMode)
{
context->fillMode = fillMode;
}
- void PixelProcessor::setShadingMode(Context::ShadingMode shadingMode)
+ void PixelProcessor::setShadingMode(ShadingMode shadingMode)
{
context->shadingMode = shadingMode;
}
@@ -680,17 +680,17 @@
context->setAlphaBlendEnable(alphaBlendEnable);
}
- void PixelProcessor::setSourceBlendFactor(Context::BlendFactor sourceBlendFactor)
+ void PixelProcessor::setSourceBlendFactor(BlendFactor sourceBlendFactor)
{
context->setSourceBlendFactor(sourceBlendFactor);
}
- void PixelProcessor::setDestBlendFactor(Context::BlendFactor destBlendFactor)
+ void PixelProcessor::setDestBlendFactor(BlendFactor destBlendFactor)
{
context->setDestBlendFactor(destBlendFactor);
}
- void PixelProcessor::setBlendOperation(Context::BlendOperation blendOperation)
+ void PixelProcessor::setBlendOperation(BlendOperation blendOperation)
{
context->setBlendOperation(blendOperation);
}
@@ -700,17 +700,17 @@
context->setSeparateAlphaBlendEnable(separateAlphaBlendEnable);
}
- void PixelProcessor::setSourceBlendFactorAlpha(Context::BlendFactor sourceBlendFactorAlpha)
+ void PixelProcessor::setSourceBlendFactorAlpha(BlendFactor sourceBlendFactorAlpha)
{
context->setSourceBlendFactorAlpha(sourceBlendFactorAlpha);
}
- void PixelProcessor::setDestBlendFactorAlpha(Context::BlendFactor destBlendFactorAlpha)
+ void PixelProcessor::setDestBlendFactorAlpha(BlendFactor destBlendFactorAlpha)
{
context->setDestBlendFactorAlpha(destBlendFactorAlpha);
}
- void PixelProcessor::setBlendOperationAlpha(Context::BlendOperation blendOperationAlpha)
+ void PixelProcessor::setBlendOperationAlpha(BlendOperation blendOperationAlpha)
{
context->setBlendOperationAlpha(blendOperationAlpha);
}
@@ -773,7 +773,7 @@
fog.densityE2 = replicate(fogDensity * 1.201122f); // 1/e^(x^2) = 2^(-(x*1.20)^2)
}
- void PixelProcessor::setPixelFogMode(Context::FogMode fogMode)
+ void PixelProcessor::setPixelFogMode(FogMode fogMode)
{
context->pixelFogMode = fogMode;
}
@@ -831,7 +831,7 @@
{
state.alphaCompareMode = context->alphaCompareMode;
- state.transparencyAntialiasing = context->getMultiSampleCount() > 1 ? transparencyAntialiasing : Context::TRANSPARENCY_NONE;
+ state.transparencyAntialiasing = context->getMultiSampleCount() > 1 ? transparencyAntialiasing : TRANSPARENCY_NONE;
}
state.depthWriteEnable = context->depthWriteActive();
@@ -870,7 +870,7 @@
state.fogActive = context->fogActive();
state.pixelFogMode = context->pixelFogActive();
- state.wBasedFog = context->wBasedFog && context->pixelFogActive() != Context::FOG_NONE;
+ state.wBasedFog = context->wBasedFog && context->pixelFogActive() != FOG_NONE;
state.perspective = context->perspectiveActive();
if(context->alphaBlendActive())
@@ -934,7 +934,7 @@
const bool point = context->isDrawPoint(true);
const bool sprite = context->pointSpriteActive();
- const bool flatShading = (context->shadingMode == Context::SHADING_FLAT) || point;
+ const bool flatShading = (context->shadingMode == SHADING_FLAT) || point;
if(context->pixelShaderVersion() < 0x0300)
{
diff --git a/src/Renderer/PixelProcessor.hpp b/src/Renderer/PixelProcessor.hpp
index df1876d..143a834 100644
--- a/src/Renderer/PixelProcessor.hpp
+++ b/src/Renderer/PixelProcessor.hpp
@@ -31,54 +31,54 @@
int shaderID;
- unsigned int depthOverride : 1;
- unsigned int shaderContainsKill : 1;
+ bool depthOverride : 1;
+ bool shaderContainsKill : 1;
- unsigned int depthCompareMode : BITS(Context::DEPTH_LAST);
- unsigned int alphaCompareMode : BITS(Context::ALPHA_LAST);
- unsigned int depthWriteEnable : 1;
- unsigned int quadLayoutDepthBuffer : 1;
+ DepthCompareMode depthCompareMode : BITS(DEPTH_LAST);
+ AlphaCompareMode alphaCompareMode : BITS(ALPHA_LAST);
+ bool depthWriteEnable : 1;
+ bool quadLayoutDepthBuffer : 1;
- unsigned int stencilActive : 1;
- unsigned int stencilCompareMode : BITS(Context::STENCIL_LAST);
- unsigned int stencilFailOperation : BITS(Context::OPERATION_LAST);
- unsigned int stencilPassOperation : BITS(Context::OPERATION_LAST);
- unsigned int stencilZFailOperation : BITS(Context::OPERATION_LAST);
- unsigned int noStencilMask : 1;
- unsigned int noStencilWriteMask : 1;
- unsigned int stencilWriteMasked : 1;
- unsigned int twoSidedStencil : 1;
- unsigned int stencilCompareModeCCW : BITS(Context::STENCIL_LAST);
- unsigned int stencilFailOperationCCW : BITS(Context::OPERATION_LAST);
- unsigned int stencilPassOperationCCW : BITS(Context::OPERATION_LAST);
- unsigned int stencilZFailOperationCCW : BITS(Context::OPERATION_LAST);
- unsigned int noStencilMaskCCW : 1;
- unsigned int noStencilWriteMaskCCW : 1;
- unsigned int stencilWriteMaskedCCW : 1;
+ bool stencilActive : 1;
+ StencilCompareMode stencilCompareMode : BITS(STENCIL_LAST);
+ StencilOperation stencilFailOperation : BITS(OPERATION_LAST);
+ StencilOperation stencilPassOperation : BITS(OPERATION_LAST);
+ StencilOperation stencilZFailOperation : BITS(OPERATION_LAST);
+ bool noStencilMask : 1;
+ bool noStencilWriteMask : 1;
+ bool stencilWriteMasked : 1;
+ bool twoSidedStencil : 1;
+ StencilCompareMode stencilCompareModeCCW : BITS(STENCIL_LAST);
+ StencilOperation stencilFailOperationCCW : BITS(OPERATION_LAST);
+ StencilOperation stencilPassOperationCCW : BITS(OPERATION_LAST);
+ StencilOperation stencilZFailOperationCCW : BITS(OPERATION_LAST);
+ bool noStencilMaskCCW : 1;
+ bool noStencilWriteMaskCCW : 1;
+ bool stencilWriteMaskedCCW : 1;
- unsigned int depthTestActive : 1;
- unsigned int fogActive : 1;
- unsigned int pixelFogMode : BITS(Context::FOG_LAST);
- unsigned int specularAdd : 1;
- unsigned int occlusionEnabled : 1;
- unsigned int wBasedFog : 1;
- unsigned int perspective : 1;
+ bool depthTestActive : 1;
+ bool fogActive : 1;
+ FogMode pixelFogMode : BITS(FOG_LAST);
+ bool specularAdd : 1;
+ bool occlusionEnabled : 1;
+ bool wBasedFog : 1;
+ bool perspective : 1;
- unsigned int alphaBlendActive : 1;
- unsigned int sourceBlendFactor : BITS(Context::BLEND_LAST);
- unsigned int destBlendFactor : BITS(Context::BLEND_LAST);
- unsigned int blendOperation : BITS(Context::BLENDOP_LAST);
- unsigned int sourceBlendFactorAlpha : BITS(Context::BLEND_LAST);
- unsigned int destBlendFactorAlpha : BITS(Context::BLEND_LAST);
- unsigned int blendOperationAlpha : BITS(Context::BLENDOP_LAST);
+ bool alphaBlendActive : 1;
+ BlendFactor sourceBlendFactor : BITS(BLEND_LAST);
+ BlendFactor destBlendFactor : BITS(BLEND_LAST);
+ BlendOperation blendOperation : BITS(BLENDOP_LAST);
+ BlendFactor sourceBlendFactorAlpha : BITS(BLEND_LAST);
+ BlendFactor destBlendFactorAlpha : BITS(BLEND_LAST);
+ BlendOperation blendOperationAlpha : BITS(BLENDOP_LAST);
- unsigned int colorWriteMask : 16; // (four times four component bit mask)
- unsigned char targetFormat[4];
- unsigned int writeSRGB : 1;
- unsigned int multiSample : 3;
- unsigned int multiSampleMask : 4;
- unsigned int transparencyAntialiasing : BITS(Context::TRANSPARENCY_LAST);
- unsigned int centroid : 1;
+ unsigned int colorWriteMask : 16; // (four times four component bit mask)
+ Format targetFormat[4];
+ bool writeSRGB : 1;
+ unsigned int multiSample : 3;
+ unsigned int multiSampleMask : 4;
+ TransparencyAntialiasing transparencyAntialiasing : BITS(TRANSPARENCY_LAST);
+ bool centroid : 1;
Sampler::State sampler[16];
TextureStage::State textureStage[8];
@@ -88,7 +88,7 @@
unsigned char component : 4;
unsigned char flat : 4;
unsigned char project : 2;
- unsigned char centroid : 1;
+ bool centroid : 1;
};
union
@@ -117,12 +117,12 @@
bool alphaTestActive() const
{
- return alphaCompareMode != Context::ALPHA_ALWAYS;
+ return alphaCompareMode != ALPHA_ALWAYS;
}
bool pixelFogActive() const
{
- return pixelFogMode != Context::FOG_NONE;
+ return pixelFogMode != FOG_NONE;
}
unsigned int hash;
@@ -225,45 +225,45 @@
virtual void setWriteSRGB(bool sRGB);
virtual void setDepthBufferEnable(bool depthBufferEnable);
- virtual void setDepthCompare(Context::DepthCompareMode depthCompareMode);
- virtual void setAlphaCompare(Context::AlphaCompareMode alphaCompareMode);
+ virtual void setDepthCompare(DepthCompareMode depthCompareMode);
+ virtual void setAlphaCompare(AlphaCompareMode alphaCompareMode);
virtual void setDepthWriteEnable(bool depthWriteEnable);
virtual void setAlphaTestEnable(bool alphaTestEnable);
- virtual void setCullMode(Context::CullMode cullMode);
+ virtual void setCullMode(CullMode cullMode);
virtual void setColorWriteMask(int index, int rgbaMask);
virtual void setStencilEnable(bool stencilEnable);
- virtual void setStencilCompare(Context::StencilCompareMode stencilCompareMode);
+ virtual void setStencilCompare(StencilCompareMode stencilCompareMode);
virtual void setStencilReference(int stencilReference);
virtual void setStencilMask(int stencilMask);
- virtual void setStencilFailOperation(Context::StencilOperation stencilFailOperation);
- virtual void setStencilPassOperation(Context::StencilOperation stencilPassOperation);
- virtual void setStencilZFailOperation(Context::StencilOperation stencilZFailOperation);
+ virtual void setStencilFailOperation(StencilOperation stencilFailOperation);
+ virtual void setStencilPassOperation(StencilOperation stencilPassOperation);
+ virtual void setStencilZFailOperation(StencilOperation stencilZFailOperation);
virtual void setStencilWriteMask(int stencilWriteMask);
virtual void setTwoSidedStencil(bool enable);
- virtual void setStencilCompareCCW(Context::StencilCompareMode stencilCompareMode);
+ virtual void setStencilCompareCCW(StencilCompareMode stencilCompareMode);
virtual void setStencilReferenceCCW(int stencilReference);
virtual void setStencilMaskCCW(int stencilMask);
- virtual void setStencilFailOperationCCW(Context::StencilOperation stencilFailOperation);
- virtual void setStencilPassOperationCCW(Context::StencilOperation stencilPassOperation);
- virtual void setStencilZFailOperationCCW(Context::StencilOperation stencilZFailOperation);
+ virtual void setStencilFailOperationCCW(StencilOperation stencilFailOperation);
+ virtual void setStencilPassOperationCCW(StencilOperation stencilPassOperation);
+ virtual void setStencilZFailOperationCCW(StencilOperation stencilZFailOperation);
virtual void setStencilWriteMaskCCW(int stencilWriteMask);
virtual void setTextureFactor(const Color<float> &textureFactor);
virtual void setBlendConstant(const Color<float> &blendConstant);
- virtual void setFillMode(Context::FillMode fillMode);
- virtual void setShadingMode(Context::ShadingMode shadingMode);
+ virtual void setFillMode(FillMode fillMode);
+ virtual void setShadingMode(ShadingMode shadingMode);
virtual void setAlphaBlendEnable(bool alphaBlendEnable);
- virtual void setSourceBlendFactor(Context::BlendFactor sourceBlendFactor);
- virtual void setDestBlendFactor(Context::BlendFactor destBlendFactor);
- virtual void setBlendOperation(Context::BlendOperation blendOperation);
+ virtual void setSourceBlendFactor(BlendFactor sourceBlendFactor);
+ virtual void setDestBlendFactor(BlendFactor destBlendFactor);
+ virtual void setBlendOperation(BlendOperation blendOperation);
virtual void setSeparateAlphaBlendEnable(bool separateAlphaBlendEnable);
- virtual void setSourceBlendFactorAlpha(Context::BlendFactor sourceBlendFactorAlpha);
- virtual void setDestBlendFactorAlpha(Context::BlendFactor destBlendFactorAlpha);
- virtual void setBlendOperationAlpha(Context::BlendOperation blendOperationAlpha);
+ virtual void setSourceBlendFactorAlpha(BlendFactor sourceBlendFactorAlpha);
+ virtual void setDestBlendFactorAlpha(BlendFactor destBlendFactorAlpha);
+ virtual void setBlendOperationAlpha(BlendOperation blendOperationAlpha);
virtual void setAlphaReference(int alphaReference);
@@ -273,7 +273,7 @@
virtual void setFogEnd(float end);
virtual void setFogColor(Color<float> fogColor);
virtual void setFogDensity(float fogDensity);
- virtual void setPixelFogMode(Context::FogMode fogMode);
+ virtual void setPixelFogMode(FogMode fogMode);
virtual void setPerspectiveCorrection(bool perspectiveCorrection);
diff --git a/src/Renderer/QuadRasterizer.cpp b/src/Renderer/QuadRasterizer.cpp
index a11cf18..d15c895 100644
--- a/src/Renderer/QuadRasterizer.cpp
+++ b/src/Renderer/QuadRasterizer.cpp
@@ -173,7 +173,7 @@
if(veryEarlyDepthTest && state.multiSample == 1)
{
- if(!state.stencilActive && state.depthTestActive && (state.depthCompareMode == Context::DEPTH_LESSEQUAL || state.depthCompareMode == Context::DEPTH_LESS)) // FIXME: Both modes ok?
+ if(!state.stencilActive && state.depthTestActive && (state.depthCompareMode == DEPTH_LESSEQUAL || state.depthCompareMode == DEPTH_LESS)) // FIXME: Both modes ok?
{
Float4 xxxx = Float4(Float(x0)) + *Pointer<Float4>(r.primitive + OFFSET(Primitive,xQuad), 16);
diff --git a/src/Renderer/Renderer.cpp b/src/Renderer/Renderer.cpp
index 41a3cbb..20038bd 100644
--- a/src/Renderer/Renderer.cpp
+++ b/src/Renderer/Renderer.cpp
@@ -51,7 +51,7 @@
extern bool complementaryDepthBuffer;
extern bool postBlendSRGB;
extern bool exactColorRounding;
- extern Context::TransparencyAntialiasing transparencyAntialiasing;
+ extern TransparencyAntialiasing transparencyAntialiasing;
extern bool forceClearRegisters;
extern bool precacheVertex;
@@ -191,7 +191,7 @@
blitter.blit(source, sRect, dest, dRect, filter);
}
- void Renderer::draw(Context::DrawType drawType, unsigned int indexOffset, unsigned int count, bool update)
+ void Renderer::draw(DrawType drawType, unsigned int indexOffset, unsigned int count, bool update)
{
#ifndef NDEBUG
if(count < minPrimitives || count > maxPrimitives)
@@ -237,14 +237,14 @@
{
switch(context->fillMode)
{
- case Context::FILL_SOLID:
+ case FILL_SOLID:
setupPrimitives = setupSolidTriangles;
break;
- case Context::FILL_WIREFRAME:
+ case FILL_WIREFRAME:
setupPrimitives = setupWireframeTriangle;
batch = 1;
break;
- case Context::FILL_VERTEX:
+ case FILL_VERTEX:
setupPrimitives = setupVertexTriangle;
batch = 1;
break;
@@ -440,7 +440,7 @@
data->factor = factor;
- if(pixelState.transparencyAntialiasing == Context::TRANSPARENCY_ALPHA_TO_COVERAGE)
+ if(pixelState.transparencyAntialiasing == TRANSPARENCY_ALPHA_TO_COVERAGE)
{
float ref = (float)context->alphaReference * (1.0f / 255.0f);
float margin = sw::min(ref, 1.0f - ref);
@@ -954,7 +954,7 @@
switch(draw->drawType)
{
- case Context::DRAW_POINTLIST:
+ case DRAW_POINTLIST:
{
unsigned int index = start;
@@ -968,7 +968,7 @@
}
}
break;
- case Context::DRAW_LINELIST:
+ case DRAW_LINELIST:
{
unsigned int index = 2 * start;
@@ -982,7 +982,7 @@
}
}
break;
- case Context::DRAW_LINESTRIP:
+ case DRAW_LINESTRIP:
{
unsigned int index = start;
@@ -996,7 +996,7 @@
}
}
break;
- case Context::DRAW_LINELOOP:
+ case DRAW_LINELOOP:
{
unsigned int index = start;
@@ -1010,7 +1010,7 @@
}
}
break;
- case Context::DRAW_TRIANGLELIST:
+ case DRAW_TRIANGLELIST:
{
unsigned int index = 3 * start;
@@ -1024,7 +1024,7 @@
}
}
break;
- case Context::DRAW_TRIANGLESTRIP:
+ case DRAW_TRIANGLESTRIP:
{
unsigned int index = start;
@@ -1038,7 +1038,7 @@
}
}
break;
- case Context::DRAW_TRIANGLEFAN:
+ case DRAW_TRIANGLEFAN:
{
unsigned int index = start;
@@ -1052,7 +1052,7 @@
}
}
break;
- case Context::DRAW_INDEXEDPOINTLIST8:
+ case DRAW_INDEXEDPOINTLIST8:
{
const unsigned char *index = (const unsigned char*)indices + start;
@@ -1066,7 +1066,7 @@
}
}
break;
- case Context::DRAW_INDEXEDPOINTLIST16:
+ case DRAW_INDEXEDPOINTLIST16:
{
const unsigned short *index = (const unsigned short*)indices + start;
@@ -1080,7 +1080,7 @@
}
}
break;
- case Context::DRAW_INDEXEDPOINTLIST32:
+ case DRAW_INDEXEDPOINTLIST32:
{
const unsigned int *index = (const unsigned int*)indices + start;
@@ -1094,7 +1094,7 @@
}
}
break;
- case Context::DRAW_INDEXEDLINELIST8:
+ case DRAW_INDEXEDLINELIST8:
{
const unsigned char *index = (const unsigned char*)indices + 2 * start;
@@ -1108,7 +1108,7 @@
}
}
break;
- case Context::DRAW_INDEXEDLINELIST16:
+ case DRAW_INDEXEDLINELIST16:
{
const unsigned short *index = (const unsigned short*)indices + 2 * start;
@@ -1122,7 +1122,7 @@
}
}
break;
- case Context::DRAW_INDEXEDLINELIST32:
+ case DRAW_INDEXEDLINELIST32:
{
const unsigned int *index = (const unsigned int*)indices + 2 * start;
@@ -1136,7 +1136,7 @@
}
}
break;
- case Context::DRAW_INDEXEDLINESTRIP8:
+ case DRAW_INDEXEDLINESTRIP8:
{
const unsigned char *index = (const unsigned char*)indices + start;
@@ -1150,7 +1150,7 @@
}
}
break;
- case Context::DRAW_INDEXEDLINESTRIP16:
+ case DRAW_INDEXEDLINESTRIP16:
{
const unsigned short *index = (const unsigned short*)indices + start;
@@ -1164,7 +1164,7 @@
}
}
break;
- case Context::DRAW_INDEXEDLINESTRIP32:
+ case DRAW_INDEXEDLINESTRIP32:
{
const unsigned int *index = (const unsigned int*)indices + start;
@@ -1178,7 +1178,7 @@
}
}
break;
- case Context::DRAW_INDEXEDLINELOOP8:
+ case DRAW_INDEXEDLINELOOP8:
{
const unsigned char *index = (const unsigned char*)indices;
@@ -1190,7 +1190,7 @@
}
}
break;
- case Context::DRAW_INDEXEDLINELOOP16:
+ case DRAW_INDEXEDLINELOOP16:
{
const unsigned short *index = (const unsigned short*)indices;
@@ -1202,7 +1202,7 @@
}
}
break;
- case Context::DRAW_INDEXEDLINELOOP32:
+ case DRAW_INDEXEDLINELOOP32:
{
const unsigned int *index = (const unsigned int*)indices;
@@ -1214,7 +1214,7 @@
}
}
break;
- case Context::DRAW_INDEXEDTRIANGLELIST8:
+ case DRAW_INDEXEDTRIANGLELIST8:
{
const unsigned char *index = (const unsigned char*)indices + 3 * start;
@@ -1228,7 +1228,7 @@
}
}
break;
- case Context::DRAW_INDEXEDTRIANGLELIST16:
+ case DRAW_INDEXEDTRIANGLELIST16:
{
const unsigned short *index = (const unsigned short*)indices + 3 * start;
@@ -1242,7 +1242,7 @@
}
}
break;
- case Context::DRAW_INDEXEDTRIANGLELIST32:
+ case DRAW_INDEXEDTRIANGLELIST32:
{
const unsigned int *index = (const unsigned int*)indices + 3 * start;
@@ -1256,7 +1256,7 @@
}
}
break;
- case Context::DRAW_INDEXEDTRIANGLESTRIP8:
+ case DRAW_INDEXEDTRIANGLESTRIP8:
{
const unsigned char *index = (const unsigned char*)indices + start;
@@ -1270,7 +1270,7 @@
}
}
break;
- case Context::DRAW_INDEXEDTRIANGLESTRIP16:
+ case DRAW_INDEXEDTRIANGLESTRIP16:
{
const unsigned short *index = (const unsigned short*)indices + start;
@@ -1284,7 +1284,7 @@
}
}
break;
- case Context::DRAW_INDEXEDTRIANGLESTRIP32:
+ case DRAW_INDEXEDTRIANGLESTRIP32:
{
const unsigned int *index = (const unsigned int*)indices + start;
@@ -1298,7 +1298,7 @@
}
}
break;
- case Context::DRAW_INDEXEDTRIANGLEFAN8:
+ case DRAW_INDEXEDTRIANGLEFAN8:
{
const unsigned char *index = (const unsigned char*)indices;
@@ -1310,7 +1310,7 @@
}
}
break;
- case Context::DRAW_INDEXEDTRIANGLEFAN16:
+ case DRAW_INDEXEDTRIANGLEFAN16:
{
const unsigned short *index = (const unsigned short*)indices;
@@ -1322,7 +1322,7 @@
}
}
break;
- case Context::DRAW_INDEXEDTRIANGLEFAN32:
+ case DRAW_INDEXEDTRIANGLEFAN32:
{
const unsigned int *index = (const unsigned int*)indices;
@@ -1403,11 +1403,11 @@
float d = (v0.y * v1.x - v0.x * v1.y) * v2.w + (v0.x * v2.y - v0.y * v2.x) * v1.w + (v2.x * v1.y - v1.x * v2.y) * v0.w;
- if(state.cullMode == Context::CULL_CLOCKWISE)
+ if(state.cullMode == CULL_CLOCKWISE)
{
if(d >= 0) return 0;
}
- else if(state.cullMode == Context::CULL_COUNTERCLOCKWISE)
+ else if(state.cullMode == CULL_COUNTERCLOCKWISE)
{
if(d <= 0) return 0;
}
@@ -1460,11 +1460,11 @@
float d = (v0.y * v1.x - v0.x * v1.y) * v2.w + (v0.x * v2.y - v0.y * v2.x) * v1.w + (v2.x * v1.y - v1.x * v2.y) * v0.w;
- if(state.cullMode == Context::CULL_CLOCKWISE)
+ if(state.cullMode == CULL_CLOCKWISE)
{
if(d >= 0) return 0;
}
- else if(state.cullMode == Context::CULL_COUNTERCLOCKWISE)
+ else if(state.cullMode == CULL_COUNTERCLOCKWISE)
{
if(d <= 0) return 0;
}
@@ -1997,7 +1997,7 @@
context->sampleMask = mask;
}
- void Renderer::setTransparencyAntialiasing(Context::TransparencyAntialiasing transparencyAntialiasing)
+ void Renderer::setTransparencyAntialiasing(TransparencyAntialiasing transparencyAntialiasing)
{
sw::transparencyAntialiasing = transparencyAntialiasing;
}
@@ -2488,9 +2488,9 @@
switch(configuration.transparencyAntialiasing)
{
- case 0: transparencyAntialiasing = Context::TRANSPARENCY_NONE; break;
- case 1: transparencyAntialiasing = Context::TRANSPARENCY_ALPHA_TO_COVERAGE; break;
- default: transparencyAntialiasing = Context::TRANSPARENCY_NONE; break;
+ case 0: transparencyAntialiasing = TRANSPARENCY_NONE; break;
+ case 1: transparencyAntialiasing = TRANSPARENCY_ALPHA_TO_COVERAGE; break;
+ default: transparencyAntialiasing = TRANSPARENCY_NONE; break;
}
switch(configuration.threadCount)
diff --git a/src/Renderer/Renderer.hpp b/src/Renderer/Renderer.hpp
index 3756a47..3a867a4 100644
--- a/src/Renderer/Renderer.hpp
+++ b/src/Renderer/Renderer.hpp
@@ -165,7 +165,7 @@
~DrawCall();
- Context::DrawType drawType;
+ DrawType drawType;
int batchSize;
Routine *vertexRoutine;
@@ -270,12 +270,12 @@
virtual ~Renderer();
virtual void blit(Surface *source, const Rect &sRect, Surface *dest, const Rect &dRect, bool filter);
- virtual void draw(Context::DrawType drawType, unsigned int indexOffset, unsigned int count, bool update = true);
+ virtual void draw(DrawType drawType, unsigned int indexOffset, unsigned int count, bool update = true);
virtual void setIndexBuffer(Resource *indexBuffer);
virtual void setMultiSampleMask(unsigned int mask);
- virtual void setTransparencyAntialiasing(Context::TransparencyAntialiasing transparencyAntialiasing);
+ virtual void setTransparencyAntialiasing(TransparencyAntialiasing transparencyAntialiasing);
virtual void setTextureResource(unsigned int sampler, Resource *resource);
virtual void setTextureLevel(unsigned int sampler, unsigned int face, unsigned int level, Surface *surface, TextureType type);
diff --git a/src/Renderer/Sampler.hpp b/src/Renderer/Sampler.hpp
index 2132a06..180a4b8 100644
--- a/src/Renderer/Sampler.hpp
+++ b/src/Renderer/Sampler.hpp
@@ -72,7 +72,7 @@
SAMPLER_VERTEX
};
- enum TextureType
+ enum TextureType : unsigned int
{
TEXTURE_NULL,
TEXTURE_2D,
@@ -82,7 +82,7 @@
TEXTURE_LAST = TEXTURE_3D
};
- enum FilterType
+ enum FilterType : unsigned int
{
FILTER_POINT,
FILTER_GATHER,
@@ -92,7 +92,7 @@
FILTER_LAST = FILTER_ANISOTROPIC
};
- enum MipmapType
+ enum MipmapType : unsigned int
{
MIPMAP_NONE,
MIPMAP_POINT,
@@ -101,7 +101,7 @@
MIPMAP_LAST = MIPMAP_LINEAR
};
- enum AddressingMode
+ enum AddressingMode : unsigned int
{
ADDRESSING_WRAP,
ADDRESSING_CLAMP,
@@ -119,18 +119,18 @@
{
State();
- unsigned int textureType : BITS(TEXTURE_LAST);
- unsigned int textureFormat : BITS(FORMAT_LAST);
- unsigned int textureFilter : BITS(FILTER_LAST);
- unsigned int addressingModeU : BITS(ADDRESSING_LAST);
- unsigned int addressingModeV : BITS(ADDRESSING_LAST);
- unsigned int addressingModeW : BITS(ADDRESSING_LAST);
- unsigned int mipmapFilter : BITS(FILTER_LAST);
- unsigned int hasNPOTTexture : 1;
- unsigned int sRGB : 1;
+ TextureType textureType : BITS(TEXTURE_LAST);
+ Format textureFormat : BITS(FORMAT_LAST);
+ FilterType textureFilter : BITS(FILTER_LAST);
+ AddressingMode addressingModeU : BITS(ADDRESSING_LAST);
+ AddressingMode addressingModeV : BITS(ADDRESSING_LAST);
+ AddressingMode addressingModeW : BITS(ADDRESSING_LAST);
+ MipmapType mipmapFilter : BITS(FILTER_LAST);
+ bool hasNPOTTexture : 1;
+ bool sRGB : 1;
#if PERF_PROFILE
- bool compressedFormat : 1;
+ bool compressedFormat : 1;
#endif
};
diff --git a/src/Renderer/SetupProcessor.cpp b/src/Renderer/SetupProcessor.cpp
index 65bc334..b673dd7 100644
--- a/src/Renderer/SetupProcessor.cpp
+++ b/src/Renderer/SetupProcessor.cpp
@@ -76,7 +76,7 @@
state.isDrawLine = context->isDrawLine(true);
state.isDrawTriangle = context->isDrawTriangle(false);
state.isDrawSolidTriangle = context->isDrawTriangle(true);
- state.interpolateZ = context->depthBufferActive() || context->pixelFogActive() != Context::FOG_NONE || vPosZW;
+ state.interpolateZ = context->depthBufferActive() || context->pixelFogActive() != FOG_NONE || vPosZW;
state.interpolateW = context->perspectiveActive() || vPosZW;
state.perspective = context->perspectiveActive();
state.pointSprite = context->pointSpriteActive();
@@ -114,7 +114,7 @@
const bool point = context->isDrawPoint(true);
const bool sprite = context->pointSpriteActive();
- const bool flatShading = (context->shadingMode == Context::SHADING_FLAT) || point;
+ const bool flatShading = (context->shadingMode == SHADING_FLAT) || point;
if(context->vertexShader && context->pixelShader)
{
diff --git a/src/Renderer/SetupProcessor.hpp b/src/Renderer/SetupProcessor.hpp
index 1e57940..8220686 100644
--- a/src/Renderer/SetupProcessor.hpp
+++ b/src/Renderer/SetupProcessor.hpp
@@ -34,27 +34,27 @@
{
unsigned int computeHash();
- unsigned int isDrawPoint : 1;
- unsigned int isDrawLine : 1;
- unsigned int isDrawTriangle : 1;
- unsigned int isDrawSolidTriangle : 1;
- unsigned int interpolateZ : 1;
- unsigned int interpolateW : 1;
- unsigned int perspective : 1;
- unsigned int pointSprite : 1;
- unsigned int positionRegister : 4;
- unsigned int pointSizeRegister : 4;
- unsigned int cullMode : BITS(Context::CULL_LAST);
- unsigned int twoSidedStencil : 1;
- unsigned int slopeDepthBias : 1;
- unsigned int vFace : 1;
- unsigned int multiSample : 3; // 1, 2 or 4
+ bool isDrawPoint : 1;
+ bool isDrawLine : 1;
+ bool isDrawTriangle : 1;
+ bool isDrawSolidTriangle : 1;
+ bool interpolateZ : 1;
+ bool interpolateW : 1;
+ bool perspective : 1;
+ bool pointSprite : 1;
+ unsigned int positionRegister : 4;
+ unsigned int pointSizeRegister : 4;
+ CullMode cullMode : BITS(CULL_LAST);
+ bool twoSidedStencil : 1;
+ bool slopeDepthBias : 1;
+ bool vFace : 1;
+ unsigned int multiSample : 3; // 1, 2 or 4
struct Gradient
{
unsigned char attribute : 6;
- unsigned char flat : 1;
- unsigned char wrap : 1;
+ bool flat : 1;
+ bool wrap : 1;
};
union
diff --git a/src/Renderer/Stream.hpp b/src/Renderer/Stream.hpp
index 66ba633..5bf9862 100644
--- a/src/Renderer/Stream.hpp
+++ b/src/Renderer/Stream.hpp
@@ -18,7 +18,7 @@
{
class Resource;
- enum StreamType
+ enum StreamType : unsigned int
{
STREAMTYPE_COLOR, // 4 normalized unsigned bytes, ZYXW order
STREAMTYPE_UDEC3, // 3 unsigned 10-bit fields
diff --git a/src/Renderer/Surface.hpp b/src/Renderer/Surface.hpp
index 130bd0b..8ed6351 100644
--- a/src/Renderer/Surface.hpp
+++ b/src/Renderer/Surface.hpp
@@ -30,7 +30,7 @@
int y1; // Exclusive
};
- enum Format
+ enum Format : unsigned char
{
FORMAT_NULL,
diff --git a/src/Renderer/VertexProcessor.cpp b/src/Renderer/VertexProcessor.cpp
index ce8feda..dec0e9c 100644
--- a/src/Renderer/VertexProcessor.cpp
+++ b/src/Renderer/VertexProcessor.cpp
@@ -292,7 +292,7 @@
context->fogEnable = fogEnable;
}
- void VertexProcessor::setVertexFogMode(Context::FogMode fogMode)
+ void VertexProcessor::setVertexFogMode(FogMode fogMode)
{
context->vertexFogMode = fogMode;
}
@@ -302,22 +302,22 @@
context->setColorVertexEnable(colorVertexEnable);
}
- void VertexProcessor::setDiffuseMaterialSource(Context::MaterialSource diffuseMaterialSource)
+ void VertexProcessor::setDiffuseMaterialSource(MaterialSource diffuseMaterialSource)
{
context->setDiffuseMaterialSource(diffuseMaterialSource);
}
- void VertexProcessor::setSpecularMaterialSource(Context::MaterialSource specularMaterialSource)
+ void VertexProcessor::setSpecularMaterialSource(MaterialSource specularMaterialSource)
{
context->setSpecularMaterialSource(specularMaterialSource);
}
- void VertexProcessor::setAmbientMaterialSource(Context::MaterialSource ambientMaterialSource)
+ void VertexProcessor::setAmbientMaterialSource(MaterialSource ambientMaterialSource)
{
context->setAmbientMaterialSource(ambientMaterialSource);
}
- void VertexProcessor::setEmissiveMaterialSource(Context::MaterialSource emissiveMaterialSource)
+ void VertexProcessor::setEmissiveMaterialSource(MaterialSource emissiveMaterialSource)
{
context->setEmissiveMaterialSource(emissiveMaterialSource);
}
@@ -414,7 +414,7 @@
}
}
- void VertexProcessor::setTexGen(unsigned int stage, Context::TexGen texGen)
+ void VertexProcessor::setTexGen(unsigned int stage, TexGen texGen)
{
if(stage < 8)
{
diff --git a/src/Renderer/VertexProcessor.hpp b/src/Renderer/VertexProcessor.hpp
index 3def5ba..5f30f1a 100644
--- a/src/Renderer/VertexProcessor.hpp
+++ b/src/Renderer/VertexProcessor.hpp
@@ -45,40 +45,40 @@
uint64_t shaderID;
- unsigned int fixedFunction : 1;
- unsigned int shaderContainsTexldl : 1;
- unsigned int positionRegister : 4;
- unsigned int pointSizeRegister : 4; // 0xF signifies no vertex point size
+ bool fixedFunction : 1;
+ bool shaderContainsTexldl : 1;
+ unsigned int positionRegister : 4;
+ unsigned int pointSizeRegister : 4; // 0xF signifies no vertex point size
- unsigned int vertexBlendMatrixCount : 3;
- unsigned int indexedVertexBlendEnable : 1;
- unsigned int vertexNormalActive : 1;
- unsigned int normalizeNormals : 1;
- unsigned int vertexLightingActive : 1;
- unsigned int diffuseActive : 1;
- unsigned int specularActive : 1;
- unsigned int vertexSpecularActive : 1;
- unsigned int vertexLightActive : 8;
- unsigned int vertexDiffuseMaterialSourceActive : BITS(Context::MATERIAL_LAST);
- unsigned int vertexSpecularMaterialSourceActive : BITS(Context::MATERIAL_LAST);
- unsigned int vertexAmbientMaterialSourceActive : BITS(Context::MATERIAL_LAST);
- unsigned int vertexEmissiveMaterialSourceActive : BITS(Context::MATERIAL_LAST);
- unsigned int fogActive : 1;
- unsigned int vertexFogMode : BITS(Context::FOG_LAST);
- unsigned int rangeFogActive : 1;
- unsigned int localViewerActive : 1;
- unsigned int pointSizeActive : 1;
- unsigned int pointScaleActive : 1;
+ unsigned int vertexBlendMatrixCount : 3;
+ bool indexedVertexBlendEnable : 1;
+ bool vertexNormalActive : 1;
+ bool normalizeNormals : 1;
+ bool vertexLightingActive : 1;
+ bool diffuseActive : 1;
+ bool specularActive : 1;
+ bool vertexSpecularActive : 1;
+ unsigned int vertexLightActive : 8;
+ MaterialSource vertexDiffuseMaterialSourceActive : BITS(MATERIAL_LAST);
+ MaterialSource vertexSpecularMaterialSourceActive : BITS(MATERIAL_LAST);
+ MaterialSource vertexAmbientMaterialSourceActive : BITS(MATERIAL_LAST);
+ MaterialSource vertexEmissiveMaterialSourceActive : BITS(MATERIAL_LAST);
+ bool fogActive : 1;
+ FogMode vertexFogMode : BITS(FOG_LAST);
+ bool rangeFogActive : 1;
+ bool localViewerActive : 1;
+ bool pointSizeActive : 1;
+ bool pointScaleActive : 1;
- unsigned int preTransformed : 1;
- unsigned int superSampling : 1;
- unsigned int multiSampling : 1;
+ bool preTransformed : 1;
+ bool superSampling : 1;
+ bool multiSampling : 1;
struct TextureState
{
- unsigned char texGenActive : BITS(Context::TEXGEN_LAST);
+ TexGen texGenActive : BITS(TEXGEN_LAST);
unsigned char textureTransformCountActive : 3;
- unsigned char texCoordIndexActive : 3;
+ unsigned char texCoordIndexActive : 3;
};
TextureState textureState[8];
@@ -92,9 +92,9 @@
return count != 0;
}
- unsigned int type : BITS(STREAMTYPE_LAST);
- unsigned int count : 3;
- unsigned int normalized : 1;
+ StreamType type : BITS(STREAMTYPE_LAST);
+ unsigned int count : 3;
+ bool normalized : 1;
};
struct Output
@@ -206,14 +206,14 @@
virtual void setLightRange(unsigned int light, float lightRange);
virtual void setFogEnable(bool fogEnable);
- virtual void setVertexFogMode(Context::FogMode fogMode);
+ virtual void setVertexFogMode(FogMode fogMode);
virtual void setRangeFogEnable(bool enable);
virtual void setColorVertexEnable(bool colorVertexEnable);
- virtual void setDiffuseMaterialSource(Context::MaterialSource diffuseMaterialSource);
- virtual void setSpecularMaterialSource(Context::MaterialSource specularMaterialSource);
- virtual void setAmbientMaterialSource(Context::MaterialSource ambientMaterialSource);
- virtual void setEmissiveMaterialSource(Context::MaterialSource emissiveMaterialSource);
+ virtual void setDiffuseMaterialSource(MaterialSource diffuseMaterialSource);
+ virtual void setSpecularMaterialSource(MaterialSource specularMaterialSource);
+ virtual void setAmbientMaterialSource(MaterialSource ambientMaterialSource);
+ virtual void setEmissiveMaterialSource(MaterialSource emissiveMaterialSource);
virtual void setMaterialEmission(const Color<float> &emission);
virtual void setMaterialAmbient(const Color<float> &materialAmbient);
@@ -225,7 +225,7 @@
virtual void setVertexBlendMatrixCount(unsigned int vertexBlendMatrixCount);
virtual void setTextureWrap(unsigned int stage, int mask);
- virtual void setTexGen(unsigned int stage, Context::TexGen texGen);
+ virtual void setTexGen(unsigned int stage, TexGen texGen);
virtual void setLocalViewer(bool localViewer);
virtual void setNormalizeNormals(bool normalizeNormals);
virtual void setTextureMatrix(int stage, const Matrix &T);
diff --git a/src/Shader/PixelRoutine.cpp b/src/Shader/PixelRoutine.cpp
index 1951b14..20ddc8f 100644
--- a/src/Shader/PixelRoutine.cpp
+++ b/src/Shader/PixelRoutine.cpp
@@ -459,7 +459,7 @@
value &= *Pointer<Byte8>(r.data + OFFSET(DrawData,stencil[0].testMaskQ));
}
- stencilTest(r, value, (Context::StencilCompareMode)state.stencilCompareMode, false);
+ stencilTest(r, value, state.stencilCompareMode, false);
if(state.twoSidedStencil)
{
@@ -468,7 +468,7 @@
valueCCW &= *Pointer<Byte8>(r.data + OFFSET(DrawData,stencil[1].testMaskQ));
}
- stencilTest(r, valueCCW, (Context::StencilCompareMode)state.stencilCompareModeCCW, true);
+ stencilTest(r, valueCCW, state.stencilCompareModeCCW, true);
value &= *Pointer<Byte8>(r.primitive + OFFSET(Primitive,clockwiseMask));
valueCCW &= *Pointer<Byte8>(r.primitive + OFFSET(Primitive,invClockwiseMask));
@@ -478,43 +478,43 @@
sMask = SignMask(value) & cMask;
}
- void PixelRoutine::stencilTest(Registers &r, Byte8 &value, Context::StencilCompareMode stencilCompareMode, bool CCW)
+ void PixelRoutine::stencilTest(Registers &r, Byte8 &value, StencilCompareMode stencilCompareMode, bool CCW)
{
Byte8 equal;
switch(stencilCompareMode)
{
- case Context::STENCIL_ALWAYS:
+ case STENCIL_ALWAYS:
value = Byte8(0xFFFFFFFFFFFFFFFF);
break;
- case Context::STENCIL_NEVER:
+ case STENCIL_NEVER:
value = Byte8(0x0000000000000000);
break;
- case Context::STENCIL_LESS: // a < b ~ b > a
+ case STENCIL_LESS: // a < b ~ b > a
value += Byte8(0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80);
value = CmpGT(As<SByte8>(value), *Pointer<SByte8>(r.data + OFFSET(DrawData,stencil[CCW].referenceMaskedSignedQ)));
break;
- case Context::STENCIL_EQUAL:
+ case STENCIL_EQUAL:
value = CmpEQ(value, *Pointer<Byte8>(r.data + OFFSET(DrawData,stencil[CCW].referenceMaskedQ)));
break;
- case Context::STENCIL_NOTEQUAL: // a != b ~ !(a == b)
+ case STENCIL_NOTEQUAL: // a != b ~ !(a == b)
value = CmpEQ(value, *Pointer<Byte8>(r.data + OFFSET(DrawData,stencil[CCW].referenceMaskedQ)));
value ^= Byte8(0xFFFFFFFFFFFFFFFF);
break;
- case Context::STENCIL_LESSEQUAL: // a <= b ~ (b > a) || (a == b)
+ case STENCIL_LESSEQUAL: // a <= b ~ (b > a) || (a == b)
equal = value;
equal = CmpEQ(equal, *Pointer<Byte8>(r.data + OFFSET(DrawData,stencil[CCW].referenceMaskedQ)));
value += Byte8(0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80);
value = CmpGT(As<SByte8>(value), *Pointer<SByte8>(r.data + OFFSET(DrawData,stencil[CCW].referenceMaskedSignedQ)));
value |= equal;
break;
- case Context::STENCIL_GREATER: // a > b
+ case STENCIL_GREATER: // a > b
equal = *Pointer<Byte8>(r.data + OFFSET(DrawData,stencil[CCW].referenceMaskedSignedQ));
value += Byte8(0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80);
equal = CmpGT(As<SByte8>(equal), As<SByte8>(value));
value = equal;
break;
- case Context::STENCIL_GREATEREQUAL: // a >= b ~ !(a < b) ~ !(b > a)
+ case STENCIL_GREATEREQUAL: // a >= b ~ !(a < b) ~ !(b > a)
value += Byte8(0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80);
value = CmpGT(As<SByte8>(value), *Pointer<SByte8>(r.data + OFFSET(DrawData,stencil[CCW].referenceMaskedSignedQ)));
value ^= Byte8(0xFFFFFFFFFFFFFFFF);
@@ -565,7 +565,7 @@
Float4 zValue;
- if(state.depthCompareMode != Context::DEPTH_NEVER || (state.depthCompareMode != Context::DEPTH_ALWAYS && !state.depthWriteEnable))
+ if(state.depthCompareMode != DEPTH_NEVER || (state.depthCompareMode != DEPTH_ALWAYS && !state.depthWriteEnable))
{
if(!state.quadLayoutDepthBuffer)
{
@@ -583,19 +583,19 @@
switch(state.depthCompareMode)
{
- case Context::DEPTH_ALWAYS:
+ case DEPTH_ALWAYS:
// Optimized
break;
- case Context::DEPTH_NEVER:
+ case DEPTH_NEVER:
// Optimized
break;
- case Context::DEPTH_EQUAL:
+ case DEPTH_EQUAL:
zTest = CmpEQ(zValue, Z);
break;
- case Context::DEPTH_NOTEQUAL:
+ case DEPTH_NOTEQUAL:
zTest = CmpNEQ(zValue, Z);
break;
- case Context::DEPTH_LESS:
+ case DEPTH_LESS:
if(complementaryDepthBuffer)
{
zTest = CmpLT(zValue, Z);
@@ -605,7 +605,7 @@
zTest = CmpNLE(zValue, Z);
}
break;
- case Context::DEPTH_GREATEREQUAL:
+ case DEPTH_GREATEREQUAL:
if(complementaryDepthBuffer)
{
zTest = CmpNLT(zValue, Z);
@@ -615,7 +615,7 @@
zTest = CmpLE(zValue, Z);
}
break;
- case Context::DEPTH_LESSEQUAL:
+ case DEPTH_LESSEQUAL:
if(complementaryDepthBuffer)
{
zTest = CmpLE(zValue, Z);
@@ -625,7 +625,7 @@
zTest = CmpNLT(zValue, Z);
}
break;
- case Context::DEPTH_GREATER:
+ case DEPTH_GREATER:
if(complementaryDepthBuffer)
{
zTest = CmpNLE(zValue, Z);
@@ -641,10 +641,10 @@
switch(state.depthCompareMode)
{
- case Context::DEPTH_ALWAYS:
+ case DEPTH_ALWAYS:
zMask = cMask;
break;
- case Context::DEPTH_NEVER:
+ case DEPTH_NEVER:
zMask = 0x0;
break;
default:
@@ -1573,35 +1573,35 @@
switch(state.alphaCompareMode)
{
- case Context::ALPHA_ALWAYS:
+ case ALPHA_ALWAYS:
aMask = 0xF;
break;
- case Context::ALPHA_NEVER:
+ case ALPHA_NEVER:
aMask = 0x0;
break;
- case Context::ALPHA_EQUAL:
+ case ALPHA_EQUAL:
cmp = CmpEQ(alpha, *Pointer<Short4>(r.data + OFFSET(DrawData,factor.alphaReference4)));
aMask = SignMask(Pack(cmp, Short4(0x0000, 0x0000, 0x0000, 0x0000)));
break;
- case Context::ALPHA_NOTEQUAL: // a != b ~ !(a == b)
+ case ALPHA_NOTEQUAL: // a != b ~ !(a == b)
cmp = CmpEQ(alpha, *Pointer<Short4>(r.data + OFFSET(DrawData,factor.alphaReference4))) ^ Short4((short)0xFFFF, (short)0xFFFF, (short)0xFFFF, (short)0xFFFF); // FIXME
aMask = SignMask(Pack(cmp, Short4(0x0000, 0x0000, 0x0000, 0x0000)));
break;
- case Context::ALPHA_LESS: // a < b ~ b > a
+ case ALPHA_LESS: // a < b ~ b > a
cmp = CmpGT(*Pointer<Short4>(r.data + OFFSET(DrawData,factor.alphaReference4)), alpha);
aMask = SignMask(Pack(cmp, Short4(0x0000, 0x0000, 0x0000, 0x0000)));
break;
- case Context::ALPHA_GREATEREQUAL: // a >= b ~ (a > b) || (a == b) ~ !(b > a) // TODO: Approximate
+ case ALPHA_GREATEREQUAL: // a >= b ~ (a > b) || (a == b) ~ !(b > a) // TODO: Approximate
equal = CmpEQ(alpha, *Pointer<Short4>(r.data + OFFSET(DrawData,factor.alphaReference4)));
cmp = CmpGT(alpha, *Pointer<Short4>(r.data + OFFSET(DrawData,factor.alphaReference4)));
cmp |= equal;
aMask = SignMask(Pack(cmp, Short4(0x0000, 0x0000, 0x0000, 0x0000)));
break;
- case Context::ALPHA_LESSEQUAL: // a <= b ~ !(a > b)
+ case ALPHA_LESSEQUAL: // a <= b ~ !(a > b)
cmp = CmpGT(alpha, *Pointer<Short4>(r.data + OFFSET(DrawData,factor.alphaReference4))) ^ Short4((short)0xFFFF, (short)0xFFFF, (short)0xFFFF, (short)0xFFFF); // FIXME
aMask = SignMask(Pack(cmp, Short4(0x0000, 0x0000, 0x0000, 0x0000)));
break;
- case Context::ALPHA_GREATER: // a > b
+ case ALPHA_GREATER: // a > b
cmp = CmpGT(alpha, *Pointer<Short4>(r.data + OFFSET(DrawData,factor.alphaReference4)));
aMask = SignMask(Pack(cmp, Short4(0x0000, 0x0000, 0x0000, 0x0000)));
break;
@@ -1637,7 +1637,7 @@
Int aMask;
- if(state.transparencyAntialiasing == Context::TRANSPARENCY_NONE)
+ if(state.transparencyAntialiasing == TRANSPARENCY_NONE)
{
alphaTest(r, aMask, current.w);
@@ -1646,7 +1646,7 @@
cMask[q] &= aMask;
}
}
- else if(state.transparencyAntialiasing == Context::TRANSPARENCY_ALPHA_TO_COVERAGE)
+ else if(state.transparencyAntialiasing == TRANSPARENCY_ALPHA_TO_COVERAGE)
{
Float4 alpha = Float4(current.w) * Float4(1.0f / 0x1000);
@@ -1673,7 +1673,7 @@
Int aMask;
- if(state.transparencyAntialiasing == Context::TRANSPARENCY_NONE)
+ if(state.transparencyAntialiasing == TRANSPARENCY_NONE)
{
Short4 alpha = RoundShort4(c0.w * Float4(0x1000));
@@ -1684,7 +1684,7 @@
cMask[q] &= aMask;
}
}
- else if(state.transparencyAntialiasing == Context::TRANSPARENCY_ALPHA_TO_COVERAGE)
+ else if(state.transparencyAntialiasing == TRANSPARENCY_ALPHA_TO_COVERAGE)
{
alphaToCoverage(r, cMask, c0.w);
}
@@ -1707,7 +1707,7 @@
return;
}
- if(state.pixelFogMode != Context::FOG_NONE)
+ if(state.pixelFogMode != FOG_NONE)
{
pixelFog(r, f, z, rhw);
}
@@ -1732,7 +1732,7 @@
return;
}
- if(state.pixelFogMode != Context::FOG_NONE)
+ if(state.pixelFogMode != FOG_NONE)
{
pixelFog(r, fog, z, rhw);
@@ -1757,7 +1757,7 @@
{
Float4 &zw = visibility;
- if(state.pixelFogMode != Context::FOG_NONE)
+ if(state.pixelFogMode != FOG_NONE)
{
if(state.wBasedFog)
{
@@ -1778,17 +1778,17 @@
switch(state.pixelFogMode)
{
- case Context::FOG_NONE:
+ case FOG_NONE:
break;
- case Context::FOG_LINEAR:
+ case FOG_LINEAR:
zw *= *Pointer<Float4>(r.data + OFFSET(DrawData,fog.scale));
zw += *Pointer<Float4>(r.data + OFFSET(DrawData,fog.offset));
break;
- case Context::FOG_EXP:
+ case FOG_EXP:
zw *= *Pointer<Float4>(r.data + OFFSET(DrawData,fog.densityE));
zw = exponential2(zw, true);
break;
- case Context::FOG_EXP2:
+ case FOG_EXP2:
zw *= *Pointer<Float4>(r.data + OFFSET(DrawData,fog.densityE2));
zw *= zw;
zw = exponential2(zw, true);
@@ -1852,7 +1852,7 @@
Float4 zValue;
- if(state.depthCompareMode != Context::DEPTH_NEVER || (state.depthCompareMode != Context::DEPTH_ALWAYS && !state.depthWriteEnable))
+ if(state.depthCompareMode != DEPTH_NEVER || (state.depthCompareMode != DEPTH_ALWAYS && !state.depthWriteEnable))
{
if(!state.quadLayoutDepthBuffer)
{
@@ -1889,9 +1889,9 @@
return;
}
- if(state.stencilPassOperation == Context::OPERATION_KEEP && state.stencilZFailOperation == Context::OPERATION_KEEP && state.stencilFailOperation == Context::OPERATION_KEEP)
+ if(state.stencilPassOperation == OPERATION_KEEP && state.stencilZFailOperation == OPERATION_KEEP && state.stencilFailOperation == OPERATION_KEEP)
{
- if(!state.twoSidedStencil || (state.stencilPassOperationCCW == Context::OPERATION_KEEP && state.stencilZFailOperationCCW == Context::OPERATION_KEEP && state.stencilFailOperationCCW == Context::OPERATION_KEEP))
+ if(!state.twoSidedStencil || (state.stencilPassOperationCCW == OPERATION_KEEP && state.stencilZFailOperationCCW == OPERATION_KEEP && state.stencilFailOperationCCW == OPERATION_KEEP))
{
return;
}
@@ -1912,7 +1912,7 @@
Byte8 bufferValue = As<Byte8>(Long1(*Pointer<UInt>(buffer)));
Byte8 newValue;
- stencilOperation(r, newValue, bufferValue, (Context::StencilOperation)state.stencilPassOperation, (Context::StencilOperation)state.stencilZFailOperation, (Context::StencilOperation)state.stencilFailOperation, false, zMask, sMask);
+ stencilOperation(r, newValue, bufferValue, state.stencilPassOperation, state.stencilZFailOperation, state.stencilFailOperation, false, zMask, sMask);
if(!state.noStencilWriteMask)
{
@@ -1926,7 +1926,7 @@
{
Byte8 newValueCCW;
- stencilOperation(r, newValueCCW, bufferValue, (Context::StencilOperation)state.stencilPassOperationCCW, (Context::StencilOperation)state.stencilZFailOperationCCW, (Context::StencilOperation)state.stencilFailOperationCCW, true, zMask, sMask);
+ stencilOperation(r, newValueCCW, bufferValue, state.stencilPassOperationCCW, state.stencilZFailOperationCCW, state.stencilFailOperationCCW, true, zMask, sMask);
if(!state.noStencilWriteMaskCCW)
{
@@ -1948,7 +1948,7 @@
*Pointer<UInt>(buffer) = UInt(As<Long>(newValue));
}
- void PixelRoutine::stencilOperation(Registers &r, Byte8 &newValue, Byte8 &bufferValue, Context::StencilOperation stencilPassOperation, Context::StencilOperation stencilZFailOperation, Context::StencilOperation stencilFailOperation, bool CCW, Int &zMask, Int &sMask)
+ void PixelRoutine::stencilOperation(Registers &r, Byte8 &newValue, Byte8 &bufferValue, StencilOperation stencilPassOperation, StencilOperation stencilZFailOperation, StencilOperation stencilFailOperation, bool CCW, Int &zMask, Int &sMask)
{
Byte8 &pass = newValue;
Byte8 fail;
@@ -1981,32 +1981,32 @@
}
}
- void PixelRoutine::stencilOperation(Registers &r, Byte8 &output, Byte8 &bufferValue, Context::StencilOperation operation, bool CCW)
+ void PixelRoutine::stencilOperation(Registers &r, Byte8 &output, Byte8 &bufferValue, StencilOperation operation, bool CCW)
{
switch(operation)
{
- case Context::OPERATION_KEEP:
+ case OPERATION_KEEP:
output = bufferValue;
break;
- case Context::OPERATION_ZERO:
+ case OPERATION_ZERO:
output = Byte8(0x0000000000000000);
break;
- case Context::OPERATION_REPLACE:
+ case OPERATION_REPLACE:
output = *Pointer<Byte8>(r.data + OFFSET(DrawData,stencil[CCW].referenceQ));
break;
- case Context::OPERATION_INCRSAT:
+ case OPERATION_INCRSAT:
output = AddSat(bufferValue, Byte8(1, 1, 1, 1, 1, 1, 1, 1));
break;
- case Context::OPERATION_DECRSAT:
+ case OPERATION_DECRSAT:
output = SubSat(bufferValue, Byte8(1, 1, 1, 1, 1, 1, 1, 1));
break;
- case Context::OPERATION_INVERT:
+ case OPERATION_INVERT:
output = bufferValue ^ Byte8(0xFFFFFFFFFFFFFFFF);
break;
- case Context::OPERATION_INCR:
+ case OPERATION_INCR:
output = bufferValue + Byte8(1, 1, 1, 1, 1, 1, 1, 1);
break;
- case Context::OPERATION_DECR:
+ case OPERATION_DECR:
output = bufferValue - Byte8(1, 1, 1, 1, 1, 1, 1, 1);
break;
default:
@@ -2284,78 +2284,78 @@
}
}
- void PixelRoutine::blendFactor(Registers &r, const Vector4i &blendFactor, const Vector4i ¤t, const Vector4i &pixel, Context::BlendFactor blendFactorActive)
+ void PixelRoutine::blendFactor(Registers &r, const Vector4i &blendFactor, const Vector4i ¤t, const Vector4i &pixel, BlendFactor blendFactorActive)
{
switch(blendFactorActive)
{
- case Context::BLEND_ZERO:
+ case BLEND_ZERO:
// Optimized
break;
- case Context::BLEND_ONE:
+ case BLEND_ONE:
// Optimized
break;
- case Context::BLEND_SOURCE:
+ case BLEND_SOURCE:
blendFactor.x = current.x;
blendFactor.y = current.y;
blendFactor.z = current.z;
break;
- case Context::BLEND_INVSOURCE:
+ case BLEND_INVSOURCE:
blendFactor.x = Short4(0xFFFFu) - current.x;
blendFactor.y = Short4(0xFFFFu) - current.y;
blendFactor.z = Short4(0xFFFFu) - current.z;
break;
- case Context::BLEND_DEST:
+ case BLEND_DEST:
blendFactor.x = pixel.x;
blendFactor.y = pixel.y;
blendFactor.z = pixel.z;
break;
- case Context::BLEND_INVDEST:
+ case BLEND_INVDEST:
blendFactor.x = Short4(0xFFFFu) - pixel.x;
blendFactor.y = Short4(0xFFFFu) - pixel.y;
blendFactor.z = Short4(0xFFFFu) - pixel.z;
break;
- case Context::BLEND_SOURCEALPHA:
+ case BLEND_SOURCEALPHA:
blendFactor.x = current.w;
blendFactor.y = current.w;
blendFactor.z = current.w;
break;
- case Context::BLEND_INVSOURCEALPHA:
+ case BLEND_INVSOURCEALPHA:
blendFactor.x = Short4(0xFFFFu) - current.w;
blendFactor.y = Short4(0xFFFFu) - current.w;
blendFactor.z = Short4(0xFFFFu) - current.w;
break;
- case Context::BLEND_DESTALPHA:
+ case BLEND_DESTALPHA:
blendFactor.x = pixel.w;
blendFactor.y = pixel.w;
blendFactor.z = pixel.w;
break;
- case Context::BLEND_INVDESTALPHA:
+ case BLEND_INVDESTALPHA:
blendFactor.x = Short4(0xFFFFu) - pixel.w;
blendFactor.y = Short4(0xFFFFu) - pixel.w;
blendFactor.z = Short4(0xFFFFu) - pixel.w;
break;
- case Context::BLEND_SRCALPHASAT:
+ case BLEND_SRCALPHASAT:
blendFactor.x = Short4(0xFFFFu) - pixel.w;
blendFactor.x = Min(As<UShort4>(blendFactor.x), As<UShort4>(current.w));
blendFactor.y = blendFactor.x;
blendFactor.z = blendFactor.x;
break;
- case Context::BLEND_CONSTANT:
+ case BLEND_CONSTANT:
blendFactor.x = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.blendConstant4W[0]));
blendFactor.y = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.blendConstant4W[1]));
blendFactor.z = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.blendConstant4W[2]));
break;
- case Context::BLEND_INVCONSTANT:
+ case BLEND_INVCONSTANT:
blendFactor.x = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.invBlendConstant4W[0]));
blendFactor.y = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.invBlendConstant4W[1]));
blendFactor.z = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.invBlendConstant4W[2]));
break;
- case Context::BLEND_CONSTANTALPHA:
+ case BLEND_CONSTANTALPHA:
blendFactor.x = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.blendConstant4W[3]));
blendFactor.y = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.blendConstant4W[3]));
blendFactor.z = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.blendConstant4W[3]));
break;
- case Context::BLEND_INVCONSTANTALPHA:
+ case BLEND_INVCONSTANTALPHA:
blendFactor.x = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.invBlendConstant4W[3]));
blendFactor.y = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.invBlendConstant4W[3]));
blendFactor.z = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.invBlendConstant4W[3]));
@@ -2365,49 +2365,49 @@
}
}
- void PixelRoutine::blendFactorAlpha(Registers &r, const Vector4i &blendFactor, const Vector4i ¤t, const Vector4i &pixel, Context::BlendFactor blendFactorAlphaActive)
+ void PixelRoutine::blendFactorAlpha(Registers &r, const Vector4i &blendFactor, const Vector4i ¤t, const Vector4i &pixel, BlendFactor blendFactorAlphaActive)
{
switch(blendFactorAlphaActive)
{
- case Context::BLEND_ZERO:
+ case BLEND_ZERO:
// Optimized
break;
- case Context::BLEND_ONE:
+ case BLEND_ONE:
// Optimized
break;
- case Context::BLEND_SOURCE:
+ case BLEND_SOURCE:
blendFactor.w = current.w;
break;
- case Context::BLEND_INVSOURCE:
+ case BLEND_INVSOURCE:
blendFactor.w = Short4(0xFFFFu) - current.w;
break;
- case Context::BLEND_DEST:
+ case BLEND_DEST:
blendFactor.w = pixel.w;
break;
- case Context::BLEND_INVDEST:
+ case BLEND_INVDEST:
blendFactor.w = Short4(0xFFFFu) - pixel.w;
break;
- case Context::BLEND_SOURCEALPHA:
+ case BLEND_SOURCEALPHA:
blendFactor.w = current.w;
break;
- case Context::BLEND_INVSOURCEALPHA:
+ case BLEND_INVSOURCEALPHA:
blendFactor.w = Short4(0xFFFFu) - current.w;
break;
- case Context::BLEND_DESTALPHA:
+ case BLEND_DESTALPHA:
blendFactor.w = pixel.w;
break;
- case Context::BLEND_INVDESTALPHA:
+ case BLEND_INVDESTALPHA:
blendFactor.w = Short4(0xFFFFu) - pixel.w;
break;
- case Context::BLEND_SRCALPHASAT:
+ case BLEND_SRCALPHASAT:
blendFactor.w = Short4(0xFFFFu);
break;
- case Context::BLEND_CONSTANT:
- case Context::BLEND_CONSTANTALPHA:
+ case BLEND_CONSTANT:
+ case BLEND_CONSTANTALPHA:
blendFactor.w = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.blendConstant4W[3]));
break;
- case Context::BLEND_INVCONSTANT:
- case Context::BLEND_INVCONSTANTALPHA:
+ case BLEND_INVCONSTANT:
+ case BLEND_INVCONSTANTALPHA:
blendFactor.w = *Pointer<Short4>(r.data + OFFSET(DrawData,factor.invBlendConstant4W[3]));
break;
default:
@@ -2528,17 +2528,17 @@
Vector4i sourceFactor;
Vector4i destFactor;
- blendFactor(r, sourceFactor, current, pixel, (Context::BlendFactor)state.sourceBlendFactor);
- blendFactor(r, destFactor, current, pixel, (Context::BlendFactor)state.destBlendFactor);
+ blendFactor(r, sourceFactor, current, pixel, state.sourceBlendFactor);
+ blendFactor(r, destFactor, current, pixel, state.destBlendFactor);
- if(state.sourceBlendFactor != Context::BLEND_ONE && state.sourceBlendFactor != Context::BLEND_ZERO)
+ if(state.sourceBlendFactor != BLEND_ONE && state.sourceBlendFactor != BLEND_ZERO)
{
current.x = MulHigh(As<UShort4>(current.x), As<UShort4>(sourceFactor.x));
current.y = MulHigh(As<UShort4>(current.y), As<UShort4>(sourceFactor.y));
current.z = MulHigh(As<UShort4>(current.z), As<UShort4>(sourceFactor.z));
}
- if(state.destBlendFactor != Context::BLEND_ONE && state.destBlendFactor != Context::BLEND_ZERO)
+ if(state.destBlendFactor != BLEND_ONE && state.destBlendFactor != BLEND_ZERO)
{
pixel.x = MulHigh(As<UShort4>(pixel.x), As<UShort4>(destFactor.x));
pixel.y = MulHigh(As<UShort4>(pixel.y), As<UShort4>(destFactor.y));
@@ -2547,40 +2547,40 @@
switch(state.blendOperation)
{
- case Context::BLENDOP_ADD:
+ case BLENDOP_ADD:
current.x = AddSat(As<UShort4>(current.x), As<UShort4>(pixel.x));
current.y = AddSat(As<UShort4>(current.y), As<UShort4>(pixel.y));
current.z = AddSat(As<UShort4>(current.z), As<UShort4>(pixel.z));
break;
- case Context::BLENDOP_SUB:
+ case BLENDOP_SUB:
current.x = SubSat(As<UShort4>(current.x), As<UShort4>(pixel.x));
current.y = SubSat(As<UShort4>(current.y), As<UShort4>(pixel.y));
current.z = SubSat(As<UShort4>(current.z), As<UShort4>(pixel.z));
break;
- case Context::BLENDOP_INVSUB:
+ case BLENDOP_INVSUB:
current.x = SubSat(As<UShort4>(pixel.x), As<UShort4>(current.x));
current.y = SubSat(As<UShort4>(pixel.y), As<UShort4>(current.y));
current.z = SubSat(As<UShort4>(pixel.z), As<UShort4>(current.z));
break;
- case Context::BLENDOP_MIN:
+ case BLENDOP_MIN:
current.x = Min(As<UShort4>(current.x), As<UShort4>(pixel.x));
current.y = Min(As<UShort4>(current.y), As<UShort4>(pixel.y));
current.z = Min(As<UShort4>(current.z), As<UShort4>(pixel.z));
break;
- case Context::BLENDOP_MAX:
+ case BLENDOP_MAX:
current.x = Max(As<UShort4>(current.x), As<UShort4>(pixel.x));
current.y = Max(As<UShort4>(current.y), As<UShort4>(pixel.y));
current.z = Max(As<UShort4>(current.z), As<UShort4>(pixel.z));
break;
- case Context::BLENDOP_SOURCE:
+ case BLENDOP_SOURCE:
// No operation
break;
- case Context::BLENDOP_DEST:
+ case BLENDOP_DEST:
current.x = pixel.x;
current.y = pixel.y;
current.z = pixel.z;
break;
- case Context::BLENDOP_NULL:
+ case BLENDOP_NULL:
current.x = Short4(0x0000, 0x0000, 0x0000, 0x0000);
current.y = Short4(0x0000, 0x0000, 0x0000, 0x0000);
current.z = Short4(0x0000, 0x0000, 0x0000, 0x0000);
@@ -2589,43 +2589,43 @@
ASSERT(false);
}
- blendFactorAlpha(r, sourceFactor, current, pixel, (Context::BlendFactor)state.sourceBlendFactorAlpha);
- blendFactorAlpha(r, destFactor, current, pixel, (Context::BlendFactor)state.destBlendFactorAlpha);
+ blendFactorAlpha(r, sourceFactor, current, pixel, state.sourceBlendFactorAlpha);
+ blendFactorAlpha(r, destFactor, current, pixel, state.destBlendFactorAlpha);
- if(state.sourceBlendFactorAlpha != Context::BLEND_ONE && state.sourceBlendFactorAlpha != Context::BLEND_ZERO)
+ if(state.sourceBlendFactorAlpha != BLEND_ONE && state.sourceBlendFactorAlpha != BLEND_ZERO)
{
current.w = MulHigh(As<UShort4>(current.w), As<UShort4>(sourceFactor.w));
}
- if(state.destBlendFactorAlpha != Context::BLEND_ONE && state.destBlendFactorAlpha != Context::BLEND_ZERO)
+ if(state.destBlendFactorAlpha != BLEND_ONE && state.destBlendFactorAlpha != BLEND_ZERO)
{
pixel.w = MulHigh(As<UShort4>(pixel.w), As<UShort4>(destFactor.w));
}
switch(state.blendOperationAlpha)
{
- case Context::BLENDOP_ADD:
+ case BLENDOP_ADD:
current.w = AddSat(As<UShort4>(current.w), As<UShort4>(pixel.w));
break;
- case Context::BLENDOP_SUB:
+ case BLENDOP_SUB:
current.w = SubSat(As<UShort4>(current.w), As<UShort4>(pixel.w));
break;
- case Context::BLENDOP_INVSUB:
+ case BLENDOP_INVSUB:
current.w = SubSat(As<UShort4>(pixel.w), As<UShort4>(current.w));
break;
- case Context::BLENDOP_MIN:
+ case BLENDOP_MIN:
current.w = Min(As<UShort4>(current.w), As<UShort4>(pixel.w));
break;
- case Context::BLENDOP_MAX:
+ case BLENDOP_MAX:
current.w = Max(As<UShort4>(current.w), As<UShort4>(pixel.w));
break;
- case Context::BLENDOP_SOURCE:
+ case BLENDOP_SOURCE:
// No operation
break;
- case Context::BLENDOP_DEST:
+ case BLENDOP_DEST:
current.w = pixel.w;
break;
- case Context::BLENDOP_NULL:
+ case BLENDOP_NULL:
current.w = Short4(0x0000, 0x0000, 0x0000, 0x0000);
break;
default:
@@ -2984,68 +2984,68 @@
}
}
- void PixelRoutine::blendFactor(Registers &r, const Vector4f &blendFactor, const Vector4f &oC, const Vector4f &pixel, Context::BlendFactor blendFactorActive)
+ void PixelRoutine::blendFactor(Registers &r, const Vector4f &blendFactor, const Vector4f &oC, const Vector4f &pixel, BlendFactor blendFactorActive)
{
switch(blendFactorActive)
{
- case Context::BLEND_ZERO:
+ case BLEND_ZERO:
// Optimized
break;
- case Context::BLEND_ONE:
+ case BLEND_ONE:
// Optimized
break;
- case Context::BLEND_SOURCE:
+ case BLEND_SOURCE:
blendFactor.x = oC.x;
blendFactor.y = oC.y;
blendFactor.z = oC.z;
break;
- case Context::BLEND_INVSOURCE:
+ case BLEND_INVSOURCE:
blendFactor.x = Float4(1.0f) - oC.x;
blendFactor.y = Float4(1.0f) - oC.y;
blendFactor.z = Float4(1.0f) - oC.z;
break;
- case Context::BLEND_DEST:
+ case BLEND_DEST:
blendFactor.x = pixel.x;
blendFactor.y = pixel.y;
blendFactor.z = pixel.z;
break;
- case Context::BLEND_INVDEST:
+ case BLEND_INVDEST:
blendFactor.x = Float4(1.0f) - pixel.x;
blendFactor.y = Float4(1.0f) - pixel.y;
blendFactor.z = Float4(1.0f) - pixel.z;
break;
- case Context::BLEND_SOURCEALPHA:
+ case BLEND_SOURCEALPHA:
blendFactor.x = oC.w;
blendFactor.y = oC.w;
blendFactor.z = oC.w;
break;
- case Context::BLEND_INVSOURCEALPHA:
+ case BLEND_INVSOURCEALPHA:
blendFactor.x = Float4(1.0f) - oC.w;
blendFactor.y = Float4(1.0f) - oC.w;
blendFactor.z = Float4(1.0f) - oC.w;
break;
- case Context::BLEND_DESTALPHA:
+ case BLEND_DESTALPHA:
blendFactor.x = pixel.w;
blendFactor.y = pixel.w;
blendFactor.z = pixel.w;
break;
- case Context::BLEND_INVDESTALPHA:
+ case BLEND_INVDESTALPHA:
blendFactor.x = Float4(1.0f) - pixel.w;
blendFactor.y = Float4(1.0f) - pixel.w;
blendFactor.z = Float4(1.0f) - pixel.w;
break;
- case Context::BLEND_SRCALPHASAT:
+ case BLEND_SRCALPHASAT:
blendFactor.x = Float4(1.0f) - pixel.w;
blendFactor.x = Min(blendFactor.x, oC.w);
blendFactor.y = blendFactor.x;
blendFactor.z = blendFactor.x;
break;
- case Context::BLEND_CONSTANT:
+ case BLEND_CONSTANT:
blendFactor.x = *Pointer<Float4>(r.data + OFFSET(DrawData,factor.blendConstant4F[0]));
blendFactor.y = *Pointer<Float4>(r.data + OFFSET(DrawData,factor.blendConstant4F[1]));
blendFactor.z = *Pointer<Float4>(r.data + OFFSET(DrawData,factor.blendConstant4F[2]));
break;
- case Context::BLEND_INVCONSTANT:
+ case BLEND_INVCONSTANT:
blendFactor.x = *Pointer<Float4>(r.data + OFFSET(DrawData,factor.invBlendConstant4F[0]));
blendFactor.y = *Pointer<Float4>(r.data + OFFSET(DrawData,factor.invBlendConstant4F[1]));
blendFactor.z = *Pointer<Float4>(r.data + OFFSET(DrawData,factor.invBlendConstant4F[2]));
@@ -3055,47 +3055,47 @@
}
}
- void PixelRoutine::blendFactorAlpha(Registers &r, const Vector4f &blendFactor, const Vector4f &oC, const Vector4f &pixel, Context::BlendFactor blendFactorAlphaActive)
+ void PixelRoutine::blendFactorAlpha(Registers &r, const Vector4f &blendFactor, const Vector4f &oC, const Vector4f &pixel, BlendFactor blendFactorAlphaActive)
{
switch(blendFactorAlphaActive)
{
- case Context::BLEND_ZERO:
+ case BLEND_ZERO:
// Optimized
break;
- case Context::BLEND_ONE:
+ case BLEND_ONE:
// Optimized
break;
- case Context::BLEND_SOURCE:
+ case BLEND_SOURCE:
blendFactor.w = oC.w;
break;
- case Context::BLEND_INVSOURCE:
+ case BLEND_INVSOURCE:
blendFactor.w = Float4(1.0f) - oC.w;
break;
- case Context::BLEND_DEST:
+ case BLEND_DEST:
blendFactor.w = pixel.w;
break;
- case Context::BLEND_INVDEST:
+ case BLEND_INVDEST:
blendFactor.w = Float4(1.0f) - pixel.w;
break;
- case Context::BLEND_SOURCEALPHA:
+ case BLEND_SOURCEALPHA:
blendFactor.w = oC.w;
break;
- case Context::BLEND_INVSOURCEALPHA:
+ case BLEND_INVSOURCEALPHA:
blendFactor.w = Float4(1.0f) - oC.w;
break;
- case Context::BLEND_DESTALPHA:
+ case BLEND_DESTALPHA:
blendFactor.w = pixel.w;
break;
- case Context::BLEND_INVDESTALPHA:
+ case BLEND_INVDESTALPHA:
blendFactor.w = Float4(1.0f) - pixel.w;
break;
- case Context::BLEND_SRCALPHASAT:
+ case BLEND_SRCALPHASAT:
blendFactor.w = Float4(1.0f);
break;
- case Context::BLEND_CONSTANT:
+ case BLEND_CONSTANT:
blendFactor.w = *Pointer<Float4>(r.data + OFFSET(DrawData,factor.blendConstant4F[3]));
break;
- case Context::BLEND_INVCONSTANT:
+ case BLEND_INVCONSTANT:
blendFactor.w = *Pointer<Float4>(r.data + OFFSET(DrawData,factor.invBlendConstant4F[3]));
break;
default:
@@ -3271,17 +3271,17 @@
Vector4f sourceFactor;
Vector4f destFactor;
- blendFactor(r, sourceFactor, oC, pixel, (Context::BlendFactor)state.sourceBlendFactor);
- blendFactor(r, destFactor, oC, pixel, (Context::BlendFactor)state.destBlendFactor);
+ blendFactor(r, sourceFactor, oC, pixel, state.sourceBlendFactor);
+ blendFactor(r, destFactor, oC, pixel, state.destBlendFactor);
- if(state.sourceBlendFactor != Context::BLEND_ONE && state.sourceBlendFactor != Context::BLEND_ZERO)
+ if(state.sourceBlendFactor != BLEND_ONE && state.sourceBlendFactor != BLEND_ZERO)
{
oC.x *= sourceFactor.x;
oC.y *= sourceFactor.y;
oC.z *= sourceFactor.z;
}
- if(state.destBlendFactor != Context::BLEND_ONE && state.destBlendFactor != Context::BLEND_ZERO)
+ if(state.destBlendFactor != BLEND_ONE && state.destBlendFactor != BLEND_ZERO)
{
pixel.x *= destFactor.x;
pixel.y *= destFactor.y;
@@ -3290,40 +3290,40 @@
switch(state.blendOperation)
{
- case Context::BLENDOP_ADD:
+ case BLENDOP_ADD:
oC.x += pixel.x;
oC.y += pixel.y;
oC.z += pixel.z;
break;
- case Context::BLENDOP_SUB:
+ case BLENDOP_SUB:
oC.x -= pixel.x;
oC.y -= pixel.y;
oC.z -= pixel.z;
break;
- case Context::BLENDOP_INVSUB:
+ case BLENDOP_INVSUB:
oC.x = pixel.x - oC.x;
oC.y = pixel.y - oC.y;
oC.z = pixel.z - oC.z;
break;
- case Context::BLENDOP_MIN:
+ case BLENDOP_MIN:
oC.x = Min(oC.x, pixel.x);
oC.y = Min(oC.y, pixel.y);
oC.z = Min(oC.z, pixel.z);
break;
- case Context::BLENDOP_MAX:
+ case BLENDOP_MAX:
oC.x = Max(oC.x, pixel.x);
oC.y = Max(oC.y, pixel.y);
oC.z = Max(oC.z, pixel.z);
break;
- case Context::BLENDOP_SOURCE:
+ case BLENDOP_SOURCE:
// No operation
break;
- case Context::BLENDOP_DEST:
+ case BLENDOP_DEST:
oC.x = pixel.x;
oC.y = pixel.y;
oC.z = pixel.z;
break;
- case Context::BLENDOP_NULL:
+ case BLENDOP_NULL:
oC.x = Float4(0.0f);
oC.y = Float4(0.0f);
oC.z = Float4(0.0f);
@@ -3332,44 +3332,44 @@
ASSERT(false);
}
- blendFactorAlpha(r, sourceFactor, oC, pixel, (Context::BlendFactor)state.sourceBlendFactorAlpha);
- blendFactorAlpha(r, destFactor, oC, pixel, (Context::BlendFactor)state.destBlendFactorAlpha);
+ blendFactorAlpha(r, sourceFactor, oC, pixel, state.sourceBlendFactorAlpha);
+ blendFactorAlpha(r, destFactor, oC, pixel, state.destBlendFactorAlpha);
- if(state.sourceBlendFactorAlpha != Context::BLEND_ONE && state.sourceBlendFactorAlpha != Context::BLEND_ZERO)
+ if(state.sourceBlendFactorAlpha != BLEND_ONE && state.sourceBlendFactorAlpha != BLEND_ZERO)
{
oC.w *= sourceFactor.w;
}
- if(state.destBlendFactorAlpha != Context::BLEND_ONE && state.destBlendFactorAlpha != Context::BLEND_ZERO)
+ if(state.destBlendFactorAlpha != BLEND_ONE && state.destBlendFactorAlpha != BLEND_ZERO)
{
pixel.w *= destFactor.w;
}
switch(state.blendOperationAlpha)
{
- case Context::BLENDOP_ADD:
+ case BLENDOP_ADD:
oC.w += pixel.w;
break;
- case Context::BLENDOP_SUB:
+ case BLENDOP_SUB:
oC.w -= pixel.w;
break;
- case Context::BLENDOP_INVSUB:
+ case BLENDOP_INVSUB:
pixel.w -= oC.w;
oC.w = pixel.w;
break;
- case Context::BLENDOP_MIN:
+ case BLENDOP_MIN:
oC.w = Min(oC.w, pixel.w);
break;
- case Context::BLENDOP_MAX:
+ case BLENDOP_MAX:
oC.w = Max(oC.w, pixel.w);
break;
- case Context::BLENDOP_SOURCE:
+ case BLENDOP_SOURCE:
// No operation
break;
- case Context::BLENDOP_DEST:
+ case BLENDOP_DEST:
oC.w = pixel.w;
break;
- case Context::BLENDOP_NULL:
+ case BLENDOP_NULL:
oC.w = Float4(0.0f);
break;
default:
@@ -4140,7 +4140,7 @@
for(int i = 0; i < 4; i++)
{
- if((Format)state.targetFormat[i] != FORMAT_NULL)
+ if(state.targetFormat[i] != FORMAT_NULL)
{
if(!out[i][0]) r.oC[i].x = Float4(0.0f);
if(!out[i][1]) r.oC[i].y = Float4(0.0f);
diff --git a/src/Shader/PixelRoutine.hpp b/src/Shader/PixelRoutine.hpp
index 84086cb..e6dd8fb 100644
--- a/src/Shader/PixelRoutine.hpp
+++ b/src/Shader/PixelRoutine.hpp
@@ -153,9 +153,9 @@
Float4 interpolate(Float4 &x, Float4 &D, Float4 &rhw, Pointer<Byte> planeEquation, bool flat, bool perspective);
Float4 interpolateCentroid(Float4 &x, Float4 &y, Float4 &rhw, Pointer<Byte> planeEquation, bool flat, bool perspective);
void stencilTest(Registers &r, Pointer<Byte> &sBuffer, int q, Int &x, Int &sMask, Int &cMask);
- void stencilTest(Registers &r, Byte8 &value, Context::StencilCompareMode stencilCompareMode, bool CCW);
- void stencilOperation(Registers &r, Byte8 &newValue, Byte8 &bufferValue, Context::StencilOperation stencilPassOperation, Context::StencilOperation stencilZFailOperation, Context::StencilOperation stencilFailOperation, bool CCW, Int &zMask, Int &sMask);
- void stencilOperation(Registers &r, Byte8 &output, Byte8 &bufferValue, Context::StencilOperation operation, bool CCW);
+ void stencilTest(Registers &r, Byte8 &value, StencilCompareMode stencilCompareMode, bool CCW);
+ void stencilOperation(Registers &r, Byte8 &newValue, Byte8 &bufferValue, StencilOperation stencilPassOperation, StencilOperation stencilZFailOperation, StencilOperation stencilFailOperation, bool CCW, Int &zMask, Int &sMask);
+ void stencilOperation(Registers &r, Byte8 &output, Byte8 &bufferValue, StencilOperation operation, bool CCW);
Bool depthTest(Registers &r, Pointer<Byte> &zBuffer, int q, Int &x, Float4 &z, Int &sMask, Int &zMask, Int &cMask);
void blendTexture(Registers &r, Vector4i &temp, Vector4i &texture, int stage);
void alphaTest(Registers &r, Int &aMask, Short4 &alpha);
@@ -177,12 +177,12 @@
void clampColor(Vector4f oC[4]);
void rasterOperation(Vector4i ¤t, Registers &r, Float4 &fog, Pointer<Byte> &cBuffer, Int &x, Int sMask[4], Int zMask[4], Int cMask[4]);
void rasterOperation(Vector4f oC[4], Registers &r, Float4 &fog, Pointer<Byte> cBuffer[4], Int &x, Int sMask[4], Int zMask[4], Int cMask[4]);
- void blendFactor(Registers &r, const Vector4i &blendFactor, const Vector4i ¤t, const Vector4i &pixel, Context::BlendFactor blendFactorActive);
- void blendFactorAlpha(Registers &r, const Vector4i &blendFactor, const Vector4i ¤t, const Vector4i &pixel, Context::BlendFactor blendFactorAlphaActive);
+ void blendFactor(Registers &r, const Vector4i &blendFactor, const Vector4i ¤t, const Vector4i &pixel, BlendFactor blendFactorActive);
+ void blendFactorAlpha(Registers &r, const Vector4i &blendFactor, const Vector4i ¤t, const Vector4i &pixel, BlendFactor blendFactorAlphaActive);
void alphaBlend(Registers &r, int index, Pointer<Byte> &cBuffer, Vector4i ¤t, Int &x);
void writeColor(Registers &r, int index, Pointer<Byte> &cBuffer, Int &i, Vector4i ¤t, Int &sMask, Int &zMask, Int &cMask);
- void blendFactor(Registers &r, const Vector4f &blendFactor, const Vector4f &oC, const Vector4f &pixel, Context::BlendFactor blendFactorActive);
- void blendFactorAlpha(Registers &r, const Vector4f &blendFactor, const Vector4f &oC, const Vector4f &pixel, Context::BlendFactor blendFactorAlphaActive);
+ void blendFactor(Registers &r, const Vector4f &blendFactor, const Vector4f &oC, const Vector4f &pixel, BlendFactor blendFactorActive);
+ void blendFactorAlpha(Registers &r, const Vector4f &blendFactor, const Vector4f &oC, const Vector4f &pixel, BlendFactor blendFactorAlphaActive);
void alphaBlend(Registers &r, int index, Pointer<Byte> &cBuffer, Vector4f &oC, Int &x);
void writeColor(Registers &r, int index, Pointer<Byte> &cBuffer, Int &i, Vector4f &oC, Int &sMask, Int &zMask, Int &cMask);
void writeStencil(Registers &r, Pointer<Byte> &sBuffer, int q, Int &x, Int &sMask, Int &zMask, Int &cMask);
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
diff --git a/src/Shader/SetupRoutine.cpp b/src/Shader/SetupRoutine.cpp
index e52da92..84c33d5 100644
--- a/src/Shader/SetupRoutine.cpp
+++ b/src/Shader/SetupRoutine.cpp
@@ -95,11 +95,11 @@
A = IfThenElse(w0w1w2 < 0, -A, A);
- if(state.cullMode == Context::CULL_CLOCKWISE)
+ if(state.cullMode == CULL_CLOCKWISE)
{
If(A >= 0.0f) Return(false);
}
- else if(state.cullMode == Context::CULL_COUNTERCLOCKWISE)
+ else if(state.cullMode == CULL_COUNTERCLOCKWISE)
{
If(A <= 0.0f) Return(false);
}
diff --git a/src/Shader/VertexPipeline.cpp b/src/Shader/VertexPipeline.cpp
index c5c8bb1..9891aea 100644
--- a/src/Shader/VertexPipeline.cpp
+++ b/src/Shader/VertexPipeline.cpp
@@ -297,18 +297,18 @@
Vector4f diff;
- if(state.vertexDiffuseMaterialSourceActive == Context::MATERIAL)
+ if(state.vertexDiffuseMaterialSourceActive == MATERIAL_MATERIAL)
{
diff.x = diff.y = diff.z = *Pointer<Float4>(r.data + OFFSET(DrawData,ff.materialDiffuse)); // FIXME: Unpack
diff.x = diff.x.xxxx;
diff.y = diff.y.yyyy;
diff.z = diff.z.zzzz;
}
- else if(state.vertexDiffuseMaterialSourceActive == Context::COLOR1)
+ else if(state.vertexDiffuseMaterialSourceActive == MATERIAL_COLOR1)
{
diff = r.v[Color0];
}
- else if(state.vertexDiffuseMaterialSourceActive == Context::COLOR2)
+ else if(state.vertexDiffuseMaterialSourceActive == MATERIAL_COLOR2)
{
diff = r.v[Color1];
}
@@ -347,7 +347,7 @@
Vector4f spec;
- if(state.vertexSpecularMaterialSourceActive == Context::MATERIAL)
+ if(state.vertexSpecularMaterialSourceActive == MATERIAL_MATERIAL)
{
Float4 materialSpecular = *Pointer<Float4>(r.data + OFFSET(DrawData,ff.materialSpecular)); // FIXME: Unpack
@@ -355,11 +355,11 @@
spec.y = materialSpecular.y;
spec.z = materialSpecular.z;
}
- else if(state.vertexSpecularMaterialSourceActive == Context::COLOR1)
+ else if(state.vertexSpecularMaterialSourceActive == MATERIAL_COLOR1)
{
spec = r.v[Color0];
}
- else if(state.vertexSpecularMaterialSourceActive == Context::COLOR2)
+ else if(state.vertexSpecularMaterialSourceActive == MATERIAL_COLOR2)
{
spec = r.v[Color1];
}
@@ -391,7 +391,7 @@
r.o[D0].y = r.o[D0].y + globalAmbient.y;
r.o[D0].z = r.o[D0].z + globalAmbient.z;
- if(state.vertexAmbientMaterialSourceActive == Context::MATERIAL)
+ if(state.vertexAmbientMaterialSourceActive == MATERIAL_MATERIAL)
{
Float4 materialAmbient = *Pointer<Float4>(r.data + OFFSET(DrawData,ff.materialAmbient)); // FIXME: Unpack
@@ -399,7 +399,7 @@
r.o[D0].y = r.o[D0].y * materialAmbient.y;
r.o[D0].z = r.o[D0].z * materialAmbient.z;
}
- else if(state.vertexAmbientMaterialSourceActive == Context::COLOR1)
+ else if(state.vertexAmbientMaterialSourceActive == MATERIAL_COLOR1)
{
Vector4f materialDiffuse = r.v[Color0];
@@ -407,7 +407,7 @@
r.o[D0].y = r.o[D0].y * materialDiffuse.y;
r.o[D0].z = r.o[D0].z * materialDiffuse.z;
}
- else if(state.vertexAmbientMaterialSourceActive == Context::COLOR2)
+ else if(state.vertexAmbientMaterialSourceActive == MATERIAL_COLOR2)
{
Vector4f materialSpecular = r.v[Color1];
@@ -422,7 +422,7 @@
r.o[D0].z = r.o[D0].z + diffuseSum.z;
// Emissive
- if(state.vertexEmissiveMaterialSourceActive == Context::MATERIAL)
+ if(state.vertexEmissiveMaterialSourceActive == MATERIAL_MATERIAL)
{
Float4 materialEmission = *Pointer<Float4>(r.data + OFFSET(DrawData,ff.materialEmission)); // FIXME: Unpack
@@ -430,7 +430,7 @@
r.o[D0].y = r.o[D0].y + materialEmission.y;
r.o[D0].z = r.o[D0].z + materialEmission.z;
}
- else if(state.vertexEmissiveMaterialSourceActive == Context::COLOR1)
+ else if(state.vertexEmissiveMaterialSourceActive == MATERIAL_COLOR1)
{
Vector4f materialSpecular = r.v[Color0];
@@ -438,7 +438,7 @@
r.o[D0].y = r.o[D0].y + materialSpecular.y;
r.o[D0].z = r.o[D0].z + materialSpecular.z;
}
- else if(state.vertexEmissiveMaterialSourceActive == Context::COLOR2)
+ else if(state.vertexEmissiveMaterialSourceActive == MATERIAL_COLOR2)
{
Vector4f materialSpecular = r.v[Color1];
@@ -449,16 +449,16 @@
else ASSERT(false);
// Diffuse alpha component
- if(state.vertexDiffuseMaterialSourceActive == Context::MATERIAL)
+ if(state.vertexDiffuseMaterialSourceActive == MATERIAL_MATERIAL)
{
r.o[D0].w = Float4(*Pointer<Float4>(r.data + OFFSET(DrawData,ff.materialDiffuse[0]))).wwww; // FIXME: Unpack
}
- else if(state.vertexDiffuseMaterialSourceActive == Context::COLOR1)
+ else if(state.vertexDiffuseMaterialSourceActive == MATERIAL_COLOR1)
{
Vector4f alpha = r.v[Color0];
r.o[D0].w = alpha.w;
}
- else if(state.vertexDiffuseMaterialSourceActive == Context::COLOR2)
+ else if(state.vertexDiffuseMaterialSourceActive == MATERIAL_COLOR2)
{
Vector4f alpha = r.v[Color1];
r.o[D0].w = alpha.w;
@@ -468,16 +468,16 @@
if(state.vertexSpecularActive)
{
// Specular alpha component
- if(state.vertexSpecularMaterialSourceActive == Context::MATERIAL)
+ if(state.vertexSpecularMaterialSourceActive == MATERIAL_MATERIAL)
{
r.o[D1].w = Float4(*Pointer<Float4>(r.data + OFFSET(DrawData,ff.materialSpecular[3]))).wwww; // FIXME: Unpack
}
- else if(state.vertexSpecularMaterialSourceActive == Context::COLOR1)
+ else if(state.vertexSpecularMaterialSourceActive == MATERIAL_COLOR1)
{
Vector4f alpha = r.v[Color0];
r.o[D1].w = alpha.w;
}
- else if(state.vertexSpecularMaterialSourceActive == Context::COLOR2)
+ else if(state.vertexSpecularMaterialSourceActive == MATERIAL_COLOR2)
{
Vector4f alpha = r.v[Color1];
r.o[D1].w = alpha.w;
@@ -490,7 +490,7 @@
{
switch(state.vertexFogMode)
{
- case Context::FOG_NONE:
+ case FOG_NONE:
if(state.specularActive)
{
r.o[Fog].x = r.o[D1].w;
@@ -500,9 +500,9 @@
r.o[Fog].x = Float4(0.0f);
}
break;
- case Context::FOG_LINEAR:
- case Context::FOG_EXP:
- case Context::FOG_EXP2:
+ case FOG_LINEAR:
+ case FOG_EXP:
+ case FOG_EXP2:
if(!state.rangeFogActive)
{
r.o[Fog].x = r.o[Pos].z;
@@ -542,7 +542,7 @@
switch(state.textureState[stage].texGenActive)
{
- case Context::TEXGEN_PASSTHRU:
+ case TEXGEN_PASSTHRU:
{
Vector4f v = r.v[TexCoord0 + i];
@@ -575,7 +575,7 @@
}
}
break;
- case Context::TEXGEN_NORMAL:
+ case TEXGEN_NORMAL:
{
Vector4f Nc; // Normal vector in camera space
@@ -598,7 +598,7 @@
r.o[T0 + stage].w = Nc.w;
}
break;
- case Context::TEXGEN_POSITION:
+ case TEXGEN_POSITION:
{
Vector4f Pn = transformBlend(r, r.v[Position], Pointer<Byte>(r.data + OFFSET(DrawData,ff.cameraTransformT)), true); // Position in camera space
@@ -610,7 +610,7 @@
r.o[T0 + stage].w = Pn.w;
}
break;
- case Context::TEXGEN_REFLECTION:
+ case TEXGEN_REFLECTION:
{
Vector4f R; // Reflection vector
@@ -661,7 +661,7 @@
r.o[T0 + stage].w = R.w;
}
break;
- case Context::TEXGEN_SPHEREMAP:
+ case TEXGEN_SPHEREMAP:
{
Vector4f R; // Reflection vector