[Mesa-dev] [PATCH 2/3] i965/vec4: Don't fix_math_operand() on Gen >= 8.
Ben Widawsky
ben at bwidawsk.net
Mon Jun 23 19:36:30 PDT 2014
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.
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)
> ---
> src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
> index f3316f8..3a360d4 100644
> --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
> @@ -365,7 +365,9 @@ vec4_visitor::emit_math(opcode opcode, dst_reg dst, src_reg src)
> return;
> }
>
> - if (brw->gen >= 6) {
> + if (brw->gen >= 8) {
> + emit(opcode, dst, src);
> + } else if (brw->gen >= 6) {
> emit_math1_gen6(opcode, dst, src);
> } else {
> emit_math1_gen4(opcode, dst, src);
> @@ -417,7 +419,9 @@ vec4_visitor::emit_math(enum opcode opcode,
> return;
> }
>
> - if (brw->gen >= 6) {
> + if (brw->gen >= 8) {
> + emit(opcode, dst, src0, src1);
> + } else if (brw->gen >= 6) {
> emit_math2_gen6(opcode, dst, src0, src1);
> } else {
> emit_math2_gen4(opcode, dst, src0, src1);
> --
> 1.8.3.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
--
Ben Widawsky, Intel Open Source Technology Center
More information about the mesa-dev
mailing list