Path: blob/21.2-virgl/src/intel/compiler/brw_gfx_ver_enum.h
4550 views
/*1* Copyright © 2015 Intel Corporation2*3* Permission is hereby granted, free of charge, to any person obtaining a4* copy of this software and associated documentation files (the "Software"),5* to deal in the Software without restriction, including without limitation6* the rights to use, copy, modify, merge, publish, distribute, sublicense,7* and/or sell copies of the Software, and to permit persons to whom the8* Software is furnished to do so, subject to the following conditions:9*10* The above copyright notice and this permission notice (including the next11* paragraph) shall be included in all copies or substantial portions of the12* Software.13*14* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR15* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,16* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL17* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER18* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING19* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS20* IN THE SOFTWARE.21*/2223#include "util/macros.h"24#include "dev/intel_device_info.h"2526enum gfx_ver {27GFX4 = (1 << 0),28GFX45 = (1 << 1),29GFX5 = (1 << 2),30GFX6 = (1 << 3),31GFX7 = (1 << 4),32GFX75 = (1 << 5),33GFX8 = (1 << 6),34GFX9 = (1 << 7),35GFX10 = (1 << 8),36GFX11 = (1 << 9),37GFX12 = (1 << 10),38GFX125 = (1 << 11),39GFX_ALL = ~040};4142#define GFX_LT(ver) ((ver) - 1)43#define GFX_GE(ver) (~GFX_LT(ver))44#define GFX_LE(ver) (GFX_LT(ver) | (ver))4546static enum gfx_ver47gfx_ver_from_devinfo(const struct intel_device_info *devinfo)48{49switch (devinfo->verx10) {50case 40: return GFX4;51case 45: return GFX45;52case 50: return GFX5;53case 60: return GFX6;54case 70: return GFX7;55case 75: return GFX75;56case 80: return GFX8;57case 90: return GFX9;58case 110: return GFX11;59case 120: return GFX12;60case 125: return GFX125;61default:62unreachable("not reached");63}64}656667