Mesa (master): genxml: Fix parsing of address fields in groups.
Kenneth Graunke
kwg at kemper.freedesktop.org
Thu Jun 1 18:57:13 UTC 2017
Module: Mesa
Branch: master
Commit: df2d55ba57dec857e4fb36ba3d9ec86aa3a46cd5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=df2d55ba57dec857e4fb36ba3d9ec86aa3a46cd5
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon May 15 16:53:25 2017 -0700
genxml: Fix parsing of address fields in groups.
For example,
<group count="4" start="64" size="64">
<field name="Pointer" start="5" end="63" type="address"/>
</group>
used to generate:
const uint64_t v2_address =
__gen_combine_address(data, &dw[2], values->Pointer, 0);
...
const uint64_t v4_address =
__gen_combine_address(data, &dw[4], values->Pointer, 0);
...
but now generates code with proper subscripts:
const uint64_t v2_address =
__gen_combine_address(data, &dw[2], values->Pointer[0], 0);
...
const uint64_t v4_address =
__gen_combine_address(data, &dw[4], values->Pointer[1], 0);
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
---
src/intel/genxml/gen_pack_header.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/intel/genxml/gen_pack_header.py b/src/intel/genxml/gen_pack_header.py
index 020dbe40a6..fefbc9aecc 100644
--- a/src/intel/genxml/gen_pack_header.py
+++ b/src/intel/genxml/gen_pack_header.py
@@ -467,13 +467,13 @@ class Group(object):
if dw.size == 32:
if dw.address:
- print(" dw[%d] = __gen_combine_address(data, &dw[%d], values->%s, %s);" % (index, index, dw.address.name, v))
+ print(" dw[%d] = __gen_combine_address(data, &dw[%d], values->%s, %s);" % (index, index, dw.address.name + field.dim, v))
continue
if dw.address:
v_address = "v%d_address" % index
print(" const uint64_t %s =\n __gen_combine_address(data, &dw[%d], values->%s, %s);" %
- (v_address, index, dw.address.name, v))
+ (v_address, index, dw.address.name + field.dim, v))
v = v_address
print(" dw[%d] = %s;" % (index, v))
More information about the mesa-commit
mailing list