gl_shader_decompiler: Partially implement I2I_R, and I2F_R.
This commit is contained in:
		@@ -250,7 +250,7 @@ union Instruction {
 | 
			
		||||
        BitField<45, 1, u64> negate_a;
 | 
			
		||||
        BitField<49, 1, u64> abs_a;
 | 
			
		||||
        BitField<50, 1, u64> saturate_a;
 | 
			
		||||
    } i2i;
 | 
			
		||||
    } conversion;
 | 
			
		||||
 | 
			
		||||
    BitField<61, 1, u64> is_b_imm;
 | 
			
		||||
    BitField<60, 1, u64> is_b_gpr;
 | 
			
		||||
@@ -330,7 +330,7 @@ public:
 | 
			
		||||
        FloatSet,
 | 
			
		||||
        FloatSetPredicate,
 | 
			
		||||
        IntegerSetPredicate,
 | 
			
		||||
        I2I,
 | 
			
		||||
        Conversion,
 | 
			
		||||
        Unknown,
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
@@ -452,9 +452,6 @@ private:
 | 
			
		||||
            INST("0100110010110---", Id::F2I_C, Type::Arithmetic, "F2I_C"),
 | 
			
		||||
            INST("0101110010110---", Id::F2I_R, Type::Arithmetic, "F2I_R"),
 | 
			
		||||
            INST("0011100-10110---", Id::F2I_IMM, Type::Arithmetic, "F2I_IMM"),
 | 
			
		||||
            INST("0100110010111---", Id::I2F_C, Type::Arithmetic, "I2F_C"),
 | 
			
		||||
            INST("0101110010111---", Id::I2F_R, Type::Arithmetic, "I2F_R"),
 | 
			
		||||
            INST("0011100-10111---", Id::I2F_IMM, Type::Arithmetic, "I2F_IMM"),
 | 
			
		||||
            INST("000001----------", Id::LOP32I, Type::Arithmetic, "LOP32I"),
 | 
			
		||||
            INST("0100110010011---", Id::MOV_C, Type::Arithmetic, "MOV_C"),
 | 
			
		||||
            INST("0101110010011---", Id::MOV_R, Type::Arithmetic, "MOV_R"),
 | 
			
		||||
@@ -463,9 +460,12 @@ private:
 | 
			
		||||
            INST("0100110000101---", Id::SHR_C, Type::Arithmetic, "SHR_C"),
 | 
			
		||||
            INST("0101110000101---", Id::SHR_R, Type::Arithmetic, "SHR_R"),
 | 
			
		||||
            INST("0011100-00101---", Id::SHR_IMM, Type::Arithmetic, "SHR_IMM"),
 | 
			
		||||
            INST("0100110011100---", Id::I2I_C, Type::I2I, "I2I_C"),
 | 
			
		||||
            INST("0101110011100---", Id::I2I_R, Type::I2I, "I2I_R"),
 | 
			
		||||
            INST("01110001-1000---", Id::I2I_IMM, Type::I2I, "I2I_IMM"),
 | 
			
		||||
            INST("0100110011100---", Id::I2I_C, Type::Conversion, "I2I_C"),
 | 
			
		||||
            INST("0101110011100---", Id::I2I_R, Type::Conversion, "I2I_R"),
 | 
			
		||||
            INST("01110001-1000---", Id::I2I_IMM, Type::Conversion, "I2I_IMM"),
 | 
			
		||||
            INST("0100110010111---", Id::I2F_C, Type::Conversion, "I2F_C"),
 | 
			
		||||
            INST("0101110010111---", Id::I2F_R, Type::Conversion, "I2F_R"),
 | 
			
		||||
            INST("0011100-10111---", Id::I2F_IMM, Type::Conversion, "I2F_IMM"),
 | 
			
		||||
            INST("01011000--------", Id::FSET_R, Type::FloatSet, "FSET_R"),
 | 
			
		||||
            INST("0100100---------", Id::FSET_C, Type::FloatSet, "FSET_C"),
 | 
			
		||||
            INST("0011000---------", Id::FSET_IMM, Type::FloatSet, "FSET_IMM"),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user