freedreno/common: set up a830 properties

Adjust or fill out various properties for the a830 GPU, setting up a gen1
base. So far these mostly mirror the gen2 properties, except for gmem
config layouts, and they will probably further diverge down the line.

A new GPU ID for a830 is also added, Turnip there runs on top of KGSL.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39874>
This commit is contained in:
Zan Dobersek 2026-02-14 08:29:18 +01:00 committed by Marge Bot
parent 8151212293
commit 9da2ebf09c

View file

@ -1478,6 +1478,26 @@ a8xx_base_raw_magic_regs = [
[A6XXRegs.REG_A8XX_PC_MODE_CNTL, 0x00003f00],
]
a8xx_gen1 = GPUProps(
reg_size_vec4 = 128,
sysmem_vpc_attr_buf_size = 131072,
sysmem_vpc_pos_buf_size = 65536,
sysmem_vpc_bv_pos_buf_size = 32768,
sysmem_ccu_color_cache_fraction = CCUColorCacheFraction.FULL.value,
sysmem_per_ccu_color_cache_size = 128 * 1024,
sysmem_ccu_depth_cache_fraction = CCUColorCacheFraction.FULL.value,
sysmem_per_ccu_depth_cache_size = 256 * 1024,
gmem_vpc_attr_buf_size = 49152,
gmem_vpc_pos_buf_size = 24576,
gmem_vpc_bv_pos_buf_size = 32768,
gmem_ccu_color_cache_fraction = CCUColorCacheFraction.EIGHTH.value,
gmem_per_ccu_color_cache_size = 16 * 1024,
gmem_ccu_depth_cache_fraction = CCUColorCacheFraction.FULL.value,
gmem_per_ccu_depth_cache_size = 256 * 1024,
has_salu_int_narrowing_quirk = True
)
a8xx_gen2 = GPUProps(
reg_size_vec4 = 128,
sysmem_vpc_attr_buf_size = 131072,
@ -1496,30 +1516,27 @@ a8xx_gen2 = GPUProps(
gmem_per_ccu_depth_cache_size = 256 * 1024,
has_fs_tex_prefetch = False,
# tbd if this applies to a8xx_gen1 as well:
has_salu_int_narrowing_quirk = True
)
# Totally fake, just to get cffdump to work:
add_gpus([
GPUId(chip_id=0x44050000, name="FD830"),
GPUId(chip_id=0x44050001, name="FD830"), # KGSL
], A6xxGPUInfo(
CHIP.A8XX,
[a7xx_base, a7xx_gen3, a8xx_base],
[a7xx_base, a7xx_gen3, a8xx_base, a8xx_gen1],
num_ccu = 6,
num_slices = 3,
tile_align_w = 64,
tile_align_w = 96,
tile_align_h = 32,
tile_max_w = 16384,
tile_max_w = 16416,
tile_max_h = 16384,
num_vsc_pipes = 32,
cs_shared_mem_size = 32 * 1024,
wave_granularity = 2,
fibers_per_sp = 128 * 2 * 16,
magic_regs = dict(
),
raw_magic_regs = [
],
magic_regs = dict(),
raw_magic_regs = a8xx_base_raw_magic_regs,
))
add_gpus([