From 64f6f4aba5c0c0d328486f3530fa92cbb4a8d839 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 10 Dec 2008 05:21:21 -0500 Subject: [PATCH] SRCMOD_NOT apparently is allowed in SM3 for predicate registers...?! --- mojoshader.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mojoshader.c b/mojoshader.c index c4ab4f87..b998f014 100644 --- a/mojoshader.c +++ b/mojoshader.c @@ -5284,11 +5284,18 @@ static int parse_source_token(Context *ctx, SourceArgInfo *info) case SRCMOD_X2: case SRCMOD_DZ: case SRCMOD_DW: - case SRCMOD_NOT: if (shader_version_atleast(ctx, 2, 0)) return fail(ctx, "illegal source mod for this Shader Model."); break; + case SRCMOD_NOT: // !!! FIXME: I _think_ this is right... + if (shader_version_atleast(ctx, 2, 0)) + { + if (info->regtype != REG_TYPE_PREDICATE) + return fail(ctx, "NOT only allowed on predicate register."); + } // if + break; + default: return fail(ctx, "Unknown source modifier"); } // switch