Set relative_component correctly when parsing source registers.
authorRyan C. Gordon <icculus@icculus.org>
Mon, 24 Oct 2011 15:03:43 -0400
changeset 1061 dbf2735676ae
parent 1060 4cdf5a3ceb03
child 1062 ea5c89942bd3
Set relative_component correctly when parsing source registers. Fixes address a0.(y|z|w) from unconditionally becoming a0.x ...
mojoshader.c
--- a/mojoshader.c	Thu Oct 20 17:50:27 2011 -0400
+++ b/mojoshader.c	Mon Oct 24 15:03:43 2011 -0400
@@ -5708,6 +5708,8 @@
         if (!replicate_swizzle(relswiz))
             fail(ctx, "relative address needs replicate swizzle");
 
+        info->relative_component = (relswiz & 0x3);
+
         if (info->regtype == REG_TYPE_INPUT)
         {
             if ( (shader_is_pixel(ctx)) || (!shader_version_atleast(ctx, 3, 0)) )