d3d12: use CELL_GCM suffix

This commit is contained in:
raven02 2015-06-06 17:43:51 +08:00 committed by Vincent Lejeune
commit e72d098ea1
2 changed files with 55 additions and 48 deletions

View file

@ -601,18 +601,14 @@ static D3D12_STENCIL_OP getStencilOp(u32 op)
{ {
switch (op) switch (op)
{ {
case GL_KEEP: case CELL_GCM_KEEP: return D3D12_STENCIL_OP_KEEP;
return D3D12_STENCIL_OP_KEEP; case CELL_GCM_ZERO: return D3D12_STENCIL_OP_ZERO;
case GL_ZERO: case CELL_GCM_REPLACE: return D3D12_STENCIL_OP_REPLACE;
return D3D12_STENCIL_OP_ZERO; case CELL_GCM_INCR: return D3D12_STENCIL_OP_INCR;
case GL_REPLACE: case CELL_GCM_DECR: return D3D12_STENCIL_OP_DECR;
return D3D12_STENCIL_OP_REPLACE; case CELL_GCM_INCR_WRAP:
case GL_INCR: case CELL_GCM_DECR_WRAP:
return D3D12_STENCIL_OP_INCR; LOG_WARNING(RSX, "Unsupported Stencil Op %d", op);
case GL_DECR:
return D3D12_STENCIL_OP_DECR;
case GL_INVERT:
return D3D12_STENCIL_OP_INVERT;
} }
} }
@ -620,22 +616,14 @@ static D3D12_COMPARISON_FUNC getStencilFunc(u32 op)
{ {
switch (op) switch (op)
{ {
case GL_NEVER: case CELL_GCM_NEVER: return D3D12_COMPARISON_FUNC_NEVER;
return D3D12_COMPARISON_FUNC_NEVER; case CELL_GCM_LESS: return D3D12_COMPARISON_FUNC_LESS;
case GL_LESS: case CELL_GCM_EQUAL: return D3D12_COMPARISON_FUNC_EQUAL;
return D3D12_COMPARISON_FUNC_LESS; case CELL_GCM_LEQUAL: return D3D12_COMPARISON_FUNC_LESS_EQUAL;
case GL_LEQUAL: case CELL_GCM_GREATER: return D3D12_COMPARISON_FUNC_GREATER;
return D3D12_COMPARISON_FUNC_LESS_EQUAL; case CELL_GCM_NOTEQUAL: return D3D12_COMPARISON_FUNC_NOT_EQUAL;
case GL_GREATER: case CELL_GCM_GEQUAL: return D3D12_COMPARISON_FUNC_GREATER_EQUAL;
return D3D12_COMPARISON_FUNC_GREATER; case CELL_GCM_ALWAYS: return D3D12_COMPARISON_FUNC_ALWAYS;
case GL_GEQUAL:
return D3D12_COMPARISON_FUNC_GREATER_EQUAL;
case GL_EQUAL:
return D3D12_COMPARISON_FUNC_EQUAL;
case GL_NOTEQUAL:
return D3D12_COMPARISON_FUNC_NOT_EQUAL;
case GL_ALWAYS:
return D3D12_COMPARISON_FUNC_ALWAYS;
} }
} }
@ -643,22 +631,14 @@ static D3D12_COMPARISON_FUNC getDepthFunc(u32 op)
{ {
switch (op) switch (op)
{ {
case GL_NEVER: case CELL_GCM_NEVER: return D3D12_COMPARISON_FUNC_NEVER;
return D3D12_COMPARISON_FUNC_NEVER; case CELL_GCM_LESS: return D3D12_COMPARISON_FUNC_LESS;
case GL_LESS: case CELL_GCM_EQUAL: return D3D12_COMPARISON_FUNC_EQUAL;
return D3D12_COMPARISON_FUNC_LESS; case CELL_GCM_LEQUAL: return D3D12_COMPARISON_FUNC_LESS_EQUAL;
case GL_LEQUAL: case CELL_GCM_GREATER: return D3D12_COMPARISON_FUNC_GREATER;
return D3D12_COMPARISON_FUNC_LESS_EQUAL; case CELL_GCM_NOTEQUAL: return D3D12_COMPARISON_FUNC_NOT_EQUAL;
case GL_GREATER: case CELL_GCM_GEQUAL: return D3D12_COMPARISON_FUNC_GREATER_EQUAL;
return D3D12_COMPARISON_FUNC_GREATER; case CELL_GCM_ALWAYS: return D3D12_COMPARISON_FUNC_ALWAYS;
case GL_GEQUAL:
return D3D12_COMPARISON_FUNC_GREATER_EQUAL;
case GL_EQUAL:
return D3D12_COMPARISON_FUNC_EQUAL;
case GL_NOTEQUAL:
return D3D12_COMPARISON_FUNC_NOT_EQUAL;
case GL_ALWAYS:
return D3D12_COMPARISON_FUNC_ALWAYS;
} }
} }
@ -826,10 +806,10 @@ bool D3D12GSRender::LoadProgram()
prop.Rasterization = CD3D12_RASTERIZER_DESC; prop.Rasterization = CD3D12_RASTERIZER_DESC;
switch (m_set_cull_face) switch (m_set_cull_face)
{ {
case GL_FRONT: case CELL_GCM_FRONT:
prop.Rasterization.CullMode = D3D12_CULL_MODE_FRONT; prop.Rasterization.CullMode = D3D12_CULL_MODE_FRONT;
break; break;
case GL_BACK: case CELL_GCM_BACK:
prop.Rasterization.CullMode = D3D12_CULL_MODE_BACK; prop.Rasterization.CullMode = D3D12_CULL_MODE_BACK;
break; break;
default: default:
@ -839,10 +819,10 @@ bool D3D12GSRender::LoadProgram()
switch (m_front_face) switch (m_front_face)
{ {
case GL_CW: case CELL_GCM_CW:
prop.Rasterization.FrontCounterClockwise = FALSE; prop.Rasterization.FrontCounterClockwise = FALSE;
break; break;
case GL_CCW: case CELL_GCM_CCW:
prop.Rasterization.FrontCounterClockwise = TRUE; prop.Rasterization.FrontCounterClockwise = TRUE;
break; break;
} }

View file

@ -179,6 +179,33 @@ enum
CELL_GCM_ONE_MINUS_CONSTANT_COLOR = 0x8002, CELL_GCM_ONE_MINUS_CONSTANT_COLOR = 0x8002,
CELL_GCM_CONSTANT_ALPHA = 0x8003, CELL_GCM_CONSTANT_ALPHA = 0x8003,
CELL_GCM_ONE_MINUS_CONSTANT_ALPHA = 0x8004, CELL_GCM_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
// Stencil/Depth Compare Function
CELL_GCM_NEVER = 0x0200,
CELL_GCM_LESS = 0x0201,
CELL_GCM_EQUAL = 0x0202,
CELL_GCM_LEQUAL = 0x0203,
CELL_GCM_GREATER = 0x0204,
CELL_GCM_NOTEQUAL = 0x0205,
CELL_GCM_GEQUAL = 0x0206,
CELL_GCM_ALWAYS = 0x0207,
// Stencil Op
CELL_GCM_KEEP = 0x1E00,
CELL_GCM_REPLACE = 0x1E01,
CELL_GCM_INCR = 0x1E02,
CELL_GCM_DECR = 0x1E03,
CELL_GCM_INCR_WRAP = 0x8507,
CELL_GCM_DECR_WRAP = 0x8508,
// Front Face
CELL_GCM_FRONT = 0x0404,
CELL_GCM_BACK = 0x0405,
CELL_GCM_FRONT_AND_BACK = 0x0408,
// Cull Face
CELL_GCM_CW = 0x0900,
CELL_GCM_CCW = 0x0901,
}; };
// GCM Surface // GCM Surface