[Mesa-dev] [Bug 100580] Adding unreachable "return" and "continue" in a GLSL shader leads to different image
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Apr 5 12:38:44 UTC 2017
https://bugs.freedesktop.org/show_bug.cgi?id=100580
Hugues Evrard <h.evrard at imperial.ac.uk> changed:
What |Removed |Added
----------------------------------------------------------------------------
URL|https://github.com/mc-imper |https://github.com/mc-imper
|ial/shader-compiler-bugs/tr |ial/shader-compiler-bugs/is
|ee/master/AMD-R9-Tonga-285- |sues/70
|380-Mesa-Linux/wrong_images |
|/large-v100-197d922443aac5d |
|a_inv_variant_48 |
--- Comment #1 from Hugues Evrard <h.evrard at imperial.ac.uk> ---
Steps to Reproduce:
-------------------------------
0. Note: this bug is experienced on an AMD GPU (tested on Tonga, see
below for more config details)
1. Obtain and build the latest release of get-image, a simple tool that
creates a .png image from a fragment shader
https://github.com/mc-imperial/get-image
2. From a terminal, execute:
/path/to/get_image/linux_out/install/bin/get_image original.frag
This will create output.png, which should look like original.png
3. From a terminal, execute:
/path/to/get_image/linux_out/install/bin/get_image variant.frag
This will create output.png, which should look like variant.png
Expected Results:
-------------------------------
Both shaders should render an image that looks like original.png. This
is because the only difference between the shader source files is the
addition, in the variant shader, of two unreachable "return" and
"continue" statements. The value of "injectionSwitch" is set to { 0.0,
1.0 }, such that the condition tested here is always false.
Diff:
```
27a28,29
> uniform vec2 injectionSwitch;
>
33a36,39
> if(injectionSwitch.x > injectionSwitch.y)
> {
> return vec2(1.0);
> }
120a127
> c = c;
202a210,213
> if(injectionSwitch.x > injectionSwitch.y)
> {
> continue;
> }
```
Actual Results:
-------------------------------
The shaders render different images, which they should not: the red
circle completely disappear in the variant image.
Additional Information:
-------------------------------
Some info on the system where the bug was found:
- CPU: AMD A10-7850K Radeon R7, 12 Compute Cores 4C+8G
- GPU: Advanced Micro Devices, Inc. [AMD/ATI] Tonga PRO [Radeon R9 285/380]
- Mesa: 17.1.0-devel (git-08df015)
- OS: Ubuntu 16.04, Linux 4.4.0-71-generic
--
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170405/419343d3/attachment.html>
More information about the mesa-dev
mailing list