Bug 86789

Summary: Roundabout game, green tint on open source radeon driver
Product: Mesa Reporter: Alexander von Gluck <kallisti5>
Component: Drivers/Gallium/r600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium CC: dan, idr
Version: 10.3   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Xorg log
green tint video playback
YUV to RGB shader

Description Alexander von Gluck 2014-11-27 14:44:14 UTC
Seems like playing the roundabout game results in a green tint on video playback.  Reported on Debian testing and ArchLinux.

extra/mesa 10.3.4-1 [installed]
extra/mesa-demos 8.2.0-3 [installed]
extra/mesa-dri 10.3.4-1 [installed]
extra/mesa-libgl 10.3.4-1 [installed]
extra/mesa-vdpau 10.3.4-1 [installed]
multilib/lib32-mesa 10.3.4-1 [installed]
multilib/lib32-mesa-demos 8.2.0-2 [installed]
multilib/lib32-mesa-dri 10.3.4-1 [installed]
multilib/lib32-mesa-libgl 10.3.4-1 [installed]



OpenGL renderer string: Gallium 0.4 on AMD CYPRESS


01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cypress LE [Radeon HD 5830]
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cypress HDMI Audio [Radeon HD 5800 Series]

Attached is a screenshot of issue and Xorg logs
Comment 1 Alexander von Gluck 2014-11-27 14:44:39 UTC
Created attachment 110127 [details]
Xorg log
Comment 2 Alexander von Gluck 2014-11-27 14:45:28 UTC
Created attachment 110128 [details]
green tint video playback
Comment 3 Alexander von Gluck 2014-11-27 16:27:13 UTC
Kernel:

3.17.4-1-ARCH

$ dmesg | grep drm
[    3.729060] [drm] Initialized drm 1.1.0 20060810
[    3.769561] [drm] radeon kernel modesetting enabled.
[    3.769662] fb: switching to radeondrmfb from VESA VGA
[    3.771156] [drm] initializing kernel modesetting (CYPRESS 0x1002:0x689E 0x1682:0x3070).
[    3.771172] [drm] register mmio base: 0xFEA20000
[    3.771173] [drm] register mmio size: 131072
[    3.771308] [drm] Detected VRAM RAM=1024M, BAR=256M
[    3.771309] [drm] RAM width 256bits DDR
[    3.771474] [drm] radeon: 1024M of VRAM memory ready
[    3.771476] [drm] radeon: 1024M of GTT memory ready.
[    3.771498] [drm] Loading CYPRESS Microcode
[    3.776860] [drm] Internal thermal controller with fan control
[    3.819016] [drm] radeon: dpm initialized
[    3.820115] [drm] GART: num cpu pages 262144, num gpu pages 262144
[    3.821523] [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0
[    3.836059] [drm] PCIE GART of 1024M enabled (table at 0x000000000025D000).
[    3.836899] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    3.836900] [drm] Driver supports precise vblank timestamp query.
[    3.836947] [drm] radeon: irq initialized.
[    3.853324] [drm] ring test on 0 succeeded in 1 usecs
[    3.853329] [drm] ring test on 3 succeeded in 2 usecs
[    4.060449] [drm] ring test on 5 succeeded in 1 usecs
[    4.060454] [drm] UVD initialized successfully.
[    4.060744] [drm] ib test on ring 0 succeeded in 0 usecs
[    4.060765] [drm] ib test on ring 3 succeeded in 0 usecs
[    4.232148] [drm] ib test on ring 5 succeeded
[    4.232932] [drm] Radeon Display Connectors
[    4.232934] [drm] Connector 0:
[    4.232935] [drm]   DP-1
[    4.232936] [drm]   HPD4
[    4.232938] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
[    4.232939] [drm]   Encoders:
[    4.232941] [drm]     DFP1: INTERNAL_UNIPHY2
[    4.232942] [drm] Connector 1:
[    4.232943] [drm]   HDMI-A-1
[    4.232944] [drm]   HPD5
[    4.232946] [drm]   DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c
[    4.232947] [drm]   Encoders:
[    4.232948] [drm]     DFP2: INTERNAL_UNIPHY2
[    4.232949] [drm] Connector 2:
[    4.232949] [drm]   DVI-I-1
[    4.232950] [drm]   HPD1
[    4.232951] [drm]   DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c 0x645c
[    4.232952] [drm]   Encoders:
[    4.232953] [drm]     DFP3: INTERNAL_UNIPHY1
[    4.232954] [drm]     CRT2: INTERNAL_KLDSCP_DAC2
[    4.232955] [drm] Connector 3:
[    4.232955] [drm]   DVI-I-2
[    4.232956] [drm]   HPD6
[    4.232957] [drm]   DDC: 0x6470 0x6470 0x6474 0x6474 0x6478 0x6478 0x647c 0x647c
[    4.232958] [drm]   Encoders:
[    4.232959] [drm]     DFP4: INTERNAL_UNIPHY
[    4.232960] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[    4.297829] [drm] fb mappable at 0xC045E000
[    4.297834] [drm] vram apper at 0xC0000000
[    4.297837] [drm] size 9216000
[    4.297839] [drm] fb depth is 24
[    4.297842] [drm]    pitch is 7680
[    4.298037] fbcon: radeondrmfb (fb0) is primary device
[    4.326106] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[    4.350357] [drm] Initialized radeon 2.40.0 20080528 for 0000:01:00.0 on minor 0
Comment 4 Dan Teasdale 2014-12-02 00:26:13 UTC
Created attachment 110333 [details]
YUV to RGB shader

Hey, I'm a developer on Roundabout - Alexander pointed me to this bug report.

It looks like our YUV to RGB shader is failing to compile properly on these drivers. I've attached the source for this shader to the bug report to help you track down any compilation issues, let me know if there's anything else I can attach to help track down this issue.
Comment 5 Ian Romanick 2014-12-02 22:30:35 UTC
Since this is actually a Cg shader, it's hard to say for sure.  Is the error log from the driver available?

Depending on the GLSL version that is used, it is probably these lines:

	float y = yuv.b *255;
	float u = yuv.g *255;
	float v = yuv.r *255;

Many GLSL versions do not do automatic type conversions.  If you change these to

	float y = yuv.b *255.;
	float u = yuv.g *255.;
	float v = yuv.r *255.;

it should work.  Some of the other constants may need similar treatment.

You could also request a GLSL version that does automatic conversions (1.20 or later).
Comment 6 GitLab Migration User 2019-09-18 19:18:42 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/534.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.