From: Michal Krol Date: Mon, 2 Jun 2008 09:59:04 +0000 (+0200) Subject: tgsi: Add assertions to the new rule that when an extended swizzle X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2c7ae3371b6058988f7f10bf031d630b649f3831;p=mesa.git tgsi: Add assertions to the new rule that when an extended swizzle is used, the simple swizzle must be set to identity. --- diff --git a/src/gallium/auxiliary/tgsi/util/tgsi_build.c b/src/gallium/auxiliary/tgsi/util/tgsi_build.c index 63cc27becc0..18e44b38c24 100644 --- a/src/gallium/auxiliary/tgsi/util/tgsi_build.c +++ b/src/gallium/auxiliary/tgsi/util/tgsi_build.c @@ -628,6 +628,14 @@ tgsi_build_full_instruction( tgsi_default_src_register_ext_swz() ) ) { struct tgsi_src_register_ext_swz *src_register_ext_swz; + /* Use of the extended swizzle requires the simple swizzle to be identity. + */ + assert( reg->SrcRegister.SwizzleX == TGSI_SWIZZLE_X ); + assert( reg->SrcRegister.SwizzleY == TGSI_SWIZZLE_Y ); + assert( reg->SrcRegister.SwizzleZ == TGSI_SWIZZLE_Z ); + assert( reg->SrcRegister.SwizzleW == TGSI_SWIZZLE_W ); + assert( reg->SrcRegister.Negate == FALSE ); + if( maxsize <= size ) return 0; src_register_ext_swz =