mesa: Branch 'master' - 2 commits

Brian Paul brianp at kemper.freedesktop.org
Wed Apr 11 03:58:25 UTC 2007


 src/mesa/shader/slang/slang_codegen.c |    9 ++++++---
 src/mesa/shader/slang/slang_compile.c |   12 ++++++++++--
 2 files changed, 16 insertions(+), 5 deletions(-)

New commits:
diff-tree ba876be0c0711f089c0cde9739f349b137430770 (from 319ce38fa4984d4cfe8575126bb0d7aa10ef27a1)
Author: Brian <brian at yutani.localnet.net>
Date:   Tue Apr 10 21:51:27 2007 -0600

    fix/work-around allocation bugs for non-square matrices

diff --git a/src/mesa/shader/slang/slang_codegen.c b/src/mesa/shader/slang/slang_codegen.c
index ee82a10..fe6b615 100644
--- a/src/mesa/shader/slang/slang_codegen.c
+++ b/src/mesa/shader/slang/slang_codegen.c
@@ -144,14 +144,17 @@ _slang_sizeof_type_specifier(const slang
    case SLANG_SPEC_MAT4:
       return 4 * 4;
    case SLANG_SPEC_MAT23:
+      return 2 * 4; /* special case */
    case SLANG_SPEC_MAT32:
-      return 2 * 3;
+      return 3 * 4; /* special case: 3 registers (columns), not two */
    case SLANG_SPEC_MAT24:
-   case SLANG_SPEC_MAT42:
       return 2 * 4;
+   case SLANG_SPEC_MAT42:
+      return 4 * 4; /* special case: 4 registers (columns), not two */
    case SLANG_SPEC_MAT34:
-   case SLANG_SPEC_MAT43:
       return 3 * 4;
+   case SLANG_SPEC_MAT43:
+      return 4 * 4; /* special case: 4 registers (columns), not two */
    case SLANG_SPEC_SAMPLER1D:
    case SLANG_SPEC_SAMPLER2D:
    case SLANG_SPEC_SAMPLER3D:
diff-tree 319ce38fa4984d4cfe8575126bb0d7aa10ef27a1 (from 64700be4e11ff735f0530812f6f319628e4b33c5)
Author: Brian <brian at yutani.localnet.net>
Date:   Tue Apr 10 21:50:53 2007 -0600

    update SLANG version test

diff --git a/src/mesa/shader/slang/slang_compile.c b/src/mesa/shader/slang/slang_compile.c
index 3539d71..d3f6986 100644
--- a/src/mesa/shader/slang/slang_compile.c
+++ b/src/mesa/shader/slang/slang_compile.c
@@ -1904,14 +1904,22 @@ compile_with_grammar(grammar id, const c
    byte *prod;
    GLuint size, start, version;
    slang_string preprocessed;
+   int maxVersion;
+
+#if FEATURE_ARB_shading_language_120
+   maxVersion = 120;
+#else
+   maxVersion = 110;
+#endif
 
    /* First retrieve the version number. */
    if (!_slang_preprocess_version(source, &version, &start, infolog))
       return GL_FALSE;
 
-   if (version > 110) {
+   if (version > maxVersion) {
       slang_info_log_error(infolog,
-                           "language version specified is not supported.");
+                           "language version %.2f is not supported.",
+                           version * 0.01);
       return GL_FALSE;
    }
 



More information about the mesa-commit mailing list