Bug 68389

Summary: [radeonsi]Black screen in unigine-tropics
Product: Mesa Reporter: Vladimir Usikov <grantipak>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: grantipak
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: Black screen in unigine-tropics
Shader dump from unigine-tropics

Description Vladimir Usikov 2013-08-21 17:20:41 UTC
Created attachment 84399 [details]
Black screen in unigine-tropics

Subj!

ArchLinux x32; kernel 3.10; llvm - svn; mesa - git; Radeon HD 7950.

behem0th@ArchLinux ~ $ unigine-tropics_1024x768_windowed.sh 
Loading "/home/behem0th/.Unigine Tropics/unigine.cfg"...
Loading "libGL.so.1"...
Loading "libopenal.so.1"...
Set 1024x768 windowed video mode
Set 1.00 gamma value
Unigine engine http://unigine.com/
Binary: Linux 32bit GCC 4.3.2 Release May 20 2010
App path:  /opt/unigine-tropics/bin/
Data path: /opt/unigine-tropics/data/
Save path: /home/behem0th/.Unigine Tropics/

---- System ----
System: Linux 3.10.0-1-ARCH i686
CPU: AMD Phenom(tm) 9550 Quad-Core Processor 2200MHz MMX+ 3DNow!+ SSE SSE2 SSE3 SSE4A HTT
GPU: Gallium 0.4 on AMD TAHITI 2.1 Mesa 9.3.0-devel (git-10aa367)
System memory: 8095 Mb
Video memory:  256 Mb

---- MathLib ----
Set SSE3 simd processor

---- Sound ----
Renderer: OpenAL Soft
OpenAL vendor:   OpenAL Community
OpenAL renderer: OpenAL Soft
OpenAL version:  1.1 ALSOFT 1.15.1
Found AL_EXT_LINEAR_DISTANCE
Found AL_EXT_OFFSET
Found ALC_EXT_EFX
Found EFX Filter
Found EFX Reverb
Found EAX Reverb
Found QUAD16 format
Found 51CHN16 format
Found 61CHN16 format
Found 71CHN16 format
Maximum sources:         256
Maximum effect slots:    4
Maximum auxiliary sends: 2

---- Render ----
GLRender::GLRender(): Unknown GPU
OpenGL vendor:   X.Org
OpenGL renderer: Gallium 0.4 on AMD TAHITI
OpenGL version:  2.1 Mesa 9.3.0-devel (git-10aa367)
Found required GL_ARB_map_buffer_range
Found required GL_ARB_vertex_array_object
Found required GL_ARB_vertex_buffer_object
Found required GL_ARB_half_float_vertex
Found required GL_ARB_half_float_pixel
Found required GL_ARB_occlusion_query
Found required GL_EXT_texture3D
Found required GL_EXT_texture_cube_map
Found required GL_EXT_texture_sRGB
Found required GL_EXT_texture_swizzle
Found required GL_ARB_shader_object
Found required GL_ARB_vertex_shader
Found required GL_ARB_fragment_shader
Found required GL_ARB_draw_buffers
Found required GL_ARB_framebuffer_object
Found required GL_EXT_framebuffer_blit
Found required GL_EXT_framebuffer_multisample
Found optional GL_ARB_draw_instanced
Found optional GL_ARB_draw_elements_base_vertex
Found optional GL_ARB_texture_rg
Found optional GL_EXT_texture_array
Found optional GL_ARB_texture_multisample
Found optional GL_ARB_texture_compression
Found optional GL_ARB_texture_compression_rgtc
Found optional GL_ARB_seamless_cube_map
Shading language:      1.30
Maximum texture size:  16384
Maximum texture units: 32
Maximum draw buffers:  8

---- Physics ----
Physics: Multi-threaded

---- Interpreter ----
Version: 2.31

