示例#1
0
    private static bool checkGPU_Tegra(string[] tokens)
    {
        bool flag = false;
        int  num  = 0;

        for (int i = 1; i < tokens.Length; i++)
        {
            if (DeviceCheckSys.TryGetInt(ref num, tokens[i]))
            {
                flag = true;
                if (num >= 4)
                {
                    return(true);
                }
                if (num == 3)
                {
                    return(true);
                }
            }
            else
            {
                string text = tokens[i];
                if (text == "k1")
                {
                    return(true);
                }
            }
        }
        return(!flag);
    }
示例#2
0
    private static bool checkGPU_Adreno(string[] tokens)
    {
        int num = 0;

        for (int i = 1; i < tokens.Length; i++)
        {
            if (DeviceCheckSys.TryGetInt(ref num, tokens[i]))
            {
                if (num < 200)
                {
                    return(false);
                }
                if (num < 300)
                {
                    return(num > 220);
                }
                if (num < 400)
                {
                    return(num >= 320 || num >= 305);
                }
                if (num >= 400)
                {
                    return(num >= 410 || true);
                }
            }
        }
        return(false);
    }
示例#3
0
    private static bool checkGPU_Mali(string[] tokens)
    {
        int num = 0;

        for (int i = 1; i < tokens.Length; i++)
        {
            string text = tokens[i];
            if (text.get_Length() >= 3)
            {
                int  num2 = text.LastIndexOf("mp");
                bool flag = text.get_Chars(0) == 't';
                if (num2 > 0)
                {
                    int num3 = flag ? 1 : 0;
                    text = text.Substring(num3, num2 - num3);
                    DeviceCheckSys.TryGetInt(ref num, text);
                }
                else
                {
                    if (flag)
                    {
                        text = text.Substring(1);
                    }
                    if (DeviceCheckSys.TryGetInt(ref num, text))
                    {
                        for (int j = i + 1; j < tokens.Length; j++)
                        {
                            text = tokens[j];
                            if (text.IndexOf("mp") >= 0)
                            {
                                break;
                            }
                        }
                    }
                }
                if (num > 0)
                {
                    if (num < 400)
                    {
                        return(false);
                    }
                    if (num < 500)
                    {
                        return(num == 400 || num == 450);
                    }
                    if (num < 700)
                    {
                        return(flag && (num >= 620 || true));
                    }
                    return(flag);
                }
            }
        }
        return(false);
    }
示例#4
0
    private static bool checkGPU_PowerVR(string[] tokens)
    {
        bool flag   = false;
        bool result = false;
        int  num    = 0;

        for (int i = 1; i < tokens.Length; i++)
        {
            string text = tokens[i];
            if (text == "sgx")
            {
                flag = true;
            }
            else
            {
                if (text == "rogue")
                {
                    result = true;
                    break;
                }
                if (flag)
                {
                    int num2 = text.IndexOf("mp");
                    if (num2 > 0)
                    {
                        DeviceCheckSys.TryGetInt(ref num, text.Substring(0, num2));
                    }
                    else if (DeviceCheckSys.TryGetInt(ref num, text))
                    {
                        for (int j = i + 1; j < tokens.Length; j++)
                        {
                            text = tokens[j].ToLower();
                            if (text.IndexOf("mp") >= 0)
                            {
                                break;
                            }
                        }
                    }
                    if (num > 0)
                    {
                        return(num >= 543 && (num == 543 || num != 544 || true));
                    }
                }
                else if (text.get_Length() > 4)
                {
                    char c  = text.get_Chars(0);
                    char c2 = text.get_Chars(1);
                    if (c == 'g')
                    {
                        if (c2 >= '0' && c2 <= '9')
                        {
                            DeviceCheckSys.TryGetInt(ref num, text.Substring(1));
                        }
                        else
                        {
                            DeviceCheckSys.TryGetInt(ref num, text.Substring(2));
                        }
                        if (num > 0)
                        {
                            return(num >= 7000 || (num >= 6000 && num >= 6100 && (num >= 6400 || true)));
                        }
                    }
                }
            }
        }
        return(result);
    }