Re: [Mesa-dev] [PATCH v2 4/7] mesa: add support for GL_AMD_depth_clamp_separate tokens

2018-08-22 Thread Marek Olšák
Reviewed-by: Marek Olšák 

Marek
On Wed, Aug 22, 2018 at 4:32 PM Sagar Ghuge  wrote:
>
> _mesa_set_enable() and _mesa_IsEnabled() extended to accept new two
> tokens GL_DEPTH_CLAMP_NEAR_AMD and GL_DEPTH_CLAMP_FAR_AMD.
>
> v2: Remove unnecessary parentheses (Marek Olsak)
>
> Signed-off-by: Sagar Ghuge 
> ---
>  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..042b9d1f0a 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;
> +
>case GL_FRAGMENT_SHADER_ATI:
>   if (ctx->API != API_OPENGL_COMPAT)
>  goto invalid_enum_error;
> --
> 2.17.1
>
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH v2 4/7] mesa: add support for GL_AMD_depth_clamp_separate tokens

2018-08-22 Thread Sagar Ghuge
_mesa_set_enable() and _mesa_IsEnabled() extended to accept new two
tokens GL_DEPTH_CLAMP_NEAR_AMD and GL_DEPTH_CLAMP_FAR_AMD.

v2: Remove unnecessary parentheses (Marek Olsak)

Signed-off-by: Sagar Ghuge 
---
 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..042b9d1f0a 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;
+
   case GL_FRAGMENT_SHADER_ATI:
  if (ctx->API != API_OPENGL_COMPAT)
 goto invalid_enum_error;
-- 
2.17.1

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev