aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fontconfig/fc-lang/quz.orth36
-rw-r--r--mesalib/configure.ac4
-rw-r--r--mesalib/src/glsl/ast_to_hir.cpp19
-rw-r--r--mesalib/src/mesa/main/macros.h3
-rw-r--r--mesalib/src/mesa/swrast/s_texfilter.c1
5 files changed, 55 insertions, 8 deletions
diff --git a/fontconfig/fc-lang/quz.orth b/fontconfig/fc-lang/quz.orth
new file mode 100644
index 000000000..a991712a9
--- /dev/null
+++ b/fontconfig/fc-lang/quz.orth
@@ -0,0 +1,36 @@
+#
+# fontconfig/fc-lang/quz.orth
+#
+# Copyright © 2009 Roozbeh Pournader
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. The author(s) make(s) no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# THE AUTHOR(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+#
+# Cusco Quechua (quz)
+#
+# Sources:
+# * http://en.wikipedia.org/wiki/Quechua_alphabet
+# * http://www.omniglot.com/writing/quechua.htm
+#
+# Some basic Latin letters are not used, based on dialect
+#
+0041-005A
+0061-007A
+00D1
+00F1
+02C8
diff --git a/mesalib/configure.ac b/mesalib/configure.ac
index 40e052c62..e20a2289a 100644
--- a/mesalib/configure.ac
+++ b/mesalib/configure.ac
@@ -1925,8 +1925,8 @@ AM_CONDITIONAL(NEED_GALLIUM_SOFTPIPE_DRIVER, test "x$HAVE_GALLIUM_SVGA" = xyes -
"x$HAVE_GALLIUM_I915" = xyes -o \
"x$HAVE_GALLIUM_SOFTPIPE" = xyes)
AM_CONDITIONAL(NEED_GALLIUM_LLVMPIPE_DRIVER, test "x$HAVE_GALLIUM_I915" = xyes -o \
- "x$HAVE_GALLIUM_SOFTPIPE" = xyes -a \
- "x$MESA_LLVM" = x1)
+ "x$HAVE_GALLIUM_SOFTPIPE" = xyes \
+ && test "x$MESA_LLVM" = x1)
if test "x$enable_gallium_loader" = xyes; then
GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/null"
diff --git a/mesalib/src/glsl/ast_to_hir.cpp b/mesalib/src/glsl/ast_to_hir.cpp
index feff5865a..192130a99 100644
--- a/mesalib/src/glsl/ast_to_hir.cpp
+++ b/mesalib/src/glsl/ast_to_hir.cpp
@@ -1849,9 +1849,18 @@ is_varying_var(ir_variable *var, _mesa_glsl_parser_targets target)
static void
validate_matrix_layout_for_type(struct _mesa_glsl_parse_state *state,
YYLTYPE *loc,
- const glsl_type *type)
+ const glsl_type *type,
+ ir_variable *var)
{
- if (!type->is_matrix()) {
+ if (var && !var->is_in_uniform_block()) {
+ /* Layout qualifiers may only apply to interface blocks and fields in
+ * them.
+ */
+ _mesa_glsl_error(loc, state,
+ "uniform block layout qualifiers row_major and "
+ "column_major may not be applied to variables "
+ "outside of uniform blocks");
+ } else if (!type->is_matrix()) {
/* The OpenGL ES 3.0 conformance tests did not originally allow
* matrix layout qualifiers on non-matrices. However, the OpenGL
* 4.4 and OpenGL ES 3.0 (revision TBD) specifications were
@@ -1922,7 +1931,7 @@ validate_binding_qualifier(struct _mesa_glsl_parse_state *state,
* with an array of size N, all elements of the array from binding
* through binding + N - 1 must be within this range."
*/
- unsigned limit;
+ unsigned limit = 0;
switch (state->target) {
case vertex_shader:
limit = ctx->Const.VertexProgram.MaxTextureImageUnits;
@@ -2302,7 +2311,7 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual,
}
if (qual->flags.q.row_major || qual->flags.q.column_major) {
- validate_matrix_layout_for_type(state, loc, var->type);
+ validate_matrix_layout_for_type(state, loc, var->type, var);
}
}
@@ -4476,7 +4485,7 @@ ast_process_structure_or_interface_block(exec_list *instructions,
"row_major and column_major can only be "
"applied to uniform interface blocks");
} else
- validate_matrix_layout_for_type(state, &loc, field_type);
+ validate_matrix_layout_for_type(state, &loc, field_type, NULL);
}
if (qual->flags.q.uniform && qual->has_interpolation()) {
diff --git a/mesalib/src/mesa/main/macros.h b/mesalib/src/mesa/main/macros.h
index ddfeee226..1052f7560 100644
--- a/mesalib/src/mesa/main/macros.h
+++ b/mesalib/src/mesa/main/macros.h
@@ -607,7 +607,8 @@ COPY_CLEAN_4V_TYPE_AS_FLOAT(GLfloat dst[4], int sz, const GLfloat src[4],
UINT_AS_FLT(0), UINT_AS_FLT(1));
break;
default:
- ASSERT(0);
+ ASSIGN_4V(dst, 0.0f, 0.0f, 0.0f, 1.0f); /* silence warnings */
+ ASSERT(!"Unexpected type in COPY_CLEAN_4V_TYPE_AS_FLOAT macro");
}
COPY_SZ_4V(dst, sz, src);
}
diff --git a/mesalib/src/mesa/swrast/s_texfilter.c b/mesalib/src/mesa/swrast/s_texfilter.c
index 0920a640c..312b9ce9b 100644
--- a/mesalib/src/mesa/swrast/s_texfilter.c
+++ b/mesalib/src/mesa/swrast/s_texfilter.c
@@ -274,6 +274,7 @@ linear_texel_locations(GLenum wrapMode,
break;
default:
_mesa_problem(NULL, "Bad wrap mode");
+ *i0 = *i1 = 0;
u = 0.0F;
break;
}