Mesa (master): ast_to_hir: Reject embedded structure definitions in GLSL ES 1.00.

Kenneth Graunke kwg at kemper.freedesktop.org
Wed Sep 8 00:46:14 UTC 2010


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

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Aug 16 14:02:25 2010 -0700

ast_to_hir: Reject embedded structure definitions in GLSL ES 1.00.

---

 src/glsl/ast_to_hir.cpp |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index e767c58..9e639ef 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -2715,6 +2715,15 @@ ast_struct_specifier::hir(exec_list *instructions,
 
       decl_list->type->specifier->hir(instructions, state);
 
+      /* Section 10.9 of the GLSL ES 1.00 specification states that
+       * embedded structure definitions have been removed from the language.
+       */
+      if (state->es_shader && decl_list->type->specifier->structure != NULL) {
+	 YYLTYPE loc = this->get_location();
+	 _mesa_glsl_error(&loc, state, "Embedded structure definitions are "
+			  "not allowed in GLSL ES 1.00.");
+      }
+
       const glsl_type *decl_type =
 	 decl_list->type->specifier->glsl_type(& type_name, state);
 




More information about the mesa-commit mailing list