convert_float_int fix
The convert_float_int was not scaling the [0,1] value to the full
1.31 fixed-point range before clamping the value.
Fixes all failures in:
dEQP-GLES3.functional.state_query.floats*
Change-Id: Ic558eb45f1f351d3c30a0a5047a1b252edb56bd0
Reviewed-on: https://swiftshader-review.googlesource.com/14968
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/OpenGL/libGLESv2/libGLESv3.cpp b/src/OpenGL/libGLESv2/libGLESv3.cpp
index 6c7f7a8..7c28ee5 100644
--- a/src/OpenGL/libGLESv2/libGLESv3.cpp
+++ b/src/OpenGL/libGLESv2/libGLESv3.cpp
@@ -1898,7 +1898,7 @@
{
if(target == GL_DEPTH_RANGE || target == GL_COLOR_CLEAR_VALUE || target == GL_DEPTH_CLEAR_VALUE || target == GL_BLEND_COLOR)
{
- data[i] = convert_float_int(floatParams[i]);
+ data[i] = convert_float_fixed(floatParams[i]);
}
else
{
@@ -3243,7 +3243,7 @@
{
if(pname == GL_DEPTH_RANGE || pname == GL_COLOR_CLEAR_VALUE || pname == GL_DEPTH_CLEAR_VALUE || pname == GL_BLEND_COLOR)
{
- data[i] = (GLint64)(convert_float_int(floatParams[i]));
+ data[i] = (GLint64)(convert_float_fixed(floatParams[i]));
}
else
{
@@ -3326,7 +3326,7 @@
{
if(target == GL_DEPTH_RANGE || target == GL_COLOR_CLEAR_VALUE || target == GL_DEPTH_CLEAR_VALUE || target == GL_BLEND_COLOR)
{
- data[i] = (GLint64)(convert_float_int(floatParams[i]));
+ data[i] = (GLint64)(convert_float_fixed(floatParams[i]));
}
else
{