On Mon, Oct 22, 2018 at 6:28 PM Ian Romanick <i...@freedesktop.org> wrote:
> On 10/20/2018 11:01 AM, Jason Ekstrand wrote: > > Previously, we would fail if a variable had an assigned but unknown bit > > size X and we tried to assign it an actual bit size. However, this is > > ok because, at the time we do the search, the variable does have an > > actual bit size and it will match X because of the NIR rules. > > --- > > src/compiler/nir/nir_algebraic.py | 8 ++++++-- > > 1 file changed, 6 insertions(+), 2 deletions(-) > > > > diff --git a/src/compiler/nir/nir_algebraic.py > b/src/compiler/nir/nir_algebraic.py > > index 34ea2ba9e68..bcefa3372b3 100644 > > --- a/src/compiler/nir/nir_algebraic.py > > +++ b/src/compiler/nir/nir_algebraic.py > > @@ -352,8 +352,12 @@ class BitSizeValidator(object): > > if var_class == 0: > > self._var_classes[var.index] = bit_class > > else: > > - canon_class = self._class_relation.get_canonical(var_class) > > - assert canon_class < 0 or canon_class == bit_class > > + canon_bit_class = self._class_relation.get_canonical(var_class) > > + canon_var_class = self._class_relation.get_canonical(bit_class) > > Are the _bit_ and _var_ names transposed in the left-hand side, or am I > not understanding something? Or both? :) > Uh.... Oops... Fortunately, it doesn't matter since it's just used in this check. I pushed this today with Samuel's review. I'll send out a fixup patch. --Jason > > + assert canon_var_class < 0 or canon_bit_class < 0 or \ > > + canon_var_class == canon_bit_class, \ > > + 'Variable {0} cannot be both {1}-bit and {2}-bit' \ > > + .format(str(var), bit_class, var_class) > > var_class = self._class_relation.add_equiv(var_class, > bit_class) > > self._var_classes[var.index] = var_class > > > > > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev