From baf58a312878496200529adfa27fea221611fd05 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 24 Oct 2011 15:03:43 -0400 Subject: [PATCH] Set relative_component correctly when parsing source registers. Fixes address a0.(y|z|w) from unconditionally becoming a0.x ... --- mojoshader.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mojoshader.c b/mojoshader.c index f8f25180..498606e1 100644 --- a/mojoshader.c +++ b/mojoshader.c @@ -5708,6 +5708,8 @@ static int parse_source_token(Context *ctx, SourceArgInfo *info) 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)) )