Merge pull request #801 from tambry/TwoSidedLight

Implemented NV4097_SET_TWO_SIDE_LIGHT_EN
This commit is contained in:
B1ackDaemon 2014-09-11 19:13:46 +03:00
commit 98c67389b0
4 changed files with 16 additions and 0 deletions

View file

@ -1804,6 +1804,12 @@ void GLGSRender::ExecCMD()
} }
} }
if (m_set_two_side_light_enable)
{
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);
checkForGlError("glLightModeli");
}
if(m_set_shade_mode) if(m_set_shade_mode)
{ {
glShadeModel(m_shade_mode); glShadeModel(m_shade_mode);

View file

@ -1117,6 +1117,12 @@ void RSXThread::DoCmd(const u32 fcmd, const u32 cmd, const u32 args_addr, const
} }
break; break;
case NV4097_SET_TWO_SIDE_LIGHT_EN:
{
m_set_two_side_light_enable = ARGS(0) ? true : false;
}
break;
case NV4097_SET_STENCIL_MASK: case NV4097_SET_STENCIL_MASK:
{ {
m_set_stencil_mask = true; m_set_stencil_mask = true;

View file

@ -288,6 +288,7 @@ public:
bool m_set_stencil_zpass; bool m_set_stencil_zpass;
u32 m_stencil_zpass; u32 m_stencil_zpass;
bool m_set_two_sided_stencil_test_enable; bool m_set_two_sided_stencil_test_enable;
bool m_set_two_side_light_enable;
bool m_set_back_stencil_mask; bool m_set_back_stencil_mask;
u32 m_back_stencil_mask; u32 m_back_stencil_mask;
bool m_set_back_stencil_func; bool m_set_back_stencil_func;
@ -462,6 +463,7 @@ protected:
m_set_point_sprite_control = false; m_set_point_sprite_control = false;
m_set_specular = false; m_set_specular = false;
m_set_two_sided_stencil_test_enable = false; m_set_two_sided_stencil_test_enable = false;
m_set_two_side_light_enable = false;
m_set_surface_clip_horizontal = false; m_set_surface_clip_horizontal = false;
m_set_surface_clip_vertical = false; m_set_surface_clip_vertical = false;
m_set_poly_offset_fill = false; m_set_poly_offset_fill = false;
@ -551,6 +553,7 @@ protected:
m_set_blend_color = false; m_set_blend_color = false;
m_set_stencil_test = false; m_set_stencil_test = false;
m_set_two_sided_stencil_test_enable = false; m_set_two_sided_stencil_test_enable = false;
m_set_two_side_light_enable = false;
m_set_stencil_mask = false; m_set_stencil_mask = false;
m_set_stencil_func = false; m_set_stencil_func = false;
m_set_stencil_func_ref = false; m_set_stencil_func_ref = false;

View file

@ -445,6 +445,7 @@ void SetupRsxRenderingStates(vm::ptr<CellGcmContextData>& cntxt)
r.m_set_poly_offset_fill = false; r.m_set_poly_offset_fill = false;
r.m_set_stencil_test = false; r.m_set_stencil_test = false;
r.m_set_two_sided_stencil_test_enable = false; r.m_set_two_sided_stencil_test_enable = false;
r.m_set_two_side_light_enable = false;
r.m_set_point_sprite_control = false; r.m_set_point_sprite_control = false;
r.m_set_dither = true; r.m_set_dither = true;
r.m_set_shade_mode = true; r.m_shade_mode = CELL_GCM_SMOOTH; r.m_set_shade_mode = true; r.m_shade_mode = CELL_GCM_SMOOTH;