Bug 60553 - [trine2] wrong colors when executed fullscreen
[trine2] wrong colors when executed fullscreen
Status: RESOLVED FIXED
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/r600
git
x86-64 (AMD64) Linux (All)
: medium normal
Assigned To: Default DRI bug account
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-02-09 18:00 UTC by Laurent carlier
Modified: 2015-05-14 12:57 UTC (History)
1 user (show)

See Also:


Attachments
Trine2 screen with wrong colors (290.29 KB, image/jpeg)
2013-02-09 18:00 UTC, Laurent carlier
Details
trine2 with correct rendering (windowed) (186.19 KB, image/jpeg)
2013-02-09 18:06 UTC, Laurent carlier
Details
Trine 2 in fullscreen, heavy miss rendering. (1.45 MB, text/plain)
2013-05-04 21:27 UTC, letharion
Details
Trine 2 in fullscreen, heavy miss rendering. (307.02 KB, image/jpeg)
2013-05-04 21:29 UTC, letharion
Details
Trine 2 windowed. Proper rendering. (270.09 KB, image/jpeg)
2013-05-04 21:29 UTC, letharion
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Laurent carlier 2013-02-09 18:00:36 UTC
Created attachment 74499 [details]
Trine2 screen with wrong colors

* mesa from git
* xf86-video-ati-7.0.0
* radeon HD6870

Trine2 game colors are wrong when running fullscreen, not windowed. Here is the start of an apitrace output (it fail with an error):

[lordh@archMain Trine 2]$ apitrace dump trine2_linux_32bit.trace 
6 glXChooseVisual(dpy = 0xcfdcfb8, screen = 0, attribList = {GLX_RGBA, GLX_RED_SIZE, GLX_LEVEL, GLX_GREEN_SIZE, GLX_LEVEL, GLX_BLUE_SIZE, GLX_BUFFER_SIZE, GLX_DOUBLEBUFFER, GLX_DEPTH_SIZE, GLX_ACCUM_BLUE_SIZE, 0}) = &{visual = 0xcfe8b28, visualid = 557, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}
7 glXCreateContext(dpy = 0xcfdcfb8, vis = &{visual = 0xcfe8b28, visualid = 557, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}, shareList = NULL, direct = True) = 0xcfd3240
8 glXMakeCurrent(dpy = 0xcfdcfb8, drawable = 98566146, ctx = 0xcfd3240) = True
14 glXMakeCurrent(dpy = 0xcfdcfb8, drawable = 0, ctx = NULL) = True
15 glXDestroyContext(dpy = 0xcfdcfb8, ctx = 0xcfd3240)
16 glXChooseVisual(dpy = 0xcfdcfb8, screen = 0, attribList = {GLX_RGBA, GLX_RED_SIZE, GLX_LEVEL, GLX_GREEN_SIZE, GLX_LEVEL, GLX_BLUE_SIZE, GLX_BUFFER_SIZE, GLX_DOUBLEBUFFER, GLX_DEPTH_SIZE, GLX_ACCUM_BLUE_SIZE, 0}) = &{visual = 0xcfe8b28, visualid = 557, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}
17 glXCreateContext(dpy = 0xcfdcfb8, vis = &{visual = 0xcfe8b28, visualid = 557, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}, shareList = NULL, direct = True) = 0xd025658
18 glXMakeCurrent(dpy = 0xcfdcfb8, drawable = 98566149, ctx = 0xd025658) = True
21 glXMakeCurrent(dpy = 0xcfdcfb8, drawable = 0, ctx = NULL) = True
22 glXDestroyContext(dpy = 0xcfdcfb8, ctx = 0xd025658)
29 glXChooseVisual(dpy = 0xcfdcfb8, screen = 0, attribList = {GLX_RGBA, GLX_RED_SIZE, GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_RED_SIZE, GLX_BLUE_SIZE, GLX_RED_SIZE, GLX_DOUBLEBUFFER, GLX_DEPTH_SIZE, 24, GLX_STENCIL_SIZE, GLX_RED_SIZE, 0}) = &{visual = 0xcfe8be8, visualid = 563, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}
30 glXCreateContext(dpy = 0xcfdcfb8, vis = &{visual = 0xcfe8be8, visualid = 563, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}, shareList = NULL, direct = True) = 0xd000248
31 glXMakeCurrent(dpy = 0xcfdcfb8, drawable = 98566152, ctx = 0xd000248) = True
37 glXMakeCurrent(dpy = 0xcfdcfb8, drawable = 0, ctx = NULL) = True
38 glXDestroyContext(dpy = 0xcfdcfb8, ctx = 0xd000248)
39 glXChooseVisual(dpy = 0xcfdcfb8, screen = 0, attribList = {GLX_RGBA, GLX_RED_SIZE, GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_RED_SIZE, GLX_BLUE_SIZE, GLX_RED_SIZE, GLX_DOUBLEBUFFER, GLX_DEPTH_SIZE, 24, GLX_STENCIL_SIZE, GLX_RED_SIZE, 0}) = &{visual = 0xcfe8be8, visualid = 563, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}
error: unknown event 4
Comment 1 Laurent carlier 2013-02-09 18:06:15 UTC
Created attachment 74500 [details]
trine2 with correct rendering (windowed)
Comment 2 Laurent carlier 2013-02-09 18:15:36 UTC
Tracing the game windows gives a working trace:

