[Mesa-dev] [PATCH 4/7] mesa: add support for GL_AMD_depth_clamp_separate tokens
Marek Olšák
maraeo at gmail.com
Wed Aug 22 04:28:55 UTC 2018
On Tue, Aug 21, 2018 at 8:02 PM Sagar Ghuge <sagar.ghuge at intel.com> wrote:
>
> _mesa_set_enable() and _mesa_IsEnabled() extended to accept new two
> tokens GL_DEPTH_CLAMP_NEAR_AMD and GL_DEPTH_CLAMP_FAR_AMD.
>
> Signed-off-by: Sagar Ghuge <sagar.ghuge at intel.com>
> ---
> src/mesa/main/enable.c | 36 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
>
> diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
> index 4bde9052bc..66e224676a 100644
> --- a/src/mesa/main/enable.c
> +++ b/src/mesa/main/enable.c
> @@ -1017,6 +1017,30 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
> ctx->Transform.DepthClampFar = state;
> break;
>
> + case GL_DEPTH_CLAMP_NEAR_AMD:
> + if (!_mesa_is_desktop_gl(ctx))
> + goto invalid_enum_error;
> + CHECK_EXTENSION(AMD_depth_clamp_separate, cap);
> + if (ctx->Transform.DepthClampNear == state)
> + return;
> + FLUSH_VERTICES(ctx, ctx->DriverFlags.NewDepthClamp ? 0 :
> + _NEW_TRANSFORM);
> + ctx->NewDriverState |= ctx->DriverFlags.NewDepthClamp;
> + ctx->Transform.DepthClampNear = state;
> + break;
> +
> + case GL_DEPTH_CLAMP_FAR_AMD:
> + if (!_mesa_is_desktop_gl(ctx))
> + goto invalid_enum_error;
> + CHECK_EXTENSION(AMD_depth_clamp_separate, cap);
> + if (ctx->Transform.DepthClampFar == state)
> + return;
> + FLUSH_VERTICES(ctx, ctx->DriverFlags.NewDepthClamp ? 0 :
> + _NEW_TRANSFORM);
> + ctx->NewDriverState |= ctx->DriverFlags.NewDepthClamp;
> + ctx->Transform.DepthClampFar = state;
> + break;
> +
> case GL_FRAGMENT_SHADER_ATI:
> if (ctx->API != API_OPENGL_COMPAT)
> goto invalid_enum_error;
> @@ -1689,6 +1713,18 @@ _mesa_IsEnabled( GLenum cap )
> return (ctx->Transform.DepthClampNear ||
> ctx->Transform.DepthClampFar);
>
> + case GL_DEPTH_CLAMP_NEAR_AMD:
> + if (!_mesa_is_desktop_gl(ctx))
> + goto invalid_enum_error;
> + CHECK_EXTENSION(AMD_depth_clamp_separate);
> + return (ctx->Transform.DepthClampNear);
> +
> + case GL_DEPTH_CLAMP_FAR_AMD:
> + if (!_mesa_is_desktop_gl(ctx))
> + goto invalid_enum_error;
> + CHECK_EXTENSION(AMD_depth_clamp_separate);
> + return (ctx->Transform.DepthClampFar);
I'm not really digging these unnecessary parentheses.
Marek
> +
> case GL_FRAGMENT_SHADER_ATI:
> if (ctx->API != API_OPENGL_COMPAT)
> goto invalid_enum_error;
> --
> 2.17.1
>
More information about the mesa-dev
mailing list