Merge pull request #986 from Nekotekina/master

RSX "refactoring" reverted
This commit is contained in:
Hykem 2015-01-31 13:44:37 +00:00
commit 12d1f8202d
5 changed files with 1104 additions and 1113 deletions

File diff suppressed because it is too large Load Diff

View File

@ -166,11 +166,12 @@ public:
virtual ~GLGSRender();
private:
void EnableVertexData(bool indexed_draw=false);
void EnableVertexData(bool indexed_draw = false);
void DisableVertexData();
void InitVertexData();
void InitFragmentData();
void Enable(bool enable, const u32 cap);
virtual void Close();
bool LoadProgram();
void WriteBuffers();
@ -189,41 +190,7 @@ protected:
virtual void OnInitThread();
virtual void OnExitThread();
virtual void OnReset();
virtual void ExecCMD(u32 cmd);
virtual void ExecCMD();
virtual void Enable(u32 cmd, u32 enable);
virtual void ClearColor(u32 a, u32 r, u32 g, u32 b);
virtual void ClearStencil(u32 stencil);
virtual void ClearDepth(u32 depth);
virtual void ClearSurface(u32 mask);
virtual void ColorMask(bool a, bool r, bool g, bool b);
virtual void AlphaFunc(u32 func, float ref);
virtual void DepthFunc(u32 func);
virtual void DepthMask(u32 flag);
virtual void PolygonMode(u32 face, u32 mode);
virtual void PointSize(float size);
virtual void LogicOp(u32 opcode);
virtual void LineWidth(float width);
virtual void LineStipple(u16 factor, u16 pattern);
virtual void PolygonStipple(u32 pattern);
virtual void PrimitiveRestartIndex(u32 index);
virtual void CullFace(u32 mode);
virtual void FrontFace(u32 mode);
virtual void Fogi(u32 mode);
virtual void Fogf(float start, float end);
virtual void PolygonOffset(float factor, float bias);
virtual void DepthRangef(float min, float max);
virtual void BlendEquationSeparate(u16 rgb, u16 a);
virtual void BlendFuncSeparate(u16 srcRGB, u16 dstRGB, u16 srcAlpha, u16 dstAlpha);
virtual void BlendColor(u8 r, u8 g, u8 b, u8 a);
virtual void LightModeli(u32 enable);
virtual void ShadeModel(u32 mode);
virtual void DepthBoundsEXT(float min, float max);
virtual void Scissor(u16 x, u16 y, u16 width, u16 height);
virtual void StencilOp(u32 fail, u32 zfail, u32 zpass);
virtual void StencilMask(u32 mask);
virtual void StencilFunc(u32 func, u32 ref, u32 mask);
virtual void StencilOpSeparate(u32 mode, u32 fail, u32 zfail, u32 zpass);
virtual void StencilMaskSeparate(u32 mode, u32 mask);
virtual void StencilFuncSeparate(u32 mode, u32 func, u32 ref, u32 mask);
virtual void Flip();
};

View File

@ -6,50 +6,44 @@ class NullGSRender
{
public:
NullGSRender() {}
virtual ~NullGSRender() {}
NullGSRender()
{
}
virtual ~NullGSRender()
{
}
private:
virtual void OnInit() {}
virtual void OnInitThread() {}
virtual void OnExitThread() {}
virtual void OnReset() {}
virtual void Enable(u32 cmd, u32 enable) {}
virtual void ClearColor(u32 a, u32 r, u32 g, u32 b) {}
virtual void ClearStencil(u32 stencil) {}
virtual void ClearDepth(u32 depth) {}
virtual void ClearSurface(u32 mask) {}
virtual void ColorMask(bool a, bool r, bool g, bool b) {}
virtual void ExecCMD() {}
virtual void AlphaFunc(u32 func, float ref) {}
virtual void DepthFunc(u32 func) {}
virtual void DepthMask(u32 flag) {}
virtual void PolygonMode(u32 face, u32 mode) {}
virtual void PointSize(float size) {}
virtual void LogicOp(u32 opcode) {}
virtual void LineWidth(float width) {}
virtual void LineStipple(u16 factor, u16 pattern) {}
virtual void PolygonStipple(u32 pattern) {}
virtual void PrimitiveRestartIndex(u32 index) {}
virtual void CullFace(u32 mode) {}
virtual void FrontFace(u32 mode) {}
virtual void Fogi(u32 mode) {}
virtual void Fogf(float start, float end) {}
virtual void PolygonOffset(float factor, float bias) {}
virtual void DepthRangef(float min, float max) {}
virtual void BlendEquationSeparate(u16 rgb, u16 a) {}
virtual void BlendFuncSeparate(u16 srcRGB, u16 dstRGB, u16 srcAlpha, u16 dstAlpha) {}
virtual void BlendColor(u8 r, u8 g, u8 b, u8 a) {}
virtual void LightModeli(u32 enable) {}
virtual void ShadeModel(u32 mode) {}
virtual void DepthBoundsEXT(float min, float max) {}
virtual void Scissor(u16 x, u16 y, u16 width, u16 height) {}
virtual void StencilOp(u32 fail, u32 zfail, u32 zpass) {}
virtual void StencilMask(u32 mask) {}
virtual void StencilFunc(u32 func, u32 ref, u32 mask) {}
virtual void StencilOpSeparate(u32 mode, u32 fail, u32 zfail, u32 zpass) {}
virtual void StencilMaskSeparate(u32 mode, u32 mask) {}
virtual void StencilFuncSeparate(u32 mode, u32 func, u32 ref, u32 mask) {}
virtual void Flip() {}
virtual void Close() {}
virtual void OnInit()
{
}
virtual void OnInitThread()
{
}
virtual void OnExitThread()
{
}
virtual void OnReset()
{
}
virtual void ExecCMD(u32 cmd)
{
}
virtual void ExecCMD()
{
}
virtual void Flip()
{
}
virtual void Close()
{
}
};

