Expand Up
@@ -167,11 +167,10 @@ void Init()
s_srcTextureWidth = 0 ;
s_srcTextureHeight = 0 ;
glActiveTexture (GL_TEXTURE0 + 9 );
glGenTextures (1 , &s_srcTexture);
glBindTexture (GL_TEXTURE_RECTANGLE_ARB, s_srcTexture);
glTexParameteri (GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri (GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glBindTexture (GL_TEXTURE_RECTANGLE_ARB, 0 );
glBindTexture (getFbType (), s_srcTexture);
glTexParameteri (getFbType (), GL_TEXTURE_MAX_LEVEL, 0 );
CreatePrograms ();
}
Expand Down
Expand Up
@@ -213,17 +212,17 @@ void EncodeToRamUsingShader(GLuint srcTexture, const TargetRectangle& sourceRc,
// set source texture
glActiveTexture (GL_TEXTURE0+9 );
glBindTexture (GL_TEXTURE_RECTANGLE , srcTexture);
glBindTexture (getFbType () , srcTexture);
if (linearFilter)
{
glTexParameteri (GL_TEXTURE_RECTANGLE , GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri (GL_TEXTURE_RECTANGLE , GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri (getFbType () , GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri (getFbType () , GL_TEXTURE_MIN_FILTER, GL_LINEAR);
}
else
{
glTexParameteri (GL_TEXTURE_RECTANGLE , GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri (GL_TEXTURE_RECTANGLE , GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri (getFbType () , GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri (getFbType () , GL_TEXTURE_MIN_FILTER, GL_NEAREST);
}
GL_REPORT_ERRORD ();
Expand Down
Expand Up
@@ -251,8 +250,6 @@ void EncodeToRamUsingShader(GLuint srcTexture, const TargetRectangle& sourceRc,
glBindVertexArray ( s_encode_VAO );
glDrawArrays (GL_TRIANGLE_STRIP, 0 , 4 );
glBindTexture (GL_TEXTURE_RECTANGLE_ARB, 0 );
GL_REPORT_ERRORD ();
// .. and then read back the results.
Expand Down
Expand Up
@@ -386,17 +383,17 @@ void DecodeToTexture(u32 xfbAddr, int srcWidth, int srcHeight, GLuint destRender
// activate source texture
// set srcAddr as data for source texture
glActiveTexture (GL_TEXTURE0+9 );
glBindTexture (GL_TEXTURE_RECTANGLE , s_srcTexture);
glBindTexture (getFbType () , s_srcTexture);
// TODO: make this less slow. (How?)
if ((GLsizei)s_srcTextureWidth == (GLsizei)srcFmtWidth && (GLsizei)s_srcTextureHeight == (GLsizei)srcHeight)
{
glTexSubImage2D (GL_TEXTURE_RECTANGLE , 0 ,0 ,0 ,s_srcTextureWidth, s_srcTextureHeight,
glTexSubImage2D (getFbType () , 0 ,0 ,0 ,s_srcTextureWidth, s_srcTextureHeight,
GL_BGRA, GL_UNSIGNED_BYTE, srcAddr);
}
else
{
glTexImage2D (GL_TEXTURE_RECTANGLE , 0 , GL_RGBA8, (GLsizei)srcFmtWidth, (GLsizei)srcHeight,
glTexImage2D (getFbType () , 0 , GL_RGBA8, (GLsizei)srcFmtWidth, (GLsizei)srcHeight,
0 , GL_BGRA, GL_UNSIGNED_BYTE, srcAddr);
s_srcTextureWidth = (GLsizei)srcFmtWidth;
s_srcTextureHeight = (GLsizei)srcHeight;
Expand Down
Expand Up
@@ -431,9 +428,6 @@ void DecodeToTexture(u32 xfbAddr, int srcWidth, int srcHeight, GLuint destRender
GL_REPORT_ERRORD ();
// reset state
glBindTexture (GL_TEXTURE_RECTANGLE_ARB, 0 );
VertexShaderManager::SetViewportChanged ();
FramebufferManager::SetFramebuffer (0 );
Expand Down