示例#1
0
        public Operand Swizzle([NotNull] Operand source, SwizzleMask mask)
        {
            Operand tmp = CreateTemporary(mask.SwizzleOutFormat, source.ArraySize);

            Swizzle(source, tmp, mask);
            return(tmp);
        }
示例#2
0
        public SwizzleOperation(SwizzleMask mask)
        {
            this.mask = mask;

            inputDesc = new PinsDescriptor(
                new PinDescriptor(PinFormatHelper.ContainsComponents(mask.MinimumSwizzleInFormat), "Data to be swizzled."));
        }
示例#3
0
        public void Swizzle([NotNull] Operand source, [NotNull] Operand dest, SwizzleMask mask)
        {
            if (dest.Format != mask.SwizzleOutFormat)
            {
                throw new ArgumentException("Destination does not match mask format.");
            }

            compiler.Swizzle(source.Name, mask, dest.Name);
        }
 public WriteToSwizzledOperation(SwizzleMask mask)
 {
     this.mask = mask;
 }