// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// This file is auto-generated from
//    gpu/config/process_json.py
// It's formatted by clang-format using chromium coding style:
//    clang-format -i -style=chromium filename
// DO NOT EDIT!

#ifndef GPU_CONFIG_GPU_CONTROL_LIST_TESTING_EXCEPTIONS_AUTOGEN_H_
#define GPU_CONFIG_GPU_CONTROL_LIST_TESTING_EXCEPTIONS_AUTOGEN_H_

namespace gpu {
const GpuControlList::Conditions kExceptionsForEntry4[1] = {
    {
        GpuControlList::kOsAny,  // os_type
        {GpuControlList::kUnknown, GpuControlList::kVersionStyleNumerical,
         nullptr, nullptr},                     // os_version
        0x10de,                                 // vendor_id
        0,                                      // DeviceIDs size
        nullptr,                                // DeviceIDs
        GpuControlList::kMultiGpuCategoryNone,  // multi_gpu_category
        GpuControlList::kMultiGpuStyleNone,     // multi_gpu_style
        nullptr,                                // driver info
        nullptr,                                // GL strings
        nullptr,                                // machine model info
        0,                                      // gpu_series size
        nullptr,                                // gpu_series
        &kMoreForEntry4_1440601243Exception0,   // more data
    },
};

const GpuControlList::Conditions kExceptionsForEntry5[1] = {
    {
        GpuControlList::kOsAny,  // os_type
        {GpuControlList::kUnknown, GpuControlList::kVersionStyleNumerical,
         nullptr, nullptr},                     // os_version
        0x8086,                                 // vendor_id
        0,                                      // DeviceIDs size
        nullptr,                                // DeviceIDs
        GpuControlList::kMultiGpuCategoryNone,  // multi_gpu_category
        GpuControlList::kMultiGpuStyleNone,     // multi_gpu_style
        nullptr,                                // driver info
        nullptr,                                // GL strings
        nullptr,                                // machine model info
        0,                                      // gpu_series size
        nullptr,                                // gpu_series
        &kMoreForEntry5_1440601243Exception0,   // more data
    },
};

const GpuControlList::Conditions kExceptionsForEntry22[1] = {
    {
        GpuControlList::kOsAny,  // os_type
        {GpuControlList::kUnknown, GpuControlList::kVersionStyleNumerical,
         nullptr, nullptr},                                // os_version
        0x00,                                              // vendor_id
        0,                                                 // DeviceIDs size
        nullptr,                                           // DeviceIDs
        GpuControlList::kMultiGpuCategoryNone,             // multi_gpu_category
        GpuControlList::kMultiGpuStyleNone,                // multi_gpu_style
        nullptr,                                           // driver info
        &kGLStringsForGpuControlTestingEntry22Exception0,  // GL strings
        nullptr,                                           // machine model info
        0,                                                 // gpu_series size
        nullptr,                                           // gpu_series
        &kMoreForEntry22_1440601243Exception0,             // more data
    },
};

const GpuControlList::Conditions kExceptionsForEntry28[1] = {
    {
        GpuControlList::kOsAndroid,  // os_type
        {GpuControlList::kUnknown, GpuControlList::kVersionStyleNumerical,
         nullptr, nullptr},                      // os_version
        0x00,                                    // vendor_id
        0,                                       // DeviceIDs size
        nullptr,                                 // DeviceIDs
        GpuControlList::kMultiGpuCategoryNone,   // multi_gpu_category
        GpuControlList::kMultiGpuStyleNone,      // multi_gpu_style
        nullptr,                                 // driver info
        nullptr,                                 // GL strings
        &kMachineModelInfoForEntry28Exception0,  // machine model info
        0,                                       // gpu_series size
        nullptr,                                 // gpu_series
        &kMoreForEntry28_1440601243Exception0,   // more data
    },
};

const GpuControlList::Conditions kExceptionsForEntry30[1] = {
    {
        GpuControlList::kOsAny,  // os_type
        {GpuControlList::kUnknown, GpuControlList::kVersionStyleNumerical,
         nullptr, nullptr},                      // os_version
        0x00,                                    // vendor_id
        0,                                       // DeviceIDs size
        nullptr,                                 // DeviceIDs
        GpuControlList::kMultiGpuCategoryNone,   // multi_gpu_category
        GpuControlList::kMultiGpuStyleNone,      // multi_gpu_style
        nullptr,                                 // driver info
        nullptr,                                 // GL strings
        &kMachineModelInfoForEntry30Exception0,  // machine model info
        0,                                       // gpu_series size
        nullptr,                                 // gpu_series
        &kMoreForEntry30_1440601243Exception0,   // more data
    },
};

const GpuControlList::Conditions kExceptionsForEntry45[2] = {
    {
        GpuControlList::kOsAny,  // os_type
        {GpuControlList::kUnknown, GpuControlList::kVersionStyleNumerical,
         nullptr, nullptr},  // os_version
        0x8086,              // vendor_id
        base::size(
            kDeviceIDsForGpuControlTestingEntry45Exception0),  // DeviceIDs size
        kDeviceIDsForGpuControlTestingEntry45Exception0,       // DeviceIDs
        GpuControlList::kMultiGpuCategoryNone,  // multi_gpu_category
        GpuControlList::kMultiGpuStyleNone,     // multi_gpu_style
        &kDriverInfoForGpuControlTestingEntry45Exception0,  // driver info
        nullptr,                                            // GL strings
        nullptr,                                // machine model info
        0,                                      // gpu_series size
        nullptr,                                // gpu_series
        &kMoreForEntry45_1440601243Exception0,  // more data
    },
    {
        GpuControlList::kOsAny,  // os_type
        {GpuControlList::kUnknown, GpuControlList::kVersionStyleNumerical,
         nullptr, nullptr},  // os_version
        0x8086,              // vendor_id
        base::size(
            kDeviceIDsForGpuControlTestingEntry45Exception1),  // DeviceIDs size
        kDeviceIDsForGpuControlTestingEntry45Exception1,       // DeviceIDs
        GpuControlList::kMultiGpuCategoryNone,  // multi_gpu_category
        GpuControlList::kMultiGpuStyleNone,     // multi_gpu_style
        &kDriverInfoForGpuControlTestingEntry45Exception1,  // driver info
        nullptr,                                            // GL strings
        nullptr,                                // machine model info
        0,                                      // gpu_series size
        nullptr,                                // gpu_series
        &kMoreForEntry45_1440601243Exception1,  // more data
    },
};

const GpuControlList::Conditions kExceptionsForEntry52[1] = {
    {
        GpuControlList::kOsAny,  // os_type
        {GpuControlList::kUnknown, GpuControlList::kVersionStyleNumerical,
         nullptr, nullptr},                                // os_version
        0x00,                                              // vendor_id
        0,                                                 // DeviceIDs size
        nullptr,                                           // DeviceIDs
        GpuControlList::kMultiGpuCategoryNone,             // multi_gpu_category
        GpuControlList::kMultiGpuStyleNone,                // multi_gpu_style
        nullptr,                                           // driver info
        &kGLStringsForGpuControlTestingEntry52Exception0,  // GL strings
        nullptr,                                           // machine model info
        0,                                                 // gpu_series size
        nullptr,                                           // gpu_series
        &kMoreForEntry52_1440601243Exception0,             // more data
    },
};

const GpuControlList::Conditions kExceptionsForEntry66[1] = {
    {
        GpuControlList::kOsAny,  // os_type
        {GpuControlList::kUnknown, GpuControlList::kVersionStyleNumerical,
         nullptr, nullptr},                          // os_version
        0x00,                                        // vendor_id
        0,                                           // DeviceIDs size
        nullptr,                                     // DeviceIDs
        GpuControlList::kMultiGpuCategoryNone,       // multi_gpu_category
        GpuControlList::kMultiGpuStyleNone,          // multi_gpu_style
        nullptr,                                     // driver info
        nullptr,                                     // GL strings
        nullptr,                                     // machine model info
        base::size(kGpuSeriesForEntry66Exception0),  // gpu_series size
        kGpuSeriesForEntry66Exception0,              // gpu_series
        &kMoreForEntry66_1440601243Exception0,       // more data
    },
};

}  // namespace gpu

#endif  // GPU_CONFIG_GPU_CONTROL_LIST_TESTING_EXCEPTIONS_AUTOGEN_H_
