summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp17
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp18
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.h2
3 files changed, 6 insertions, 31 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp b/Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp
index c83c976fb2..d42b2a7222 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp
@@ -192,15 +192,8 @@ void GLVertexFormat::SetupVertexPointers() {
if (vtx_decl.num_normals >= 1) {
glNormalPointer(VarToGL(vtx_decl.normal_gl_type), vtx_decl.stride, (void *)(VertexManager::s_pBaseBufferPointer + vtx_decl.normal_offset[0]));
if (vtx_decl.num_normals == 3) {
- GLint varLocation1 = SHADER_NORM1_ATTRIB, varLocation2 = SHADER_NORM2_ATTRIB;
- if(g_ActiveConfig.bUseGLSL){
- varLocation1 = OGL::ProgramShaderCache::GetAttr(0);
- varLocation2 = OGL::ProgramShaderCache::GetAttr(1);
- }
- if(varLocation1 > 0)
- glVertexAttribPointer(varLocation1, vtx_decl.normal_gl_size, VarToGL(vtx_decl.normal_gl_type), GL_TRUE, vtx_decl.stride, (void *)(VertexManager::s_pBaseBufferPointer + vtx_decl.normal_offset[1]));
- if(varLocation2 > 0)
- glVertexAttribPointer(varLocation2, vtx_decl.normal_gl_size, VarToGL(vtx_decl.normal_gl_type), GL_TRUE, vtx_decl.stride, (void *)(VertexManager::s_pBaseBufferPointer + vtx_decl.normal_offset[2]));
+ glVertexAttribPointer(SHADER_NORM1_ATTRIB, vtx_decl.normal_gl_size, VarToGL(vtx_decl.normal_gl_type), GL_TRUE, vtx_decl.stride, (void *)(VertexManager::s_pBaseBufferPointer + vtx_decl.normal_offset[1]));
+ glVertexAttribPointer(SHADER_NORM2_ATTRIB, vtx_decl.normal_gl_size, VarToGL(vtx_decl.normal_gl_type), GL_TRUE, vtx_decl.stride, (void *)(VertexManager::s_pBaseBufferPointer + vtx_decl.normal_offset[2]));
}
}
@@ -224,11 +217,7 @@ void GLVertexFormat::SetupVertexPointers() {
}
if (vtx_decl.posmtx_offset != -1) {
- GLint varLocation = SHADER_POSMTX_ATTRIB;
- if(g_ActiveConfig.bUseGLSL)
- varLocation = OGL::ProgramShaderCache::GetAttr(2);
- if(varLocation > 0)
- glVertexAttribPointer(varLocation, 4, GL_UNSIGNED_BYTE, GL_FALSE, vtx_decl.stride, (void *)(VertexManager::s_pBaseBufferPointer + vtx_decl.posmtx_offset));
+ glVertexAttribPointer(SHADER_POSMTX_ATTRIB, 4, GL_UNSIGNED_BYTE, GL_FALSE, vtx_decl.stride, (void *)(VertexManager::s_pBaseBufferPointer + vtx_decl.posmtx_offset));
}
#endif
}
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
index 10c15aae36..2f6aa691de 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
@@ -121,18 +121,10 @@ namespace OGL
// Need to get some attribute locations
if(uid.uid.vsid != 0) // We have no vertex Shader
{
- entry.program.attrLoc[0] = glGetAttribLocation(entry.program.glprogid, "rawnorm1");
- entry.program.attrLoc[1] = glGetAttribLocation(entry.program.glprogid, "rawnorm2");
- entry.program.attrLoc[2] = glGetAttribLocation(entry.program.glprogid, "fposmtx");
- if(entry.program.attrLoc[0] > 0)
- glEnableVertexAttribArray(entry.program.attrLoc[0]);
- if(entry.program.attrLoc[1] > 0)
- glEnableVertexAttribArray(entry.program.attrLoc[1]);
- if(entry.program.attrLoc[2] > 0)
- glEnableVertexAttribArray(entry.program.attrLoc[2]);
+ glBindAttribLocation(entry.program.glprogid, SHADER_NORM1_ATTRIB, "rawnorm1");
+ glBindAttribLocation(entry.program.glprogid, SHADER_NORM2_ATTRIB, "rawnorm2");
+ glBindAttribLocation(entry.program.glprogid, SHADER_POSMTX_ATTRIB, "fposmtx");
}
- else
- entry.program.attrLoc[0] = entry.program.attrLoc[1] = entry.program.attrLoc[2] = 0;
pshaders[ShaderPair] = entry;
@@ -154,10 +146,6 @@ namespace OGL
GLuint ProgramShaderCache::GetCurrentProgram(void) { return CurrentProgram; }
- GLint ProgramShaderCache::GetAttr(int num)
- {
- return pshaders[CurrentShaderProgram].program.attrLoc[num];
- }
PROGRAMSHADER ProgramShaderCache::GetShaderProgram(void)
{
return pshaders[CurrentShaderProgram].program;
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.h b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.h
index 26d5735ce6..4830f28849 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.h
+++ b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.h
@@ -72,7 +72,6 @@ struct PROGRAMSHADER
PROGRAMSHADER() : glprogid(0), vsid(0), psid(0){}
GLuint glprogid; // opengl program id
GLuint vsid, psid;
- GLint attrLoc[3];
GLint UniformLocations[NUM_UNIFORMS];
};
@@ -100,7 +99,6 @@ class ProgramShaderCache
public:
static PROGRAMSHADER GetShaderProgram(void);
- static GLint GetAttr(int num);
static void SetBothShaders(GLuint PS, GLuint VS);
static GLuint GetCurrentProgram(void);