[Mesa-dev] [PATCH 2/3] i965/vec4: Don't fix_math_operand() on Gen >= 8.

Matt Turner mattst88 at gmail.com
Tue Jun 24 11:55:25 PDT 2014


On Mon, Jun 23, 2014 at 7:36 PM, Ben Widawsky <ben at bwidawsk.net> wrote:
> On Mon, Jun 23, 2014 at 01:30:14PM -0700, Matt Turner wrote:
>> The emit_math?_gen? functions serve to implement workarounds for the
>> math instruction, none of which exist on Gen8+.
>
> There are still several restrictions with the math instruction on gen8.
> Looking at the existing code, I realize I do not quite see even all the
> gen7 restrictions, so I am not qualified to determine if you accounted
> for gen8.

We don't represent some of these at this level, like vertical stride.
When we're assembling instructions later (in brw_eu_emit.c:gen6_math
and gen8_generator.cpp:gen8_generator::math which should be going away
soon) we have a bunch of assertions that verify these restrictions. It
looks like you're right that we don't have asserts to check the Gen7
restrictions, and our asserts in the Gen8 code seem to be lacking the
check you mentioned below.

> In particular, stride of src, and dest must be the same, and
> "Regioning must ensure Src.Vstride = Src.Width * Src.Hstride"
>
> The rest of the series is:
> Reviewed-by: Ben Widawsky <ben at bwidawsk.net>
>
> If you can convince me these cases are solid here, this one is also r-b
>
> Thanks. (sorry for my ignorance)

Thanks for the review and the good question.


More information about the mesa-dev mailing list