Bug 104374

Summary: Cemu 1.11.1 via Wine using Mesa Mild exposes LLVM AMDGPU bugs on RX Vega..
Product: Mesa Reporter: oscar garcia <rtfss1>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED DUPLICATE QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: rtfss1
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description oscar garcia 2017-12-23 08:11:57 UTC
Hi,
two weeks ago tested Cemu 1.11.1 using Wine latest build (say 2.22 or 3.0rc1) and using Mesa Mild (https://github.com/mikakev1/mesa_mild_compatibility) because Cemu needs some OpenGL compat profile which mesa mild massages to get it working vs Mesa unpatched..
I tested Cemu with The Legend of Zelda™: Breath of the Wild 1.3.1 version..
I built Mesa Mild with LLVM 5.0.0 final and also LLVM 6.0dev at the time and all trigger the same bug.. 
note Mesa mild updates with Mesa master branch quite frequently so should be equivalent to 17.4.0dev..
doing it on Intel iGPU HD530 works correctly..
using a RX Vega GPU Cemu launches game correctly but at first graphical scene breaks compiling a shader..

LLVM ERROR: Cannot select: 0x7f71a053e0e8: f16 = bitcast 0x7f71a054fb58
  0x7f71a054fb58: i32 = srl 0x7f71a054faf0, Constant:i32<16>
    0x7f71a054faf0: i32 = bswap 0x7f71a054abd8
      0x7f71a054abd8: i32 = and 0x7f71a053dcd8, Constant:i32<65535>
        0x7f71a053dcd8: i32 = extract_vector_elt 0x7f71a053dc70, Constant:i32<0>
          0x7f71a053dc70: v4i32 = bitcast 0x7f71a053b568
            0x7f71a053b568: v4f32,ch = BUFFER_LOAD_FORMAT<LD16[TargetCustom7]> 0x7f71a04d63c8, 0x7f71a053b6a0, 0x7f71a05391b8, Constant:i32<0>, Constant:i1<0>, Constant:i1<0>
              0x7f71a053b6a0: v4i32,ch = load<LD16[%23(addrspace=2)](dereferenceable)(invariant)> 0x7f71a04d63c8, 0x7f71a053b638, undef:i64
                0x7f71a053b638: i64 = add 0x7f71a05388c8, Constant:i64<32>
                  0x7f71a05388c8: i64,ch = CopyFromReg 0x7f71a04d63c8, Register:i64 %vreg4
                  0x7f71a053b5d0: i64 = Constant<32>
                0x7f71a0539358: i64 = undef
              0x7f71a05391b8: i32,ch = CopyFromReg 0x7f71a04d63c8, Register:i32 %vreg15
                0x7f71a0539150: i32 = Register %vreg15
              0x7f71a0539490: i32 = Constant<0>
              0x7f71a053b360: i1 = Constant<0>
              0x7f71a053b360: i1 = Constant<0>
          0x7f71a0539490: i32 = Constant<0>
        0x7f71a0538658: i32 = Constant<65535>
    0x7f71a053fb00: i32 = Constant<16>
In function: main


there is a bug opened on mesa mild
"https://github.com/mikakev1/mesa_mild_compatibility/issues/1"

hope some help from AMDGPU devs..
thanks..
Comment 1 Emil Velikov 2017-12-25 17:58:17 UTC
Side note that may not be immediately obvious:

Cemu [Windows only, closed source, emulator] uses Compat GL profile :-\
People work around that via MESA_GL_VERSION_OVERRIDE=4.5COMPAT

Ideally someone will prod/help the Cemu devs to use Core profile instead.
Comment 2 João Henrique 2018-02-01 21:00:34 UTC
This is the same issue as https://bugs.freedesktop.org/show_bug.cgi?id=104902 and it is reproducible on non mesa_mild branches (such as Padoka PPA)

Included in that bug report is a piece of code to reproduce the issue without needing any additional data, only requiring SDL2 and GLEW.
Comment 3 Michel Dänzer 2018-02-02 15:14:38 UTC

*** This bug has been marked as a duplicate of bug 104902 ***

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.