On Mon, Feb 26, 2018 at 3:10 PM, Jason Ekstrand <[email protected]> wrote:
> This patch would be much easier to review if the commit message had an > example of the change. > > On Wed, Feb 21, 2018 at 1:45 PM, Rafael Antognolli < > [email protected]> wrote: > >> Some instructions contain fields that are either an address or a value >> of some type based on the content of other fields, such as clear color >> values vs address. That works fine if these fields are in the less >> significant dword, the lower 32 bits of the address, because they get >> OR'ed with the address. But if they are in the higher 32 bits, they get >> discarded. >> >> On Gen10 we have fields that share space with the higher 16 bits of the >> address too. This commit makes sure those fields don't get discarded. >> >> Signed-off-by: Rafael Antognolli <[email protected]> >> --- >> src/intel/genxml/gen_pack_header.py | 9 +++++++-- >> 1 file changed, 7 insertions(+), 2 deletions(-) >> >> diff --git a/src/intel/genxml/gen_pack_header.py >> b/src/intel/genxml/gen_pack_header.py >> index e6cea8646ff..e81695e2aea 100644 >> --- a/src/intel/genxml/gen_pack_header.py >> +++ b/src/intel/genxml/gen_pack_header.py >> @@ -486,11 +486,16 @@ class Group(object): >> 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 + field.dim, >> v)) >> - v = v_address >> - >> + if len(dw.fields) > address_count: >> + print(" dw[%d] = %s;" % (index, v_address)) >> + print(" dw[%d] = (%s >> 32) | (%s >> 32);" % >> (index + 1, v_address, v)) >> + continue >> + else: >> + v = v_address >> > This code is gross but that's not your fault. I've been playing with it for an hour or so and haven't come up with anything better. Reviewed-by: Jason Ekstrand <[email protected]> > print(" dw[%d] = %s;" % (index, v)) >> print(" dw[%d] = %s >> 32;" % (index + 1, v)) >> >> + >> class Value(object): >> def __init__(self, attrs): >> self.name = safe_name(attrs["name"]) >> -- >> 2.14.3 >> >> _______________________________________________ >> mesa-dev mailing list >> [email protected] >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev >> > >
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
