From 384ce6d8d3f6b374db9fd94a1430ccc43dcd5646 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Fri, 5 Sep 2025 12:30:49 +0200 Subject: [PATCH] pvr: add basic volcanic hw-definitions This is most of the HW definitions for the Volcanic GPU that more or less directly correspond to what we already have for Rogue. This isn't complete enough to drive the GPU, but gets us a step on the way. Reviewed-by: Frank Binns Part-of: --- src/imagination/csbgen/meson.build | 1 + src/imagination/csbgen/volcanic/cdm.xml | 105 ++++++++ src/imagination/csbgen/volcanic/ipf.xml | 139 ++++++++++ src/imagination/csbgen/volcanic/lls.xml | 20 ++ src/imagination/csbgen/volcanic/meson.build | 22 ++ src/imagination/csbgen/volcanic/pbestate.xml | 80 ++++++ src/imagination/csbgen/volcanic/pds.xml | 57 ++++ src/imagination/csbgen/volcanic/texstate.xml | 260 +++++++++++++++++++ 8 files changed, 684 insertions(+) create mode 100644 src/imagination/csbgen/volcanic/cdm.xml create mode 100644 src/imagination/csbgen/volcanic/ipf.xml create mode 100644 src/imagination/csbgen/volcanic/lls.xml create mode 100644 src/imagination/csbgen/volcanic/meson.build create mode 100644 src/imagination/csbgen/volcanic/pbestate.xml create mode 100644 src/imagination/csbgen/volcanic/pds.xml create mode 100644 src/imagination/csbgen/volcanic/texstate.xml diff --git a/src/imagination/csbgen/meson.build b/src/imagination/csbgen/meson.build index 6af0af3e5d6..c72e47bc728 100644 --- a/src/imagination/csbgen/meson.build +++ b/src/imagination/csbgen/meson.build @@ -3,5 +3,6 @@ pvr_xml_pack = [] subdir('rogue') +subdir('volcanic') dep_csbgen = declare_dependency(sources : [pvr_xml_pack]) diff --git a/src/imagination/csbgen/volcanic/cdm.xml b/src/imagination/csbgen/volcanic/cdm.xml new file mode 100644 index 00000000000..7f89733a5ad --- /dev/null +++ b/src/imagination/csbgen/volcanic/cdm.xml @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/imagination/csbgen/volcanic/ipf.xml b/src/imagination/csbgen/volcanic/ipf.xml new file mode 100644 index 00000000000..375b5ee984c --- /dev/null +++ b/src/imagination/csbgen/volcanic/ipf.xml @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/imagination/csbgen/volcanic/lls.xml b/src/imagination/csbgen/volcanic/lls.xml new file mode 100644 index 00000000000..25d9c3d5279 --- /dev/null +++ b/src/imagination/csbgen/volcanic/lls.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/src/imagination/csbgen/volcanic/meson.build b/src/imagination/csbgen/volcanic/meson.build new file mode 100644 index 00000000000..918593e0f39 --- /dev/null +++ b/src/imagination/csbgen/volcanic/meson.build @@ -0,0 +1,22 @@ +# Copyright © 2025 Imagination Technologies Ltd. +# SPDX-License-Identifier: MIT + +pvr_xml_files = [ + 'cdm.xml', + 'ipf.xml', + 'lls.xml', + 'pbestate.xml', + 'pds.xml', + 'texstate.xml', +] + +foreach f : pvr_xml_files + _name = '@0@.h'.format(f.split('.')[0]) + pvr_xml_pack += custom_target( + _name, + input : ['../gen_pack_header.py', f], + output : _name, + command : [prog_python, '@INPUT@'], + capture : true, + ) +endforeach diff --git a/src/imagination/csbgen/volcanic/pbestate.xml b/src/imagination/csbgen/volcanic/pbestate.xml new file mode 100644 index 00000000000..eaafedf1b18 --- /dev/null +++ b/src/imagination/csbgen/volcanic/pbestate.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/imagination/csbgen/volcanic/pds.xml b/src/imagination/csbgen/volcanic/pds.xml new file mode 100644 index 00000000000..1c6f39b5a01 --- /dev/null +++ b/src/imagination/csbgen/volcanic/pds.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/imagination/csbgen/volcanic/texstate.xml b/src/imagination/csbgen/volcanic/texstate.xml new file mode 100644 index 00000000000..85418198581 --- /dev/null +++ b/src/imagination/csbgen/volcanic/texstate.xml @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +