Bug 36414

Summary: Screen mess "white smoke" when running vdrift
Product: Mesa Reporter: meng <mengmeng.meng>
Component: Mesa coreAssignee: mesa-dev
Status: VERIFIED NOTOURBUG QA Contact:
Severity: normal    
Priority: medium CC: bo.b.wang, eugeni, kdekorte
Version: git   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: photo for this screen mess

Description meng 2011-04-20 02:42:42 UTC
System Environment:
--------------------------
Platform:        SNB and Ironlake
Libdrm:          (master)2.4.25
Mesa:            (7.10)1f8c5611a2575e7c660fd10d322cebdafa41e29f
Xserver:         (server-1.10-branch)xorg-server-1.10.1
Xf86_video_intel:(master)2.15.0-3-gc9fb69cb2502917dfb2828c90802de7766072899
Cairo:           (master)b377380b7a5fe0982d057975cd87f6b652d3b0ff
Libva:           (master)bcb8dc4ab8a5da0a815211aa54aa383853fd92c2
Kernel:(drm-intel-fixes) 5c72d064f7ead1126bed6faab0c2bfb7418036e2

Bug detailed description:
-------------------------
Screen mess when running vdrift.It exists on SNB and Ironlake.It also existed on 2010Q4 release.Pls see attached photo.

Reproduce steps:
-------------------------
1.xinit&
2.run vdrift(./vdrift -nosound -benchmark 1024 768)
Comment 1 meng 2011-04-20 02:43:53 UTC
Created attachment 45849 [details]
photo for this screen mess
Comment 2 Ian Romanick 2011-04-21 12:57:25 UTC
I just pushed some changes to the 7.10 branch that should fix this.  If rendering is still incorrect in 7.10 but is correct on master, could you please bisect to the commit in master that fixes it?
Comment 3 meng 2011-04-21 21:43:58 UTC
(In reply to comment #2)
1.The problem still exists on (7.10)73f4273b8647abe0020ad3c2d593e009092d2be5.
2.I'm sorry, but I can't find good commit.I try the oldest commit 25328509c which builded on 2010-10-22.
3.There is some message in console after running vdrift:
GL User Error: calling GL function without a rendering context

The version of vdrift is 2010-06-30(phoronix install),
but it's Ok on vdrift20090615(yum install).
Comment 4 Ian Romanick 2011-04-22 11:09:47 UTC
There is a fundamental question that needs to be answered first: does it work with current master?  That is not clear from anything posted so far.
Comment 5 meng 2011-04-24 20:03:08 UTC
(In reply to comment #4)
> There is a fundamental question that needs to be answered first: does it work
> with current master?  That is not clear from anything posted so far.

The problem still exists with current master 0a9cec3475f.
Comment 6 libo 2011-09-21 23:39:45 UTC
The problem still exists with current mesa master 4a96a02de7c1b8c136ffc0cd278401c85faab233 in every platform such as Huronriver, Sugarbay, Capella and so on .
Comment 7 Kevin DeKorte 2011-11-03 14:39:10 UTC
Problem also occurs on radeon 3650 card. (tested using git as of Nov 3, 2011)

When loading vdrift has the following errors

INFO: Video card information:
      Vendor: X.Org
      Renderer: Gallium 0.4 on AMD RV635
      Version: 2.1 Mesa 7.12-devel (git-f37b1ad)
      Maximum texture size: 8192
      Maximum varying floats: 64
      Using GLEW 1.5.8
INFO: Maximum color attachments: 8
INFO: Maximum draw buffers (1 required): 8
INFO: Texture units: 8 full, 16 partial
INFO: Loaded shader package simple
INFO: Loaded shader package simple, variant simple_premult
INFO: Loaded shader package simple, variant simple_gamma_premult
INFO: Loaded shader package simple, variant simple_gamma
INFO: Loaded shader package simple, variant simplecar
INFO: Loaded shader package logluminance
INFO: ----- Start Shader Compile Log for /usr//share/vdrift/shaders/logluminance/fragment.glsl -----
INFO: 0:0(0): error: no matching function for call to `texture2DLod(sampler2D, vec2, float)'
      0:32(73): error: type mismatch
      0:32(73): error: Operands to arithmetic operators must be numeric
      
INFO: ----- End Shader Compile Log -----
INFO: ----- Start Shader Link Log for /usr//share/vdrift/shaders/logluminance/vertex.glsl and /usr//share/vdrift/shaders/logluminance/fragment.glsl -----
INFO: error: linking with uncompiled shader
INFO: ----- End Shader Link Log -----
ERROR: Shader compilation failure: /usr//share/vdrift/shaders/logluminance/vertex.glsl and /usr//share/vdrift/shaders/logluminance/fragment.glsl
ERROR: 
ERROR: Vertex shader:
ERROR: 1    : #version 120
ERROR: 2    : #define _TINY_
ERROR: 3    : #define _SHADOWSMEDIUM_
ERROR: 4    : #define _CSM2_
ERROR: 5    : #define _SHADOWS_
ERROR: 6    : #define _REFLECTIONSTATIC_
ERROR: 7    : #define SCREENRESY 768
ERROR: 8    : #define SCREENRESX 1024
ERROR: 9    : varying vec2 tu0coord;
ERROR: 10   : 
ERROR: 11   : void main()
ERROR: 12   : {
ERROR: 13   : 	// Transforming the vertex
ERROR: 14   : 	gl_Position = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex;
ERROR: 15   : 	
ERROR: 16   : 	tu0coord = vec2(gl_MultiTexCoord0);
ERROR: 17   : }
ERROR: 18   : 
ERROR: 
ERROR: Fragment shader:
ERROR: 1    : #version 120
ERROR: 2    : #define _TINY_
ERROR: 3    : #define _SHADOWSMEDIUM_
ERROR: 4    : #define _CSM2_
ERROR: 5    : #define _SHADOWS_
ERROR: 6    : #define _REFLECTIONSTATIC_
ERROR: 7    : #define SCREENRESY 768
ERROR: 8    : #define SCREENRESX 1024
ERROR: 9    : varying vec2 tu0coord;
ERROR: 10   : 
ERROR: 11   : uniform sampler2D tu0_2D;
ERROR: 12   : 
ERROR: 13   : const vec3 LUMINANCE = vec3(0.2125, 0.7154, 0.0721);
ERROR: 14   : const float DELTA = 0.0001;
ERROR: 15   : 
ERROR: 16   : /*const float scale = 0.1;
ERROR: 17   : const float offset = 5.;
ERROR: 18   : const float timefactor = 0.1;
ERROR: 19   : const float scale_tiny = 3.0;
ERROR: 20   : const float offset_tiny = -0.12;*/
ERROR: 21   : 
ERROR: 22   : const float scale = 0.25;
ERROR: 23   : const float offset = 2.0;
ERROR: 24   : const float timefactor = 0.1;
ERROR: 25   : //const float timefactor = 1.0;
ERROR: 26   : 
ERROR: 27   : void main()
ERROR: 28   : {
ERROR: 29   : 	#ifdef _TINY_
ERROR: 30   : 	float lod = 9;
ERROR: 31   : 	//gl_FragColor.rgb = vec3(1.,1.,1.)*(texture2DLod(tu0_2D, tu0coord, lod).r+offset_tiny)*scale_tiny;
ERROR: 32   : 	gl_FragColor.rgb = vec3(1.,1.,1.)*texture2DLod(tu0_2D, tu0coord, lod).r;
ERROR: 33   : 	gl_FragColor.a = timefactor;
ERROR: 34   : 	#else
ERROR: 35   : 	float luminance = dot(LUMINANCE,texture2D(tu0_2D, tu0coord).rgb);
ERROR: 36   : 	float logluminance = log(luminance+DELTA);
ERROR: 37   : 	gl_FragColor.rgb = vec3(1.,1.,1.)*(logluminance+offset)*scale;
ERROR: 38   : 	#endif
ERROR: 39   : }
ERROR: 40   : 
ERROR: 
ERROR: Disabling shaders due to shader loading error
Comment 8 Kevin DeKorte 2012-01-12 08:55:42 UTC
This is a still an issue with Mesa 8.0-devel (git-eab036a) on r600 (rv635)
Comment 9 Kevin DeKorte 2012-01-12 09:37:18 UTC
Issue also occurs with llvmpipe so it appears it may be a mesa core issue.
Comment 10 Kevin DeKorte 2012-01-12 09:57:04 UTC
The shader portion of this issue seems to be a separate bug. So disregard comment #7. But there are still problems with shadows and tire smoke in vdrift.
Comment 11 almos 2012-01-12 14:44:15 UTC
Vdrift 2010 "release" has several known bugs. Two of them are: with fix function the alpha is ignored on the smoke, with shaders alpha is applied twice. Note that they have no releases, just development snapshots, which are only updated if their cron job spits out a new (untested) snapshot (usually every summer). You might want to consider checking out the code from svn. Closing as notourbug. Also see bug 32272 .
Comment 12 meng 2014-07-18 02:38:59 UTC
As the issue is application's bug, verified it.

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.