aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/glsl/ast_to_hir.cpp
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2012-04-16 09:37:37 +0200
committermarha <marha@users.sourceforge.net>2012-04-16 09:43:48 +0200
commit00eae6f01bf11ec6a90dfc68e607b6a1a250a118 (patch)
treeb814d518076840b7433d02bc3b5957c1dd54de25 /mesalib/src/glsl/ast_to_hir.cpp
parenta50d2ee664302147942dd5ed6428f9bab9d4e76a (diff)
parentd6d3999ccb2cb72d55820770260172eccbbb68d7 (diff)
downloadvcxsrv-00eae6f01bf11ec6a90dfc68e607b6a1a250a118.tar.gz
vcxsrv-00eae6f01bf11ec6a90dfc68e607b6a1a250a118.tar.bz2
vcxsrv-00eae6f01bf11ec6a90dfc68e607b6a1a250a118.zip
Merge remote-tracking branch 'origin/released'
Conflicts: xorg-server/Xext/securitysrv.h xorg-server/glx/glxext.h xorg-server/glx/indirect_reqsize.c xorg-server/glx/indirect_size_get.c xorg-server/hw/xwin/winclip.c xorg-server/hw/xwin/winfont.c xorg-server/hw/xwin/winglobals.c xorg-server/hw/xwin/winglobals.h xorg-server/hw/xwin/winmonitors.h xorg-server/include/closestr.h xorg-server/include/pixmapstr.h xorg-server/include/servermd.h xorg-server/include/site.h xorg-server/include/windowstr.h xorg-server/include/xkbstr.h
Diffstat (limited to 'mesalib/src/glsl/ast_to_hir.cpp')
-rw-r--r--mesalib/src/glsl/ast_to_hir.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/mesalib/src/glsl/ast_to_hir.cpp b/mesalib/src/glsl/ast_to_hir.cpp
index f4dfc4ce3..820c86c5e 100644
--- a/mesalib/src/glsl/ast_to_hir.cpp
+++ b/mesalib/src/glsl/ast_to_hir.cpp
@@ -2092,14 +2092,21 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual,
} else {
var->location = qual->location;
}
+ if (qual->flags.q.explicit_index) {
+ var->explicit_index = true;
+ var->index = qual->index;
+ }
}
+ } else if (qual->flags.q.explicit_index) {
+ _mesa_glsl_error(loc, state,
+ "explicit index requires explicit location\n");
}
/* Does the declaration use the 'layout' keyword?
*/
const bool uses_layout = qual->flags.q.pixel_center_integer
|| qual->flags.q.origin_upper_left
- || qual->flags.q.explicit_location;
+ || qual->flags.q.explicit_location; /* no need for index since it relies on location */
/* Does the declaration use the deprecated 'attribute' or 'varying'
* keywords?