6 glXChooseVisual(dpy = 0xc4d0010, screen = 0, attribList = {GLX_RGBA, GLX_RED_SIZE, GLX_LEVEL, GLX_GREEN_SIZE, GLX_LEVEL, GLX_BLUE_SIZE, GLX_BUFFER_SIZE, GLX_DOUBLEBUFFER, GLX_DEPTH_SIZE, GLX_ACCUM_BLUE_SIZE, 0}) = &{visual = 0xc4dbb80, visualid = 557, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}
7 glXCreateContext(dpy = 0xc4d0010, vis = &{visual = 0xc4dbb80, visualid = 557, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}, shareList = NULL, direct = True) = 0xc4e8bc0
8 glXMakeCurrent(dpy = 0xc4d0010, drawable = 23068674, ctx = 0xc4e8bc0) = True
14 glXMakeCurrent(dpy = 0xc4d0010, drawable = 0, ctx = NULL) = True
15 glXDestroyContext(dpy = 0xc4d0010, ctx = 0xc4e8bc0)
16 glXChooseVisual(dpy = 0xc4d0010, screen = 0, attribList = {GLX_RGBA, GLX_RED_SIZE, GLX_LEVEL, GLX_GREEN_SIZE, GLX_LEVEL, GLX_BLUE_SIZE, GLX_BUFFER_SIZE, GLX_DOUBLEBUFFER, GLX_DEPTH_SIZE, GLX_ACCUM_BLUE_SIZE, 0}) = &{visual = 0xc4dbb80, visualid = 557, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}
17 glXCreateContext(dpy = 0xc4d0010, vis = &{visual = 0xc4dbb80, visualid = 557, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}, shareList = NULL, direct = True) = 0xc518380
18 glXMakeCurrent(dpy = 0xc4d0010, drawable = 23068677, ctx = 0xc518380) = True
21 glXMakeCurrent(dpy = 0xc4d0010, drawable = 0, ctx = NULL) = True
22 glXDestroyContext(dpy = 0xc4d0010, ctx = 0xc518380)
29 glXChooseVisual(dpy = 0xc4d0010, screen = 0, attribList = {GLX_RGBA, GLX_RED_SIZE, GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_RED_SIZE, GLX_BLUE_SIZE, GLX_RED_SIZE, GLX_DOUBLEBUFFER, GLX_DEPTH_SIZE, 24, GLX_STENCIL_SIZE, GLX_RED_SIZE, 0}) = &{visual = 0xc4dbc40, visualid = 563, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}
30 glXCreateContext(dpy = 0xc4d0010, vis = &{visual = 0xc4dbc40, visualid = 563, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}, shareList = NULL, direct = True) = 0xc4c6d00
31 glXMakeCurrent(dpy = 0xc4d0010, drawable = 23068680, ctx = 0xc4c6d00) = True
37 glXMakeCurrent(dpy = 0xc4d0010, drawable = 0, ctx = NULL) = True
38 glXDestroyContext(dpy = 0xc4d0010, ctx = 0xc4c6d00)
39 glXChooseVisual(dpy = 0xc4d0010, screen = 0, attribList = {GLX_RGBA, GLX_RED_SIZE, GLX_RED_SIZE, GLX_GREEN_SIZE, GLX_RED_SIZE, GLX_BLUE_SIZE, GLX_RED_SIZE, GLX_DOUBLEBUFFER, GLX_DEPTH_SIZE, 24, GLX_STENCIL_SIZE, GLX_RED_SIZE, 0}) = &{visual = 0xc4dbc40, visualid = 563, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}
40 glXCreateContext(dpy = 0xc4d0010, vis = &{visual = 0xc4dbc40, visualid = 563, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 8}, shareList = NULL, direct = True) = 0xc4fda30
41 glXMakeCurrent(dpy = 0xc4d0010, drawable = 23068683, ctx = 0xc4fda30) = True
........ and so on......
Comment 3 letharion 2013-03-11 14:51:04 UTC
I can confirm I have the same issue. Works in windowed, colors wrong in fullscreen, and some objects fail to render completely during gameplay.

Radeon HD 6550D
Mesa 9.1
xf86-video-ati 7.1.0
Comment 4 Laurent carlier 2013-04-30 22:01:11 UTC
It seem now fixed with:
3.1 (Core Profile) Mesa 9.2.0 (git-c4bea00)

So, closing
Comment 5 letharion 2013-05-04 21:26:34 UTC
Running with mesa as of c4150123aa9c2a71a62fed800d7c4424e9b948f2 I do not see this fixed.

The problems in the main menu, as shows in the screenshots already attached, remain. I'll attach images of gameplay as well, as the effect is shown more clearly there.
Comment 6 letharion 2013-05-04 21:27:41 UTC
Created attachment 78860 [details]
Trine 2 in fullscreen, heavy miss rendering.
Comment 7 letharion 2013-05-04 21:29:12 UTC
Created attachment 78861 [details]
Trine 2 in fullscreen, heavy miss rendering.
Comment 8 letharion 2013-05-04 21:29:44 UTC
Created attachment 78862 [details]
Trine 2 windowed. Proper rendering.
Comment 9 Laurent carlier 2014-09-05 07:16:11 UTC
Is it still an issue?
Comment 10 letharion 2015-05-14 12:57:56 UTC
I tested on the current git version today, and this is no longer an issue. :)