Mesa (master): glsl: Allow swizzles on scalars.

Matt Turner mattst88 at kemper.freedesktop.org
Fri Jun 14 18:26:13 UTC 2013


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

Author: Matt Turner <mattst88 at gmail.com>
Date:   Mon May 20 11:01:37 2013 -0700

glsl: Allow swizzles on scalars.

Required by ARB_shading_language_420pack.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/glsl/hir_field_selection.cpp |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/glsl/hir_field_selection.cpp b/src/glsl/hir_field_selection.cpp
index cc7ba61..ceb0a4c 100644
--- a/src/glsl/hir_field_selection.cpp
+++ b/src/glsl/hir_field_selection.cpp
@@ -96,7 +96,9 @@ _mesa_ast_field_selection_to_hir(const ast_expression *expr,
       } else {
 	 _mesa_glsl_error(&loc, state, "Unknown method: `%s'.", method);
       }
-   } else if (op->type->is_vector()) {
+   } else if (op->type->is_vector() ||
+              (state->ARB_shading_language_420pack_enable &&
+               op->type->is_scalar())) {
       ir_swizzle *swiz = ir_swizzle::create(op,
 					    expr->primary_expression.identifier,
 					    op->type->vector_elements);




More information about the mesa-commit mailing list