summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
diff options
context:
space:
mode:
authorCourtney Goeltzenleuchter <[email protected]>2013-11-13 16:24:56 -0700
committerIan Romanick <[email protected]>2014-01-20 11:31:50 -0800
commitd4dc359875126c432e46e3d1da8610a066d21302 (patch)
tree192fb0ceaebd5faf767c03c2540f3703091d03b0 /src/mesa/main
parent0e60d85029105ffdfd325186813b65232c5d2725 (diff)
mesa: Convert gl_viewport_attrib::Near and ::Far to double
v4: Split out from a single megapatch. Suggested by Ken. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/main')
-rw-r--r--src/mesa/main/get.c5
-rw-r--r--src/mesa/main/get_hash_params.py2
-rw-r--r--src/mesa/main/mtypes.h2
-rw-r--r--src/mesa/main/viewport.c4
4 files changed, 9 insertions, 4 deletions
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 2189b3173e7..ad6096baac8 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -697,6 +697,11 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu
v->value_int_4[3] = ctx->Viewport.Height;
break;
+ case GL_DEPTH_RANGE:
+ v->value_double_2[0] = ctx->Viewport.Near;
+ v->value_double_2[1] = ctx->Viewport.Far;
+ break;
+
case GL_ACTIVE_STENCIL_FACE_EXT:
v->value_enum = ctx->Stencil.ActiveFace ? GL_BACK : GL_FRONT;
break;
diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py
index 6fcd4f622cd..8e2fdaec956 100644
--- a/src/mesa/main/get_hash_params.py
+++ b/src/mesa/main/get_hash_params.py
@@ -11,7 +11,7 @@ descriptor=[
[ "DEPTH_BITS", "BUFFER_INT(Visual.depthBits), extra_new_buffers" ],
[ "DEPTH_CLEAR_VALUE", "CONTEXT_FIELD(Depth.Clear, TYPE_DOUBLEN), NO_EXTRA" ],
[ "DEPTH_FUNC", "CONTEXT_ENUM(Depth.Func), NO_EXTRA" ],
- [ "DEPTH_RANGE", "CONTEXT_FIELD(Viewport.Near, TYPE_FLOATN_2), NO_EXTRA" ],
+ [ "DEPTH_RANGE", "LOC_CUSTOM, TYPE_DOUBLEN_2, 0, NO_EXTRA" ],
[ "DEPTH_TEST", "CONTEXT_BOOL(Depth.Test), NO_EXTRA" ],
[ "DEPTH_WRITEMASK", "CONTEXT_BOOL(Depth.Mask), NO_EXTRA" ],
[ "DITHER", "CONTEXT_BOOL(Color.DitherFlag), NO_EXTRA" ],
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 9dbfa6bfbc6..1d5dd4816a7 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -1434,7 +1434,7 @@ struct gl_viewport_attrib
{
GLint X, Y; /**< position */
GLsizei Width, Height; /**< size */
- GLfloat Near, Far; /**< Depth buffer range */
+ GLdouble Near, Far; /**< Depth buffer range */
GLmatrix _WindowMap; /**< Mapping transformation as a matrix. */
};
diff --git a/src/mesa/main/viewport.c b/src/mesa/main/viewport.c
index 3bc89ab030a..8eede518f9d 100644
--- a/src/mesa/main/viewport.c
+++ b/src/mesa/main/viewport.c
@@ -127,8 +127,8 @@ _mesa_DepthRange(GLclampd nearval, GLclampd farval)
ctx->Viewport.Far == farval)
return;
- ctx->Viewport.Near = (GLfloat) CLAMP(nearval, 0.0, 1.0);
- ctx->Viewport.Far = (GLfloat) CLAMP(farval, 0.0, 1.0);
+ ctx->Viewport.Near = CLAMP(nearval, 0.0, 1.0);
+ ctx->Viewport.Far = CLAMP(farval, 0.0, 1.0);
ctx->NewState |= _NEW_VIEWPORT;
#if 1