Bug 69081

Summary: [radeonsi] Incorrect rendering of textures
Product: Mesa Reporter: José Suárez <j.suarez.agapito>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: alexander
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: CK II correctly rendered (fglrx)
CK II incorrectly rendered (radeonsi)
CK II shaders dump
KF correct textures
KF textures showing black
KF shaders dump
CK II screenshot with LLVM 3.4 svn
CK II screenshot with LLVM 3.4 svn
CK II shader dump with LLVM 3.4 svn
CK II screenshot #1 with LLVM 3.4 svn
CK II screenshot #2 with LLVM 3.4 svn

Description José Suárez 2013-09-08 02:03:45 UTC
First of all, thank you very much for the effort applied on the radeonsi driver. It's getting a nice shape quite quickly.

I have noticed some problems with the rendering on some games, such as Killing Floor ("KF") and Crusader Kings II ("CK II").

The problem consists in that certain textures appear as black. This is not related to a dxtn problem, but rather it seems to be related to the way the (global?, in the case of CK II) illumination of the scene is applied. I have made this conclusion based on the fact that although on CK II all the terrain textures show a black colour (check the screenshots attached below, one of them with radeonsi, the other one with fglrx), on KF sometimes a texture is shown correct but a few steps ahead it is shown black. This usually happens when there is something blocking a source of illumination (check the two screenshots attached below, where one is taken like just one step ahead or behind of the other screenshot, both with radeonsi).

I believe the bugs on both games are the same or at least related and thus I am only opening a bug report.

My PC specs are as follows (taken from steam's system info):

Información sobre el procesador:
    Fabricante:  AuthenticAMD
    CPU Family:  0x15
    CPU Model:  0x1
    CPU Stepping:  0x2
    CPU Type:  0x0
    Velocidad: 3600 Mhz
    Procesadores lógicos 8
    Procesadores físicos 8
    HyperThreading:  No compatible
    FCMOV:  Compatible
    SSE2:  Compatible
    SSE3:  Compatible
    SSSE3:  Compatible
    SSE4a:  Compatible
    SSE41:  Compatible
    SSE42:  Compatible
    
Información sobre la red:
    Velocidad de la red:  
    
Versión del sistema operativo:
    Ubuntu 13.04 (64 bits)
    Nombre de kernel: Linux
    Versión de kernel: 3.11.0-031100-generic
    Editor de X Server: The X.Org Foundation
    Versión de X Server: 11303000
    Gestor X Window: KWin
    Versión del runtime de Steam: steam-runtime-release_2013-09-05
    
Tarjeta de vídeo:
    Controlador:  X.Org Gallium 0.4 on AMD PITCAIRN

    Versión de controlador: 2.1 Mesa 9.3.0-devel (git-505fad0 raring-oibaf-ppa)
    OpenGL Version: 2.1
    Densidad de color del escritorio: 24 bits por píxel
    Frecuencia de actualización del monitor: 60 Hz
    Identificador del fabricante: 0x1002
    Identificador del dispositivo: 0x6818
    Número de monitores: 1
    Número de tarjetas de vídeo lógicas: 1
    Resolución de pantalla principal: 1920 x 1080
    Resolución de escritorio: 1920 x 1080
    Tamaño de pantalla principal: 18,78" x 10,55"  (21,54" diag)
                                            47,7cm x 26,8cm  (54,7cm diag)
    No se ha detectado la memoria VRAM principal
    
Tarjeta de sonido:
    Dispositivo de sonido: Realtek ALC889
    
Memoria:
    RAM:  15993 Mb
    
Varios:
    Idioma de la IU:  Español
    LANG:  es_ES.UTF-8
    Micrófono:  Not set
    Espacio total en disco disponible: 469324 MB
    Bloque libre más grande en el disco: 187784 MB
    
Software Instalado:
    
Informes de fallos recientes:
    
The GPU is a Radeon HD 7870. VRAM is 2 GB. Mesa's version is shown above (9.3 git 505fad0), plus llvm's version is 3.3-5ubuntu1~r~gd, installed from oibaf's ppa.

I am also attaching the shader dumps from CK II and KF (in the map in which the screenshots were taken and having passed where the bug shows).

Please, if any other information is needed, just let me know.

Regards,

José
Comment 1 José Suárez 2013-09-08 02:05:01 UTC
Created attachment 85409 [details]
CK II correctly rendered (fglrx)
Comment 2 José Suárez 2013-09-08 02:05:42 UTC
Created attachment 85410 [details]
CK II incorrectly rendered (radeonsi)
Comment 3 José Suárez 2013-09-08 02:06:14 UTC
Created attachment 85411 [details]
CK II shaders dump
Comment 4 José Suárez 2013-09-08 02:06:47 UTC
Created attachment 85412 [details]
KF correct textures
Comment 5 José Suárez 2013-09-08 02:07:21 UTC
Created attachment 85413 [details]
KF textures showing black
Comment 6 José Suárez 2013-09-08 02:08:15 UTC
Created attachment 85414 [details]
KF shaders dump
Comment 7 José Suárez 2013-09-08 02:10:50 UTC
Sorry, I forgot to add that on a Radeon HD 4570 (r600g driver) (a laptop), this/these bug/s do not show (i.e., the textures are rendered correctly). If needed, I can try to get a shader dump of CK II from that laptop.

Regards,

José
Comment 8 Michel Dänzer 2013-09-18 09:05:15 UTC
For CK II, you need an LLVM 3.4 snapshot from Git/SVN. Not sure what the problem is with KF, let's see if the newer LLVM helps for that as well.
Comment 9 José Suárez 2013-09-18 20:34:04 UTC
Thank you, Michel.

I have compiled 9.3~git1309181129.ec44d5 with llvm 3.4~svn190862. CK II now works much better as the map can be seen. However, the faces of the characters do not show correctly. I am attaching two screenshots and the shader dump in case it helps.

KF still shows the same problem, so it is probable that both problems were unrelated.
Comment 10 José Suárez 2013-09-18 20:35:02 UTC
Created attachment 86100 [details]
CK II screenshot with LLVM 3.4 svn
Comment 11 José Suárez 2013-09-18 20:35:41 UTC
Created attachment 86101 [details]
CK II screenshot with LLVM 3.4 svn
Comment 12 José Suárez 2013-09-18 20:37:08 UTC
Created attachment 86102 [details]
CK II shader dump with LLVM 3.4 svn
Comment 13 José Suárez 2013-09-18 20:39:06 UTC
Sorry, I should have specified the screenshots as images. Trying again...
Comment 14 José Suárez 2013-09-18 20:40:08 UTC
Created attachment 86105 [details]
CK II screenshot #1 with LLVM 3.4 svn
Comment 15 José Suárez 2013-09-18 20:40:45 UTC
Created attachment 86106 [details]
CK II screenshot #2 with LLVM 3.4 svn
Comment 16 Michel Dänzer 2013-09-19 10:00:52 UTC
(In reply to comment #9)
> KF still shows the same problem, so it is probable that both problems were
> unrelated.

Yes, so the KF problem should be tracked separately.

For CK II, there are no shader compilation failures anymore. It could be useful if you could generate an apitrace, so we can isolate how it's trying to render the faces.
Comment 17 José Suárez 2013-10-29 20:55:34 UTC
I haven't been able to apitrace the bug (I am using a x86_64 system and could not install the required packages neither do I think I would have had the expertise to do so :( ). However, I am happy to announce that as of mesa 10.0~git1310251530.980755 and llvm 3.4~svn193504 this problem (the CKII face textures) has been fixed.

Thank you, Michel for your help.

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.