From 66cec85a9a1e95c8fa76ac6ebf9f718cfafdf5bf Mon Sep 17 00:00:00 2001 From: Arisotura Date: Thu, 10 Dec 2020 19:12:08 +0100 Subject: GPU: forward BG0HOFS to internal rendering engine register for 3D layer scroll (only when the rendering engine is enabled). fixes #840 thank you RSDuck and Hydr8gon for your insight into this. --- src/GPU_OpenGL.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/GPU_OpenGL.cpp') diff --git a/src/GPU_OpenGL.cpp b/src/GPU_OpenGL.cpp index 359e9cd..0c6cf00 100644 --- a/src/GPU_OpenGL.cpp +++ b/src/GPU_OpenGL.cpp @@ -36,6 +36,7 @@ int ScreenH, ScreenW; GLuint CompShader[1][3]; GLuint CompScaleLoc[1]; +GLuint Comp3DXPosLoc[1]; GLuint CompVertexBufferID; GLuint CompVertexArrayID; @@ -64,6 +65,7 @@ bool Init() return false; CompScaleLoc[i] = glGetUniformLocation(CompShader[i][2], "u3DScale"); + Comp3DXPosLoc[i] = glGetUniformLocation(CompShader[i][2], "u3DXPos"); glUseProgram(CompShader[i][2]); uni_id = glGetUniformLocation(CompShader[i][2], "ScreenTex"); @@ -180,6 +182,9 @@ void RenderFrame() OpenGL::UseShaderProgram(CompShader[0]); glUniform1ui(CompScaleLoc[0], Scale); + // TODO: support setting this midframe, if ever needed + glUniform1i(Comp3DXPosLoc[0], ((int)GPU3D::RenderXPos << 23) >> 23); + int frontbuf = GPU::FrontBuffer; glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, CompScreenInputTex); -- cgit v1.2.3