File diff suppressed because it is too large Load Diff

View File

@ -90,7 +90,7 @@ struct RSXTransformConstant
}
};
class RSXThread : public ThreadBase
class RSXThread : public ThreadBase
{
public:
static const uint m_textures_count = 16;
@ -498,7 +498,7 @@ protected:
m_front_face = 0x0901; // GL_CCW
m_cull_face = 0x0405; // GL_BACK
m_alpha_func = 0x0207; // GL_ALWAYS
m_alpha_ref = 0.0;
m_alpha_ref = 0.0f;
m_logic_op = 0x1503; // GL_COPY
m_shade_mode = 0x1D01; // GL_SMOOTH
m_depth_mask = 1;
@ -635,48 +635,14 @@ protected:
virtual void OnExitThread() = 0;
virtual void OnReset() = 0;
virtual void ExecCMD() = 0;
virtual void Enable(u32 cmd, u32 enable) = 0;
virtual void ClearColor(u32 a, u32 r, u32 g, u32 b) = 0;
virtual void ClearStencil(u32 stencil) = 0;
virtual void ClearDepth(u32 depth) = 0;
virtual void ClearSurface(u32 mask) = 0;
virtual void ColorMask(bool a, bool r, bool g, bool b) = 0;
virtual void AlphaFunc(u32 func, float ref) = 0;
virtual void DepthFunc(u32 func) = 0;
virtual void DepthMask(u32 flag) = 0;
virtual void PolygonMode(u32 face, u32 mode) = 0;
virtual void PointSize(float size) = 0;
virtual void LogicOp(u32 opcode) = 0;
virtual void LineWidth(float width) = 0;
virtual void LineStipple(u16 factor, u16 pattern) = 0;
virtual void PolygonStipple(u32 pattern) = 0;
virtual void PrimitiveRestartIndex(u32 index) = 0;
virtual void CullFace(u32 mode) = 0;
virtual void FrontFace(u32 mode) = 0;
virtual void Fogi(u32 mode) = 0;
virtual void Fogf(float start, float end) = 0;
virtual void PolygonOffset(float factor, float bias) = 0;
virtual void DepthRangef(float min, float max) = 0;
virtual void BlendEquationSeparate(u16 rgb, u16 a) = 0;
virtual void BlendFuncSeparate(u16 srcRGB, u16 dstRGB, u16 srcAlpha, u16 dstAlpha) = 0;
virtual void BlendColor(u8 r, u8 g, u8 b, u8 a) = 0;
virtual void LightModeli(u32 enable) = 0;
virtual void ShadeModel(u32 mode) = 0;
virtual void DepthBoundsEXT(float min, float max) = 0;
virtual void Scissor(u16 x, u16 y, u16 width, u16 height) = 0;
virtual void StencilOp(u32 fail, u32 zfail, u32 zpass) = 0;
virtual void StencilMask(u32 mask) = 0;
virtual void StencilFunc(u32 func, u32 ref, u32 mask) = 0;
virtual void StencilOpSeparate(u32 mode, u32 fail, u32 zfail, u32 zpass) = 0;
virtual void StencilMaskSeparate(u32 mode, u32 mask) = 0;
virtual void StencilFuncSeparate(u32 mode, u32 func, u32 ref, u32 mask) = 0;
virtual void ExecCMD(u32 cmd) = 0;
virtual void Flip() = 0;
void LoadVertexData(u32 first, u32 count)
{
for (u32 i = 0; i < m_vertex_count; ++i)
{
if(!m_vertex_data[i].IsEnabled()) continue;
if (!m_vertex_data[i].IsEnabled()) continue;
m_vertex_data[i].Load(first, count, m_vertex_data_base_offset, m_vertex_data_base_index);
}