Bug 80584

Summary: XCOM: Enemy Unknown incorrect hair rendering
Product: Mesa Reporter: Ryan Williams <theamazingjanet>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: dex+fdobugzilla, felix.schwarz, kai
Version: 10.1   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 77449    
Attachments: XCOM: Enemy Unknown Screenshot 1
XCOM: Enemy Unknown Screenshot 2
XCOM: Enemy Unknown Screenshot 1
XCOM: Enemy Unknown Screenshot 2
Another variant of incorrectly rendered hair

Description Ryan Williams 2014-06-27 08:30:20 UTC
Created attachment 101846 [details]
XCOM: Enemy Unknown Screenshot 1

Hair on certain characters in XCOM: Enemy Unknown does not look correct. See the attached screenshots. This occurs on both Mesa 10.1.3 + LLVM 3.4 and Mesa git + LLVM 3.4.2 via Oibaf PPA, Ubuntu 14.04.
Comment 1 Ryan Williams 2014-06-27 08:32:11 UTC
Created attachment 101847 [details]
XCOM: Enemy Unknown Screenshot 2
Comment 2 Ryan Williams 2014-06-27 08:34:02 UTC
Created attachment 101848 [details]
XCOM: Enemy Unknown Screenshot 1
Comment 3 Ryan Williams 2014-06-27 08:34:38 UTC
Created attachment 101849 [details]
XCOM: Enemy Unknown Screenshot 2
Comment 4 Kai 2014-07-27 11:36:31 UTC
Created attachment 103534 [details]
Another variant of incorrectly rendered hair

I'm seeing the same with radeonsi on a Hawaii. As you can see from the attached image, it looks a bit different from what the initial reporter saw.

The stack I'm using is:
GPU: Hawaii PRO [Radeon R9 290] (ChipID = 0x67b1)
Linux: Git:~agdf5/linux:drm-next-3.17-wip (calls itself 3.16-rc4?)
libdrm: Git:master/libdrm-2.4.55 + patch from http://lists.freedesktop.org/archives/dri-devel/2014-July/064743.html
LLVM: 3.5 RC1
libclc: Git:master/0ec7437d9c
Mesa: Git:master/74e100affc + some patches from Marek to fix Hawaii ("radeonsi: fix CMASK and HTILE calculations for Hawaii"; "gallium/util: add a helper for calculating primitive count from vertex count"; "radeonsi: fix a hang with instancing on Hawaii"; "radeonsi: fix a hang with streamout on Hawaii"; "winsys/radeon: fix vram_size overflow with Hawaii"; "radeonsi: fix occlusion queries on Hawaii"; "r600g, radeonsi: switch all occurences of array_size to util_max_layer") and can be found on mesa-dev.
DDX: 1:7.4.0-2 + Patch from http://people.freedesktop.org/~agd5f/0001-radeon-enable-hawaii-accel-conditionally.patch
X: 2:1.16.0-1 (1.16.0)
Comment 5 Daniel Exner 2014-12-13 13:00:18 UTC
I can confirm this for PITCAIRN as well.

Card: VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Pitcairn
      Subsystem: Micro-Star International Co., Ltd. Device 3036

Kernel: 3.18.0-rc7
libdrm: 2.4.58
mesa: git-gc97cbd7
llvm: 3.5
Comment 6 Daniel Exner 2014-12-17 08:18:57 UTC
I think this may be due to missing GL_ARB_tessellation_shader extension.

Mesa lists this as Status "started" but no driver implementation yet.

I'll try to evaluate the status of this and see if I can verify that its indeed this missing extension.

(That would also mean that XCOM is in fact OpenGL)
Comment 7 Daniel Exner 2014-12-17 08:20:36 UTC
OpenGL 4.0... Why can't I edit even my own comments!?
Comment 8 Daniel Exner 2014-12-20 18:10:22 UTC
I just tried the game with an Intel GPU and Mesa: Hair rendering is correct. So this is in fact something broken in radeonsi.
Comment 9 Daniel Exner 2015-01-07 22:39:55 UTC
With llvm SVN Rev 225358 and mesa from git ge28f9d0 as of today hair is rendered correctly on R270X :)

Can anyone of the other reporters confirm this?
Comment 10 Michel Dänzer 2015-01-08 02:36:14 UTC
The hair in L4D2 looks fine as well now, so let's assume this is fixed.

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.