Mesa (10.3): glsl: Add gl_MaxViewports to available builtin constants

Emil Velikov evelikov at kemper.freedesktop.org
Sun Dec 21 19:11:55 UTC 2014


Module: Mesa
Branch: 10.3
Commit: d81e14d29f514c91d36c4ec05b7466bb2e85b06a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d81e14d29f514c91d36c4ec05b7466bb2e85b06a

Author: Maxence Le Doré <maxence.ledore at gmail.com>
Date:   Wed Dec 10 08:09:24 2014 +0100

glsl: Add gl_MaxViewports to available builtin constants

It seems to have been forgotten during viewports array implementation time.

Cc: "10.4 10.3" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
(cherry picked from commit 19e05d68986690cfcdd49de6cfb87d88ad54cd58)

---

 src/glsl/builtin_variables.cpp  |    4 ++++
 src/glsl/glsl_parser_extras.cpp |    3 +++
 src/glsl/glsl_parser_extras.h   |    3 +++
 3 files changed, 10 insertions(+)

diff --git a/src/glsl/builtin_variables.cpp b/src/glsl/builtin_variables.cpp
index 5b6f4ae..5f29420 100644
--- a/src/glsl/builtin_variables.cpp
+++ b/src/glsl/builtin_variables.cpp
@@ -727,6 +727,10 @@ builtin_variable_generator::generate_constants()
       add_const("gl_MaxCombinedImageUniforms",
                 state->Const.MaxCombinedImageUniforms);
    }
+
+   if (state->is_version(410, 0) ||
+       state->ARB_viewport_array_enable)
+      add_const("gl_MaxViewports", state->Const.MaxViewports);
 }
 
 
diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp
index 490c3c8..9ab9301 100644
--- a/src/glsl/glsl_parser_extras.cpp
+++ b/src/glsl/glsl_parser_extras.cpp
@@ -134,6 +134,9 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx,
    this->Const.MaxFragmentImageUniforms = ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxImageUniforms;
    this->Const.MaxCombinedImageUniforms = ctx->Const.MaxCombinedImageUniforms;
 
+   /* ARB_viewport_array */
+   this->Const.MaxViewports = ctx->Const.MaxViewports;
+
    this->current_function = NULL;
    this->toplevel_ir = NULL;
    this->found_return = false;
diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h
index c8b9478..3bd1fa8 100644
--- a/src/glsl/glsl_parser_extras.h
+++ b/src/glsl/glsl_parser_extras.h
@@ -341,6 +341,9 @@ struct _mesa_glsl_parse_state {
       unsigned MaxGeometryImageUniforms;
       unsigned MaxFragmentImageUniforms;
       unsigned MaxCombinedImageUniforms;
+
+      /* ARB_viewport_array */
+      unsigned MaxViewports;
    } Const;
 
    /**




More information about the mesa-commit mailing list