Bug 97969 - [radeonsi, bisected: fb827c0] Video decoding shows green artifacts
Summary: [radeonsi, bisected: fb827c0] Video decoding shows green artifacts
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/radeonsi (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact: Default DRI bug account
URL:
Whiteboard:
Keywords:
: 98010 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-09-29 04:52 UTC by Alexandre Demers
Modified: 2016-10-05 03:27 UTC (History)
7 users (show)

See Also:
i915 platform:
i915 features:


Attachments
possible fix (1.68 KB, patch)
2016-09-29 14:52 UTC, Nicolai Hähnle
Details | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandre Demers 2016-09-29 04:52:22 UTC
Using R9 280X. Since today, playing videos with VLC displays green artifacts. Tested with a few videos (mostly mp4 and mkv).

---
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: X.Org (0x1002)
    Device: AMD TAHITI (DRM 2.46.0 / 4.7.0-AGD5F-g4ae4f77-dirty, LLVM 4.0.0) (0x6798)
    Version: 12.1.0
    Accelerated: yes
    Video memory: 3072MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.3
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
---

Bisecting points to the following bad commit

fb827c055cb1bdd2b18d0687c06c56b537d805f3 is the first bad commit
commit fb827c055cb1bdd2b18d0687c06c56b537d805f3
Author: Nicolai Hähnle <nicolai.haehnle@amd.com>
Date:   Mon Sep 12 12:19:47 2016 +0200

    winsys/radeon: enable buffer allocation from slabs
    
    Only enable for chips with GPUVM, because older driver paths do not take the
    required offset into account.
    
    Reviewed-by: Marek Olšák <marek.olsak@amd.com>

:040000 040000 4e1327d4b72890178a2057d2341971001f2de54d d162404a219307e5f6cda1009b864e66f23f4e63 M	src
Comment 1 Alex Deucher 2016-09-29 13:48:56 UTC
*** Bug 97976 has been marked as a duplicate of this bug. ***
Comment 2 Nicolai Hähnle 2016-09-29 14:52:47 UTC
Created attachment 126871 [details] [review]
possible fix

Does the attached patch fix the problem for you?
Comment 3 Alexandre Demers 2016-09-29 22:05:41 UTC
With the patch, when playing problematic videos, I get a black screen instead of a partial display with green artifacts.

Also, with and without the patch, dmesg catches the following when playing the problematic videos (I should have had a look previously):
[76261.125581] [drm:radeon_uvd_cs_parse [radeon]] *ERROR* Handle 0x8fd80001 already in use!
[76261.125594] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[76261.126059] [drm:radeon_uvd_cs_parse [radeon]] *ERROR* Handle 0x8fd80001 already in use!
[76261.126072] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[76261.126441] [drm:radeon_uvd_cs_parse [radeon]] *ERROR* Handle 0x8fd80001 already in use!
[76261.126452] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
Comment 4 Nicolai Hähnle 2016-09-30 10:47:59 UTC
Should be fixed in Mesa master as of commit 13cb41f666212ed50a7939a37a373b4431a84033. Please re-open if the problem persists.
Comment 5 Alexandre Demers 2016-09-30 14:59:15 UTC
(In reply to Nicolai Hähnle from comment #4)
> Should be fixed in Mesa master as of commit
> 13cb41f666212ed50a7939a37a373b4431a84033. Please re-open if the problem
> persists.

I still get a black screen when plating problematic videos with the latest Mesa from git as of this morning. And I still get the following error:
[...]
[  286.174162] [drm:radeon_uvd_cs_parse [radeon]] *ERROR* invalid reloc offset 13FA000!
[  286.174174] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[  286.198203] [drm:radeon_uvd_cs_parse [radeon]] *ERROR* invalid reloc offset 148F000!
[  286.198215] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[  286.246226] [drm:radeon_uvd_cs_parse [radeon]] *ERROR* invalid reloc offset 1524000!
[  286.246238] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
[  286.270245] [drm:radeon_uvd_cs_parse [radeon]] *ERROR* invalid reloc offset A1D000!
[  286.270257] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
Comment 6 Tom 2016-10-01 12:25:06 UTC
I confirm a bug. It occurs when playing h264 encoded videos using hardware vdpau acceleration. It happens using many players (tested with mpv, vlc), kernel 4.7, 4.8 and current mesa-git.

glxinfo:

OpenGL renderer string: Gallium 0.4 on AMD BONAIRE (DRM 2.46.0 / 4.8.0-rc8-mainline, LLVM 4.0.0)
OpenGL core profile version string: 4.3 (Core Profile) Mesa 12.1.0-devel (git-1d466b9)


dmesg messages while playing videos:

[  212.406985] [drm:radeon_uvd_cs_parse [radeon]] *ERROR* Handle 0x3a200001 already in use!
[  212.406999] [drm:radeon_cs_ioctl [radeon]] *ERROR* Invalid command stream !
Comment 7 Michel Dänzer 2016-10-03 02:51:39 UTC
*** Bug 98010 has been marked as a duplicate of this bug. ***
Comment 8 Nicolai Hähnle 2016-10-04 08:56:05 UTC
Now that I actually got to test this on radeon rather than just amdgpu, the problem was pretty obvious. It's fixed for me with https://patchwork.freedesktop.org/patch/113573/. I apologize for the inconvenience.
Comment 9 Alexandre Demers 2016-10-05 03:27:11 UTC
(In reply to Nicolai Hähnle from comment #8)
> Now that I actually got to test this on radeon rather than just amdgpu, the
> problem was pretty obvious. It's fixed for me with
> https://patchwork.freedesktop.org/patch/113573/. I apologize for the
> inconvenience.

Tested and it seems fixed over here. Closing.


bug/show.html.tmpl processed on Mar 24, 2017 at 12:01:13.
(provided by the Example extension).