dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@freedesktop.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 111241] Shadertoy shader causing hang
Date: Wed, 14 Aug 2019 12:56:48 +0000	[thread overview]
Message-ID: <bug-111241-502-9ooqm0hLQl@http.bugs.freedesktop.org/> (raw)
In-Reply-To: <bug-111241-502@http.bugs.freedesktop.org/>


[-- Attachment #1.1: Type: text/plain, Size: 1188 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=111241

--- Comment #6 from Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> ---
I've created a different shadertoy showing the problem:
https://www.shadertoy.com/view/Wt2SW1 (but this one doesn't hang the GPU).

The shader for "Buffer A" is:

  0: MOV TEMP[0], SV[0]
  1: MAD TEMP[0].y, SV[0], CONST[0][2].xxxx, CONST[0][2].yyyy
  2: MOV OUT[0], IMM[0].xxxx
  3: USEQ TEMP[1].x, CONST[0][1].xxxx, IMM[1].xxxx
  4: UIF TEMP[1].xxxx
  5:   ADD TEMP[2], TEMP[2], -TEMP[2]
  6: ELSE
  [...]
 13: MOV OUT[0], TEMP[2]
 14: END

TEMP[2] is used before being assigned a value, so I suppose that's what allows
LLVM to turn line 5 in:

   v_mov_b32_e32 v3, 0x7fc00000
   v_mov_b32_e32 v2, 0x7fc00000
   v_mov_b32_e32 v1, 0x7fc00000
   v_mov_b32_e32 v0, 0x7fc00000

(ie: output is NaN)

A possible way to fix this is to transform "dst = x - x" operations in "dst =
0" which is what nir does in its nir_opt_algebraic pass.

I've open a MR to fix/discuss this issue:
https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1681

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 2117 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2019-08-14 12:56 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-28 18:06 [Bug 111241] Shadertoy shader causing hang bugzilla-daemon
2019-08-08 21:34 ` bugzilla-daemon
2019-08-09  0:15 ` bugzilla-daemon
2019-08-09 16:22 ` bugzilla-daemon
2019-08-09 16:22 ` bugzilla-daemon
2019-08-09 16:22 ` bugzilla-daemon
2019-08-14 12:56 ` bugzilla-daemon [this message]
2019-08-29 23:57 ` bugzilla-daemon
2019-08-30  0:05 ` bugzilla-daemon
2019-08-30  0:06 ` bugzilla-daemon
2019-08-30  0:11 ` bugzilla-daemon
2019-08-30 11:56 ` bugzilla-daemon
2019-08-30 23:57 ` bugzilla-daemon
2019-09-02 23:47 ` bugzilla-daemon
2019-09-03 12:00 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-111241-502-9ooqm0hLQl@http.bugs.freedesktop.org/ \
    --to=bugzilla-daemon@freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox