static struct tgsi_full_dst_register tgsi_default_full_dst_register( void ) { struct tgsi_full_dst_register full_dst_register; full_dst_register.Register = tgsi_default_dst_register(); full_dst_register.Indirect = tgsi_default_src_register(); full_dst_register.Dimension = tgsi_default_dimension(); full_dst_register.DimIndirect = tgsi_default_src_register(); return full_dst_register; }
struct tgsi_full_src_register tgsi_default_full_src_register( void ) { struct tgsi_full_src_register full_src_register; full_src_register.SrcRegister = tgsi_default_src_register(); full_src_register.SrcRegisterExtSwz = tgsi_default_src_register_ext_swz(); full_src_register.SrcRegisterExtMod = tgsi_default_src_register_ext_mod(); full_src_register.SrcRegisterInd = tgsi_default_src_register(); full_src_register.SrcRegisterDim = tgsi_default_dimension(); full_src_register.SrcRegisterDimInd = tgsi_default_src_register(); return full_src_register; }
struct tgsi_full_dst_register tgsi_default_full_dst_register( void ) { struct tgsi_full_dst_register full_dst_register; full_dst_register.DstRegister = tgsi_default_dst_register(); full_dst_register.DstRegisterInd = tgsi_default_src_register(); full_dst_register.DstRegisterExtConcode = tgsi_default_dst_register_ext_concode(); full_dst_register.DstRegisterExtModulate = tgsi_default_dst_register_ext_modulate(); return full_dst_register; }
struct tgsi_full_src_register tgsi_full_src_register_from_dst(const struct tgsi_full_dst_register *dst) { struct tgsi_full_src_register src; src.Register = tgsi_default_src_register(); src.Register.File = dst->Register.File; src.Register.Indirect = dst->Register.Indirect; src.Register.Dimension = dst->Register.Dimension; src.Register.Index = dst->Register.Index; src.Indirect = dst->Indirect; src.Dimension = dst->Dimension; src.DimIndirect = dst->DimIndirect; return src; }
struct tgsi_src_register tgsi_build_src_register( unsigned file, unsigned swizzle_x, unsigned swizzle_y, unsigned swizzle_z, unsigned swizzle_w, unsigned negate, unsigned indirect, unsigned dimension, int index, struct tgsi_instruction *instruction, struct tgsi_header *header ) { struct tgsi_src_register src_register; assert( file < TGSI_FILE_COUNT ); assert( swizzle_x <= TGSI_SWIZZLE_W ); assert( swizzle_y <= TGSI_SWIZZLE_W ); assert( swizzle_z <= TGSI_SWIZZLE_W ); assert( swizzle_w <= TGSI_SWIZZLE_W ); assert( negate <= 1 ); assert( index >= -0x8000 && index <= 0x7FFF ); src_register = tgsi_default_src_register(); src_register.File = file; src_register.SwizzleX = swizzle_x; src_register.SwizzleY = swizzle_y; src_register.SwizzleZ = swizzle_z; src_register.SwizzleW = swizzle_w; src_register.Negate = negate; src_register.Indirect = indirect; src_register.Dimension = dimension; src_register.Index = index; instruction_grow( instruction, header ); return src_register; }