2013-11-09 22:29:49 +01:00
|
|
|
#pragma once
|
|
|
|
|
#include "GLProgram.h"
|
|
|
|
|
|
|
|
|
|
struct GLBufferInfo
|
|
|
|
|
{
|
|
|
|
|
u32 prog_id;
|
|
|
|
|
u32 fp_id;
|
|
|
|
|
u32 vp_id;
|
2014-04-10 00:54:32 +02:00
|
|
|
std::vector<u8> fp_data;
|
|
|
|
|
std::vector<u32> vp_data;
|
2013-11-27 20:16:19 +01:00
|
|
|
std::string fp_shader;
|
|
|
|
|
std::string vp_shader;
|
2013-11-09 22:29:49 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct GLProgramBuffer
|
|
|
|
|
{
|
2014-04-10 00:54:32 +02:00
|
|
|
std::vector<GLBufferInfo> m_buf;
|
2013-11-09 22:29:49 +01:00
|
|
|
|
|
|
|
|
int SearchFp(const RSXShaderProgram& rsx_fp, GLShaderProgram& gl_fp);
|
|
|
|
|
int SearchVp(const RSXVertexProgram& rsx_vp, GLVertexProgram& gl_vp);
|
|
|
|
|
|
|
|
|
|
bool CmpVP(const u32 a, const u32 b) const;
|
|
|
|
|
bool CmpFP(const u32 a, const u32 b) const;
|
|
|
|
|
|
|
|
|
|
u32 GetProg(u32 fp, u32 vp) const;
|
|
|
|
|
|
|
|
|
|
void Add(GLProgram& prog, GLShaderProgram& gl_fp, RSXShaderProgram& rsx_fp, GLVertexProgram& gl_vp, RSXVertexProgram& rsx_vp);
|
|
|
|
|
void Clear();
|
2014-04-10 00:54:32 +02:00
|
|
|
};
|