pan/bi: Clean up quirks
NO_PRELOAD isn't actually used. The other quirks are used, but they're implementation details only affecting a few older models. So we can default to no quirks and clean up a lot. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14726>
This commit is contained in:
parent
94bb229c46
commit
8f0b5b4b19
|
@ -28,16 +28,10 @@
|
|||
* may be errata requiring a workaround, or features. We're trying to be
|
||||
* quirk-positive here; quirky is the best! */
|
||||
|
||||
/* Whether this GPU lacks support for the preload mechanism. New GPUs can have
|
||||
* varyings and textures preloaded into the fragment shader to amortize the I/O
|
||||
* cost; early Bifrost models lacked this feature. */
|
||||
|
||||
#define BIFROST_NO_PRELOAD (1 << 0)
|
||||
|
||||
/* Whether this GPU lacks support for fp32 transcendentals, requiring backend
|
||||
* lowering to low-precision lookup tables and polynomial approximation */
|
||||
|
||||
#define BIFROST_NO_FP32_TRANSCENDENTALS (1 << 1)
|
||||
#define BIFROST_NO_FP32_TRANSCENDENTALS (1 << 0)
|
||||
|
||||
/* Whether this GPU lacks support for the full form of the CLPER instruction.
|
||||
* These GPUs use a simple encoding of CLPER that does not support
|
||||
|
@ -45,33 +39,19 @@
|
|||
* lowering to additional ALU instructions. The encoding forces inactive_result
|
||||
* = zero, subgroup_size = subgroup4, and lane_op = none. */
|
||||
|
||||
#define BIFROST_LIMITED_CLPER (1 << 2)
|
||||
#define BIFROST_LIMITED_CLPER (1 << 1)
|
||||
|
||||
static inline unsigned
|
||||
bifrost_get_quirks(unsigned product_id)
|
||||
{
|
||||
switch (product_id >> 8) {
|
||||
case 0x60:
|
||||
return BIFROST_NO_PRELOAD | BIFROST_NO_FP32_TRANSCENDENTALS |
|
||||
BIFROST_LIMITED_CLPER;
|
||||
case 0x62:
|
||||
return BIFROST_NO_PRELOAD | BIFROST_LIMITED_CLPER;
|
||||
case 0x60: /* G71 */
|
||||
return BIFROST_NO_FP32_TRANSCENDENTALS | BIFROST_LIMITED_CLPER;
|
||||
case 0x62: /* G72 */
|
||||
case 0x70: /* G31 */
|
||||
return BIFROST_LIMITED_CLPER;
|
||||
case 0x71:
|
||||
case 0x72:
|
||||
case 0x73:
|
||||
case 0x74:
|
||||
return 0;
|
||||
case 0x90:
|
||||
case 0x91:
|
||||
case 0x92:
|
||||
case 0x93:
|
||||
case 0x94:
|
||||
case 0x95:
|
||||
return BIFROST_NO_PRELOAD;
|
||||
default:
|
||||
unreachable("Unknown Bifrost/Valhall GPU ID");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue