Mesa (master): freedreno/registers: teach gen_header.py about a3xx_regid

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Feb 18 21:08:49 UTC 2020


Module: Mesa
Branch: master
Commit: 4fc31e7d33606f249bf984378cd49f0dcba6e325
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4fc31e7d33606f249bf984378cd49f0dcba6e325

Author: Rob Clark <robdclark at chromium.org>
Date:   Sat Feb 15 15:06:44 2020 -0800

freedreno/registers: teach gen_header.py about a3xx_regid

This is a builtin type (treated as uint, but with special type-aware
decoding) in envytools/cffdump.  Lets teach gen_header.py about it and
drop the enum hack in the xml so I don't have to keep deleting the enum
when I sync the xml back to the freedreno envytools tree.

Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3833>

---

 src/freedreno/registers/adreno_common.xml | 4 ----
 src/freedreno/registers/gen_header.py     | 4 ++--
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/freedreno/registers/adreno_common.xml b/src/freedreno/registers/adreno_common.xml
index 7c078a091cd..9d0a240c243 100644
--- a/src/freedreno/registers/adreno_common.xml
+++ b/src/freedreno/registers/adreno_common.xml
@@ -280,10 +280,6 @@ xsi:schemaLocation="http://nouveau.freedesktop.org/ rules-ng.xsd">
 	Common between A3xx and A4xx:
  -->
 
-<enum name="a3xx_regid">
-  <value name="REGID_UNUSED" value="0xfc"/>
-</enum>
-
 <enum name="a3xx_rop_code">
 	<value name="ROP_CLEAR"         value="0"/>
 	<value name="ROP_NOR"           value="1"/>
diff --git a/src/freedreno/registers/gen_header.py b/src/freedreno/registers/gen_header.py
index 887656fd5d8..7e3bcd4f7d8 100644
--- a/src/freedreno/registers/gen_header.py
+++ b/src/freedreno/registers/gen_header.py
@@ -39,7 +39,7 @@ class Field(object):
 		self.shr = shr
 		self.type = type
 
-		builtin_types = [ None, "boolean", "uint", "hex", "int", "fixed", "ufixed", "float", "address", "waddress" ]
+		builtin_types = [ None, "a3xx_regid", "boolean", "uint", "hex", "int", "fixed", "ufixed", "float", "address", "waddress" ]
 
 		if low < 0 or low > 31:
 			raise parser.error("low attribute out of range: %d" % low)
@@ -61,7 +61,7 @@ class Field(object):
 		elif self.type == "boolean":
 			type = "bool"
 			val = var_name
-		elif self.type == "uint" or self.type == "hex":
+		elif self.type == "uint" or self.type == "hex" or self.type == "a3xx_regid":
 			type = "uint32_t"
 			val = var_name
 		elif self.type == "int":



More information about the mesa-commit mailing list