aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/main/viewport.c
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2016-09-16 13:52:18 -0400
committerIlia Mirkin <[email protected]>2016-09-22 20:42:30 -0400
commit0f01aa803332760079bde36218a3e884f2613db6 (patch)
treecd10a19c22f7bd2e2109b8069572de27591b0f4a /src/mesa/main/viewport.c
parent381b15dc20a42edd1125a5a47423a71d89064f7a (diff)
mesa: add implementations for new float depth functions
This just up-converts them to doubles. Not great, but this is what all the other variants also do. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
Diffstat (limited to 'src/mesa/main/viewport.c')
-rw-r--r--src/mesa/main/viewport.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/mesa/main/viewport.c b/src/mesa/main/viewport.c
index f6eaa0f30a9..f59723fad95 100644
--- a/src/mesa/main/viewport.c
+++ b/src/mesa/main/viewport.c
@@ -333,7 +333,24 @@ _mesa_DepthRangeArrayv(GLuint first, GLsizei count, const GLclampd *v)
void GLAPIENTRY
_mesa_DepthRangeArrayfvOES(GLuint first, GLsizei count, const GLfloat *v)
{
+ int i;
+ GET_CURRENT_CONTEXT(ctx);
+
+ if (MESA_VERBOSE & VERBOSE_API)
+ _mesa_debug(ctx, "glDepthRangeArrayfv %d %d\n", first, count);
+ if ((first + count) > ctx->Const.MaxViewports) {
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glDepthRangeArrayfv: first (%d) + count (%d) >= MaxViewports (%d)",
+ first, count, ctx->Const.MaxViewports);
+ return;
+ }
+
+ for (i = 0; i < count; i++)
+ set_depth_range_no_notify(ctx, i + first, v[i * 2], v[i * 2 + 1]);
+
+ if (ctx->Driver.DepthRange)
+ ctx->Driver.DepthRange(ctx);
}
/**
@@ -367,7 +384,7 @@ _mesa_DepthRangeIndexed(GLuint index, GLclampd nearval, GLclampd farval)
void GLAPIENTRY
_mesa_DepthRangeIndexedfOES(GLuint index, GLfloat nearval, GLfloat farval)
{
-
+ _mesa_DepthRangeIndexed(index, nearval, farval);
}
/**