Correct viewport rounding mismatch
authorMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 4 Oct 2019 18:30:16 +0000 (11:30 -0700)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 4 Oct 2019 21:16:24 +0000 (17:16 -0400)
Components: OpenGL
VK-GL-CTS Issue: 2031

Affects:
dEQP-GLES2.functional.clip_control.viewport_bounds

Change-Id: Ibe514741b19bc931ee304dda7cda462b08129816

modules/gles2/functional/es2fClipControlTests.cpp

index 2145cd2..ab561b5 100644 (file)
@@ -848,10 +848,10 @@ public:
                for (size_t orig = 0; orig < DE_LENGTH_OF_ARRAY(origins); orig++)
                {
                        //Set viewport to A = (x, y, w, h) = (1/8, 1/4, 1/2, 1/4) in terms of proportional window size
-                       gl.viewport(static_cast<glw::GLint>(0.125f * static_cast<float>(windowW)),
-                                               static_cast<glw::GLint>(0.25f * static_cast<float>(windowH)),
-                                               static_cast<glw::GLsizei>(0.5f * static_cast<float>(windowW)),
-                                               static_cast<glw::GLsizei>(0.25f * static_cast<float>(windowH)));
+                       gl.viewport(static_cast<glw::GLint>((0.125f * static_cast<float>(windowW))+0.5f),
+                                               static_cast<glw::GLint>((0.25f * static_cast<float>(windowH))+0.5f),
+                                               static_cast<glw::GLsizei>((0.5f * static_cast<float>(windowW))+0.5f),
+                                               static_cast<glw::GLsizei>((0.25f * static_cast<float>(windowH))+0.5f));
 
                        //Set ClipControl(<origin>, NEGATIVE_ONE_TO_ONE)
                        cc.clipControl(origins[orig], GL_NEGATIVE_ONE_TO_ONE);