Loading "tropics/unigine.cpp" 126ms
Loading "demos/tropics/locale/unigine.ru" dictionary
Loading "core/materials/unigine_post.mat" 12 materials 12 shaders 0ms
Loading "core/materials/unigine_render.mat" 34 materials 77 shaders 13ms
Loading "core/materials/unigine_meshes.mat" 16 materials 9350 shaders 99ms
Loading "core/materials/unigine_terrains.mat" 1 material 293 shaders 5ms
Loading "core/materials/unigine_grass.mat" 1 material 81 shaders 8ms
Loading "core/materials/unigine_particles.mat" 1 material 43 shaders 7ms
Loading "core/materials/unigine_billboards.mat" 1 material 33 shaders 8ms
Loading "core/materials/unigine_volumes.mat" 5 materials 29 shaders 15ms
Loading "core/materials/unigine_guis.mat" 1 material 24 shaders 2ms
Loading "core/materials/unigine_water.mat" 1 material 63 shaders 20ms
Loading "core/materials/unigine_skies.mat" 1 material 19 shaders 25ms
Loading "core/materials/unigine_decals.mat" 1 material 69 shaders 11ms
Loading "core/properties/unigine.prop" 2 properties 1ms
Unigine~# world_load tropics
Loading "tropics.cpp" 320ms
Loading "demos/tropics/tropics.mat" 40 materials 812ms
Loading "tropics.world" 15813ms
Unigine~# render_hdr 1 && render_srgb 0 && render_restart
Release
GLShader::loadFragment(): error in "core/shaders/render/fragment_occlusion_blur.shader" file
defines: UNKNOWN,QUALITY_LOW,QUALITY_MEDIUM,QUALITY_HIGH,MULTISAMPLE_0,USE_INSTANCING,USE_TEXTURE_ARRAY,USE_DEFERRED,USE_OCCLUSION,USE_REFLECTION,OPENGL,USE_PSEUDO_INSTANCING,USE_PSEUDO_TRANSFORM,USE_ARB_TEXTURE_MULTISAMPLE,HAS_ARB_DRAW_INSTANCED
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
0:0(0): error: no matching function for call to `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'
Unigine~# quit
Close "libopenal.so.1"
Close "libGL.so.1"
Memory usage: 64b
Allocations:  1
Shutdown
Comment 1 Vladimir Usikov 2013-08-21 17:31:25 UTC
Created attachment 84403 [details]
Shader dump from unigine-tropics
Comment 2 Hohahiu 2013-08-21 20:58:37 UTC
I can confirm the bug as in the case of unigine-sanctuary. My hardware is Intel 4000+ AMD 7750M. I ran unigine-sanctuary with DRI_PRIME.
My software:
openSUSE 12.3 x86_64
kernel 3.11.rc-6
Mesa-git
llvm-svn
radeon-git
Comment 3 Laurent carlier 2013-08-21 22:21:26 UTC
Got a different backtrace with:
* OpenGL renderer string: Gallium 0.4 on AMD PITCAIRN
* OpenGL version string: 2.1 Mesa 9.3.0-devel (git-f53b634)
* LLVM-3.4svn r188604

[lordh@archMain tropics]$ ./1024x768_windowed.sh 
Loading "/home/lordh/Desktop/tropics/bin/../data/unigine.cfg"...
Engine::init(): clear video settings for "Gallium 0.4 on AMD PITCAIRN 2.1 Mesa 9.3.0-devel (git-f53b634)"
Loading "libGL.so.1"...
Loading "libopenal.so.1"...
Set 1024x768 windowed video mode
Set 1.00 gamma value
Unigine engine http://unigine.com/
Binary: Linux 32bit GCC 4.3.2 Release May 20 2010
App path:  /home/lordh/Desktop/tropics/bin/
Data path: /home/lordh/Desktop/tropics/data/
Save path: /home/lordh/.Unigine Tropics/

---- System ----
System: Linux 3.11.0-17-agd5f x86_64
CPU: AMD Phenom(tm) II X6 1055T Processor 2812MHz MMX+ 3DNow!+ SSE SSE2 SSE3 SSE4A HTT
GPU: Gallium 0.4 on AMD PITCAIRN 2.1 Mesa 9.3.0-devel (git-f53b634)
System memory: 7986 Mb
Video memory:  256 Mb

---- MathLib ----
Set SSE3 simd processor

---- Sound ----
Renderer: OpenAL Soft
OpenAL vendor:   OpenAL Community
OpenAL renderer: OpenAL Soft
OpenAL version:  1.1 ALSOFT 1.15.1
Found AL_EXT_LINEAR_DISTANCE
Found AL_EXT_OFFSET
Found ALC_EXT_EFX
Found EFX Filter
Found EFX Reverb
Found EAX Reverb
Found QUAD16 format
Found 51CHN16 format
Found 61CHN16 format
Found 71CHN16 format
Maximum sources:         256                                                                                                                                                                                                                 
Maximum effect slots:    4                                                                                                                                                                                                                   
Maximum auxiliary sends: 2                                                                                                                                                                                                                   
                                                                                                                                                                                                                                             
---- Render ----                                                                                                                                                                                                                             
GLRender::GLRender(): Unknown GPU                                                                                                                                                                                                            
OpenGL vendor:   X.Org                                                                                                                                                                                                                       
OpenGL renderer: Gallium 0.4 on AMD PITCAIRN                                                                                                                                                                                                 
OpenGL version:  2.1 Mesa 9.3.0-devel (git-f53b634)                                                                                                                                                                                          
Found required GL_ARB_map_buffer_range                                                                                                                                                                                                       
Found required GL_ARB_vertex_array_object                                                                                                                                                                                                    
Found required GL_ARB_vertex_buffer_object                                                                                                                                                                                                   
Found required GL_ARB_half_float_vertex                                                                                                                                                                                                      
Found required GL_ARB_half_float_pixel                                                                                                                                                                                                       
Found required GL_ARB_occlusion_query                                                                                                                                                                                                        
Found required GL_EXT_texture3D                                                                                                                                                                                                              
Found required GL_EXT_texture_cube_map                                                                                                                                                                                                       
Found required GL_EXT_texture_sRGB                                                                                                                                                                                                           
Found required GL_EXT_texture_swizzle                                                                                                                                                                                                        
Found required GL_ARB_shader_object                                                                                                                                                                                                          
Found required GL_ARB_vertex_shader                                                                                                                                                                                                          
Found required GL_ARB_fragment_shader                                                                                                                                                                                                        
Found required GL_ARB_draw_buffers                                                                                                                                                                                                           
Found required GL_ARB_framebuffer_object
Found required GL_EXT_framebuffer_blit
Found required GL_EXT_framebuffer_multisample
Found optional GL_ARB_draw_instanced
Found optional GL_ARB_draw_elements_base_vertex
Found optional GL_ARB_texture_rg
Found optional GL_EXT_texture_array
Found optional GL_ARB_texture_multisample
Found optional GL_ARB_texture_compression
Found optional GL_ARB_texture_compression_rgtc
Found optional GL_ARB_seamless_cube_map
Shading language:      1.30
Maximum texture size:  16384
Maximum texture units: 32
Maximum draw buffers:  8

---- Physics ----
Physics: Multi-threaded

---- Interpreter ----
Version: 2.31

Loading "tropics/unigine.cpp" 89ms
Loading "demos/tropics/locale/unigine.en" dictionary
Loading "core/materials/unigine_post.mat" 12 materials 12 shaders 0ms
Loading "core/materials/unigine_render.mat" 34 materials 77 shaders 10ms
Loading "core/materials/unigine_meshes.mat" 16 materials 9350 shaders 69ms
Loading "core/materials/unigine_terrains.mat" 1 material 293 shaders 2ms
Loading "core/materials/unigine_grass.mat" 1 material 81 shaders 5ms
Loading "core/materials/unigine_particles.mat" 1 material 43 shaders 4ms
Loading "core/materials/unigine_billboards.mat" 1 material 33 shaders 5ms
Loading "core/materials/unigine_volumes.mat" 5 materials 29 shaders 11ms
Loading "core/materials/unigine_guis.mat" 1 material 24 shaders 2ms
Loading "core/materials/unigine_water.mat" 1 material 63 shaders 25ms
Loading "core/materials/unigine_skies.mat" 1 material 19 shaders 19ms
Loading "core/materials/unigine_decals.mat" 1 material 69 shaders 7ms
Loading "core/properties/unigine.prop" 2 properties 0ms
Unigine~# world_load tropics
Loading "tropics.cpp" 219ms
Loading "demos/tropics/tropics.mat" 40 materials 769ms
Loading "tropics.world" 10461ms
Unigine~# render_hdr 1 && render_srgb 0 && render_restart
Release
Unigine~# render_stereo 0 && render_restart
Tropics: SIInstrInfo.cpp:94: virtual void llvm::SIInstrInfo::copyPhysReg(llvm::MachineBasicBlock&, llvm::MachineBasicBlock::iterator, llvm::DebugLoc, unsigned int, unsigned int, bool) const: Assertion `AMDGPU::SReg_32RegClass.contains(SrcReg)' failed.
Stack dump:
0.      Running pass 'Function Pass Manager' on module 'tgsi'.
1.      Running pass 'Post-RA pseudo instruction expansion pass' on function '@main'
./1024x768_windowed.sh : ligne 13 :  9548 Abandon                 (core dumped)./bin/Tropics -video_app opengl -sound_app openal -extern_define RELEASE -system_script tropics/unigine.cpp -engine_config ../data/unigine.cfg -data_path ../ -video_fullscreen 0 -video_mode -1 -video_width 1024 -video_height 768
Comment 4 Tom Stellard 2013-08-21 22:42:45 UTC
(In reply to comment #3)
> Got a different backtrace with:
> * OpenGL renderer string: Gallium 0.4 on AMD PITCAIRN
> * OpenGL version string: 2.1 Mesa 9.3.0-devel (git-f53b634)
> * LLVM-3.4svn r188604
> 

This should be fixed by: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130819/185162.html
Comment 5 Vladimir Usikov 2013-08-22 03:40:59 UTC
Nothing has changed with this patch.
Comment 6 Michel Dänzer 2013-08-22 10:09:13 UTC
> 0:0(0): error: no matching function for call to
> `texelFetch2DOffset(sampler2D, ivec2, int, ivec2)'

I was seeing these errors before, but I no longer am. Does it help if you launch Tropics something like:

 force_glsl_extensions_warn=true disable_blend_func_extended=true ./1024x768_windowed.sh


(In reply to comment #3)
> Tropics: SIInstrInfo.cpp:94: virtual void
> llvm::SIInstrInfo::copyPhysReg(llvm::MachineBasicBlock&,
> llvm::MachineBasicBlock::iterator, llvm::DebugLoc, unsigned int, unsigned
> int, bool) const: Assertion `AMDGPU::SReg_32RegClass.contains(SrcReg)'
> failed.

Tom's LLVM patch fixes this.
Comment 7 Vladimir Usikov 2013-08-22 14:28:35 UTC
>Nothing has changed with this patch.

Sorry guys, i forget rebuild mesa after rebuild patched llvm.

With Tom's patch unigine-tropics show normal picture.
Comment 8 Tom Stellard 2013-08-22 20:24:02 UTC
I've committed the fix.

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.