[Mesa-dev] [PATCH 1/5] genxml: Fix parsing of address fields in groups.
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Tue May 30 22:31:21 UTC 2017
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
On 20/05/17 08:24, Kenneth Graunke wrote:
> 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);
> ...
> ---
> 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 020dbe40a60..fefbc9aeccb 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-dev
mailing list