| { |
| "_comment": [ |
| "Copyright 2022 The Dawn Authors", |
| "", |
| "Licensed under the Apache License, Version 2.0 (the \"License\");", |
| "you may not use this file except in compliance with the License.", |
| "You may obtain a copy of the License at", |
| "", |
| " http://www.apache.org/licenses/LICENSE-2.0", |
| "", |
| "Unless required by applicable law or agreed to in writing, software", |
| "distributed under the License is distributed on an \"AS IS\" BASIS,", |
| "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", |
| "See the License for the specific language governing permissions and", |
| "limitations under the License." |
| ], |
| |
| "vendors": { |
| |
| "AMD": { |
| "id": "0x1002", |
| |
| "deviceMask": "0xFFF0", |
| "architecture": { |
| "GCN 1": ["0x6600", "0x6610", "0x6660", "0x6790", "0x6800", "0x6810", "0x6820", "0x6830"], |
| "GCN 2": ["0x1300", "0x1310", "0x6640", "0x6650", "0x67A0", "0x67B0", "0x9830", "0x9850"], |
| "GCN 3": ["0x6900", "0x6920", "0x6930", "0x7300", "0x9870", "0x98E0"], |
| "GCN 4": ["0x67C0", "0x67D0", "0x67E0", "0x67F0", "0x6980", "0x6990"], |
| "GCN 5": ["0x15D0", "0x1630", "0x1640", "0x66A0", "0x6860", "0x6870", "0x6940", "0x69A0"], |
| "RDNA 1": ["0x7310", "0x7340", "0x7360"], |
| "RDNA 2": ["0x73A0", "0x73B0", "0x73D0", "0x73E0", "0x73F0", "0x7420", "0x7430"] |
| } |
| }, |
| |
| "Apple": { |
| "id": "0x106b", |
| |
| "_comment": [ |
| "Apple GPUs do not report a DeviceID via the Metal API, and as such the typical device", |
| "pattern matching does not work for them. The recommended approach is to find the highest", |
| "supported 'common' family supported and report it as the architecture.", |
| "Examples: 'common-1', 'common-3'", |
| "https://developer.apple.com/documentation/metal/gpu_devices_and_work_submission/detecting_gpu_features_and_metal_software_versions" |
| ] |
| }, |
| |
| "ARM": { |
| "id": "0x13B5", |
| |
| "deviceMask": "0xF0000000", |
| "architecture": { |
| "_comment": [ |
| "The Midgard GPUs have device IDs like 0x07______ and 0x08______, but it's easiest to", |
| "mask those values out and simply check for the highest octet being zero, since that", |
| "distinguishes it from the other architectures." |
| ], |
| |
| "Midgard": ["0x00000000"], |
| "Bifrost": ["0x60000000", "0x70000000"], |
| "Valhall": ["0x90000000", "0xA0000000"] |
| } |
| }, |
| |
| "Google": { |
| "id": "0x1AE0", |
| |
| "architecture": { |
| "Swiftshader": ["0xC0DE"] |
| } |
| }, |
| |
| "Img Tec": { |
| "id": "0x1010" |
| }, |
| |
| "Intel": { |
| "id": "0x8086", |
| |
| "deviceMask": "0xFF00", |
| "architecture": { |
| "Gen 7": ["0x0100", "0x0400", "0x0A00", "0x0D00", "0x0F00"], |
| "Gen 8": ["0x1600", "0x2200"], |
| "Gen 9": ["0x1900", "0x3100", "0x3E00", "0x5A00", "0x5900", "0x9B00"], |
| "Gen 11": ["0x8A00"], |
| "Xe": ["0x4600", "0x4C00", "0x4900", "0x9A00"] |
| } |
| }, |
| |
| "Mesa": { |
| "id": "0x10005" |
| }, |
| |
| "Microsoft": { |
| "id": "0x1414", |
| |
| "architecture": { |
| "WARP": ["0x8c"] |
| } |
| }, |
| |
| "Nvidia": { |
| "id": "0x10DE", |
| |
| "deviceMask": "0xFF00", |
| "architecture": { |
| "Fermi": ["0x0D00"], |
| "Kepler": ["0x0F00", "0x1000", "0x1100", "0x1200"], |
| "Maxwell": ["0x1300", "0x1400", "0x1600", "0x1700"], |
| "Pascal": ["0x1500", "0x1B00", "0x1C00", "0x1D00"], |
| "Turing": ["0x1E00", "0x1F00", "0x2100"], |
| "Ampere": ["0x2200", "0x2400", "0x2500"] |
| } |
| }, |
| |
| "Qualcomm": { |
| "id": "0x5143", |
| |
| "deviceMask": "0xFF000000", |
| "architecture": { |
| "Adreno 4xx": ["0x04000000"], |
| "Adreno 5xx": ["0x05000000"], |
| "Adreno 6xx": ["0x06000000"], |
| "Adreno 7xx": ["0x07000000"] |
| } |
| }, |
| |
| "Samsung": { |
| "id": "0x144d", |
| |
| "architecture": { |
| "RDNA 2": ["0x73A0"] |
| } |
| } |
| |
| } |
| |
| } |