diff --git a/gfx/common/gl3_common.h b/gfx/common/gl3_common.h index d24943c2d3..2ef4e6769b 100644 --- a/gfx/common/gl3_common.h +++ b/gfx/common/gl3_common.h @@ -153,8 +153,6 @@ void gl3_framebuffer_copy_partial( GLuint image, float rx, float ry); -void gl3_build_default_matrix(float *data); - uint32_t gl3_get_cross_compiler_target_version(void); RETRO_END_DECLS diff --git a/gfx/drivers/gl3.c b/gfx/drivers/gl3.c index e6c98d745a..f2cfe024b6 100644 --- a/gfx/drivers/gl3.c +++ b/gfx/drivers/gl3.c @@ -57,26 +57,6 @@ static const struct video_ortho gl3_default_ortho = {0, 1, 0, 1, -1, 1}; -void gl3_build_default_matrix(float *data) -{ - data[0] = 2.0f; - data[1] = 0.0f; - data[2] = 0.0f; - data[3] = 0.0f; - data[4] = 0.0f; - data[5] = 2.0f; - data[6] = 0.0f; - data[7] = 0.0f; - data[8] = 0.0f; - data[9] = 0.0f; - data[10] = 2.0f; - data[11] = 0.0f; - data[12] = -1.0f; - data[13] = -1.0f; - data[14] = 0.0f; - data[15] = 1.0f; -} - void gl3_framebuffer_copy( GLuint fb_id, GLuint quad_program, @@ -98,8 +78,12 @@ void gl3_framebuffer_copy( glUseProgram(quad_program); if (flat_ubo_vertex >= 0) { - float mvp[16]; - gl3_build_default_matrix(mvp); + static float mvp[16] = { + 2.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 2.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 2.0f, 0.0f, + -1.0f,-1.0f, 0.0f, 1.0f + }; glUniform4fv(flat_ubo_vertex, 4, mvp); } @@ -153,8 +137,12 @@ void gl3_framebuffer_copy_partial( glUseProgram(quad_program); if (flat_ubo_vertex >= 0) { - float mvp[16]; - gl3_build_default_matrix(mvp); + static float mvp[16] = { + 2.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 2.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 2.0f, 0.0f, + -1.0f,-1.0f, 0.0f, 1.0f + }; glUniform4fv(flat_ubo_vertex, 4, mvp); } glDisable(GL_CULL_FACE); diff --git a/gfx/drivers_shader/shader_gl3.cpp b/gfx/drivers_shader/shader_gl3.cpp index 49e9d70d00..aac9322151 100644 --- a/gfx/drivers_shader/shader_gl3.cpp +++ b/gfx/drivers_shader/shader_gl3.cpp @@ -1400,8 +1400,25 @@ void Pass::build_semantics(uint8_t *buffer, memcpy(buffer + offset, mvp, sizeof(float) * 16); else - gl3_build_default_matrix(reinterpret_cast( - buffer + offset)); + { + float *mvp = reinterpret_cast(buffer + offset); + mvp[0] = 2.0f; + mvp[1] = 0.0f; + mvp[2] = 0.0f; + mvp[3] = 0.0f; + mvp[4] = 0.0f; + mvp[5] = 2.0f; + mvp[6] = 0.0f; + mvp[7] = 0.0f; + mvp[8] = 0.0f; + mvp[9] = 0.0f; + mvp[10] = 2.0f; + mvp[11] = 0.0f; + mvp[12] = -1.0f; + mvp[13] = -1.0f; + mvp[14] = 0.0f; + mvp[15] = 1.0f; + } } if (reflection.semantics[SLANG_SEMANTIC_MVP].push_constant) @@ -1413,8 +1430,25 @@ void Pass::build_semantics(uint8_t *buffer, memcpy(push_constant_buffer.data() + offset, mvp, sizeof(float) * 16); else - gl3_build_default_matrix(reinterpret_cast( - push_constant_buffer.data() + offset)); + { + float *mvp = reinterpret_cast(push_constant_buffer.data() + offset); + mvp[0] = 2.0f; + mvp[1] = 0.0f; + mvp[2] = 0.0f; + mvp[3] = 0.0f; + mvp[4] = 0.0f; + mvp[5] = 2.0f; + mvp[6] = 0.0f; + mvp[7] = 0.0f; + mvp[8] = 0.0f; + mvp[9] = 0.0f; + mvp[10] = 2.0f; + mvp[11] = 0.0f; + mvp[12] = -1.0f; + mvp[13] = -1.0f; + mvp[14] = 0.0f; + mvp[15] = 1.0f; + } } /* Output information */