mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 17:48:10 +02:00
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 <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
0e60d85029
commit
d4dc359875
6 changed files with 13 additions and 8 deletions
|
|
@ -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;
|
v->value_int_4[3] = ctx->Viewport.Height;
|
||||||
break;
|
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:
|
case GL_ACTIVE_STENCIL_FACE_EXT:
|
||||||
v->value_enum = ctx->Stencil.ActiveFace ? GL_BACK : GL_FRONT;
|
v->value_enum = ctx->Stencil.ActiveFace ? GL_BACK : GL_FRONT;
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ descriptor=[
|
||||||
[ "DEPTH_BITS", "BUFFER_INT(Visual.depthBits), extra_new_buffers" ],
|
[ "DEPTH_BITS", "BUFFER_INT(Visual.depthBits), extra_new_buffers" ],
|
||||||
[ "DEPTH_CLEAR_VALUE", "CONTEXT_FIELD(Depth.Clear, TYPE_DOUBLEN), NO_EXTRA" ],
|
[ "DEPTH_CLEAR_VALUE", "CONTEXT_FIELD(Depth.Clear, TYPE_DOUBLEN), NO_EXTRA" ],
|
||||||
[ "DEPTH_FUNC", "CONTEXT_ENUM(Depth.Func), 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_TEST", "CONTEXT_BOOL(Depth.Test), NO_EXTRA" ],
|
||||||
[ "DEPTH_WRITEMASK", "CONTEXT_BOOL(Depth.Mask), NO_EXTRA" ],
|
[ "DEPTH_WRITEMASK", "CONTEXT_BOOL(Depth.Mask), NO_EXTRA" ],
|
||||||
[ "DITHER", "CONTEXT_BOOL(Color.DitherFlag), NO_EXTRA" ],
|
[ "DITHER", "CONTEXT_BOOL(Color.DitherFlag), NO_EXTRA" ],
|
||||||
|
|
|
||||||
|
|
@ -1434,7 +1434,7 @@ struct gl_viewport_attrib
|
||||||
{
|
{
|
||||||
GLint X, Y; /**< position */
|
GLint X, Y; /**< position */
|
||||||
GLsizei Width, Height; /**< size */
|
GLsizei Width, Height; /**< size */
|
||||||
GLfloat Near, Far; /**< Depth buffer range */
|
GLdouble Near, Far; /**< Depth buffer range */
|
||||||
GLmatrix _WindowMap; /**< Mapping transformation as a matrix. */
|
GLmatrix _WindowMap; /**< Mapping transformation as a matrix. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -127,8 +127,8 @@ _mesa_DepthRange(GLclampd nearval, GLclampd farval)
|
||||||
ctx->Viewport.Far == farval)
|
ctx->Viewport.Far == farval)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ctx->Viewport.Near = (GLfloat) CLAMP(nearval, 0.0, 1.0);
|
ctx->Viewport.Near = CLAMP(nearval, 0.0, 1.0);
|
||||||
ctx->Viewport.Far = (GLfloat) CLAMP(farval, 0.0, 1.0);
|
ctx->Viewport.Far = CLAMP(farval, 0.0, 1.0);
|
||||||
ctx->NewState |= _NEW_VIEWPORT;
|
ctx->NewState |= _NEW_VIEWPORT;
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
|
|
|
||||||
|
|
@ -1111,14 +1111,14 @@ _math_matrix_translate( GLmatrix *mat, GLfloat x, GLfloat y, GLfloat z )
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
_math_matrix_viewport(GLmatrix *m, GLint x, GLint y, GLint width, GLint height,
|
_math_matrix_viewport(GLmatrix *m, GLint x, GLint y, GLint width, GLint height,
|
||||||
GLfloat zNear, GLfloat zFar, GLfloat depthMax)
|
GLdouble zNear, GLdouble zFar, GLdouble depthMax)
|
||||||
{
|
{
|
||||||
m->m[MAT_SX] = (GLfloat) width / 2.0F;
|
m->m[MAT_SX] = (GLfloat) width / 2.0F;
|
||||||
m->m[MAT_TX] = m->m[MAT_SX] + x;
|
m->m[MAT_TX] = m->m[MAT_SX] + x;
|
||||||
m->m[MAT_SY] = (GLfloat) height / 2.0F;
|
m->m[MAT_SY] = (GLfloat) height / 2.0F;
|
||||||
m->m[MAT_TY] = m->m[MAT_SY] + y;
|
m->m[MAT_TY] = m->m[MAT_SY] + y;
|
||||||
m->m[MAT_SZ] = depthMax * ((zFar - zNear) / 2.0F);
|
m->m[MAT_SZ] = (GLfloat) (depthMax * ((zFar - zNear) / 2.0));
|
||||||
m->m[MAT_TZ] = depthMax * ((zFar - zNear) / 2.0F + zNear);
|
m->m[MAT_TZ] = (GLfloat) (depthMax * ((zFar - zNear) / 2.0 + zNear));
|
||||||
m->flags = MAT_FLAG_GENERAL_SCALE | MAT_FLAG_TRANSLATION;
|
m->flags = MAT_FLAG_GENERAL_SCALE | MAT_FLAG_TRANSLATION;
|
||||||
m->type = MATRIX_3D_NO_ROT;
|
m->type = MATRIX_3D_NO_ROT;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -123,7 +123,7 @@ _math_matrix_frustum( GLmatrix *mat,
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
_math_matrix_viewport(GLmatrix *m, GLint x, GLint y, GLint width, GLint height,
|
_math_matrix_viewport(GLmatrix *m, GLint x, GLint y, GLint width, GLint height,
|
||||||
GLfloat zNear, GLfloat zFar, GLfloat depthMax);
|
GLdouble zNear, GLdouble zFar, GLdouble depthMax);
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
_math_matrix_set_identity( GLmatrix *dest );
|
_math_matrix_set_identity( GLmatrix *dest );
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue