[Mesa-dev] [PATCH] i965/vec4: check opcode on vec4_instruction::reads_flag(channel)
Kenneth Graunke
kenneth at whitecape.org
Fri Oct 23 08:46:00 PDT 2015
On Friday, October 23, 2015 04:04:35 PM Alejandro PiƱeiro wrote:
> Commit f17b78 added an alternative reads_flag(channel) that returned
> if the instruction was reading a specific channel flag. By mistake it
> only took into account the predicate, but when the opcode is
> VS_OPCODE_UNPACK_FLAGS_SIMD4X2 there isn't any predicate, but the flag
> are used.
>
> That mistake caused some regressions on old hw. More information on
> this bug:
> https://bugs.freedesktop.org/show_bug.cgi?id=92621
> ---
>
> The bug mentions G965, ILK and G45, but I only have available ILK to
> test, so it would be good if someone confirms that the regressions
> get solved on that hw too. Having said so, it would be strange if
> it is not the case.
>
> Additionally, the bug mentions 24 regressions. But it only lists 21.
> And I only detected 17 regressions on ILK. So it would be good
> to confirm how many regressions the series introduced, and if
> this new commit solve all of them.
>
> src/mesa/drivers/dri/i965/brw_ir_vec4.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_ir_vec4.h b/src/mesa/drivers/dri/i965/brw_ir_vec4.h
> index 74e9733..cc4104c 100644
> --- a/src/mesa/drivers/dri/i965/brw_ir_vec4.h
> +++ b/src/mesa/drivers/dri/i965/brw_ir_vec4.h
> @@ -188,8 +188,8 @@ public:
>
> bool reads_flag(unsigned c)
> {
> - if (!reads_flag())
> - return false;
> + if (opcode == VS_OPCODE_UNPACK_FLAGS_SIMD4X2)
> + return true;
>
> switch (predicate) {
> case BRW_PREDICATE_NONE:
>
Thanks, Alejandro!
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20151023/ba7e09ec/attachment-0001.sig>
More information about the mesa-dev
mailing list