public DestinationOperand(uint value) { RegisterNumber = value & 0x7FF; RegisterType = (RegisterType)(((value >> 28) & 0x7) | ((value >> 8) & 0x18)); MinPrecision = (value >> 12) & 0XC; DestinationWriteMask = (ComponentFlags)((value >> 16) & 0xF); ResultModifier = (ResultModifier)((value >> 20) & 0xF); }
private static string GetModifier(D3D9Instruction instruction) { ResultModifier resultModifier = instruction.GetDestinationResultModifier(); switch (resultModifier) { case ResultModifier.None: return(string.Empty); case ResultModifier.Centroid: return("_centroid"); case ResultModifier.PartialPrecision: return("_pp"); case ResultModifier.Saturate: return("_sat"); default: throw new NotSupportedException("Not supported result modifier " + resultModifier); } }