Page 1 of 1

ATI related openGL issues with SVN (1391)

Posted: Mon Oct 04, 2010 1:08 am
by Mushroomhermit
Game hangs and needs a process kill after entering a name in character creation.

Code: Select all

SHADER] Loading from /data/gfx/shaders/main_fbo.lua
New GL Shader program 1
New GL Shader 2 of type 35632
[SHADER] created fragment shader from /data/gfx/shaders/main_fbo.frag
OPENGL ERROR: Program Validation FailureValidation failed! - Different sampler types for same sample texture unit in fragment shader
 
Lua Error: /engine/Shader.lua:133: attempt to index field 'shad' (a nil value)
	At [C]:-1 
	At /engine/Shader.lua:133 setUniform
	At /mod/class/Player.lua:197 updateMainShader
	At /mod/class/Game.lua:247 setupDisplayMode
	At /mod/class/Game.lua:126 newGame
	At /mod/class/Game.lua:107 run
	At /engine/Module.lua:182 instanciate
	At /special/mainmenu/dialogs/NewGame.lua:40 action
	At /engine/dialogs/GetText.lua:57 okclick
	At /engine/dialogs/GetText.lua:35 fct
	At /engine/ui/Textbox.lua:94 ?
	At /engine/KeyBind.lua:198 receiveKey
	At /engine/ui/Dialog.lua:291 keyEvent
	At /engine/ui/Dialog.lua:169 
That seems to be the pertinent part of the log.

I did some poking around and it seems like this is due to a quirk in ATI's drivers. I'll see if I can figure out a fix but this is hardly my strength... Maybe I'll draw a hacker to fix it for me :lol:


*EDIT*
Looks like this was an issue for people back in beta6... found a workaround.

Re: ATI related openGL issues with SVN (1391)

Posted: Mon Oct 04, 2010 7:40 am
by darkgod
What workaround ?

Re: ATI related openGL issues with SVN (1391)

Posted: Mon Oct 04, 2010 8:11 am
by Mushroomhermit

Code: Select all

//		float noisy = texture3D(noiseVol,vec3(coord,fTime0_X)).r;
//		float noisy2 = texture3D(noiseVol,vec3(coord/5.0,fTime0_X)).r;
//		float noisy3 = texture3D(noiseVol,vec3(coord/7.0,fTime0_X)).r;
//		float noise = (noisy+noisy2+noisy3)/3.0;

		// Center Pixel
		vec4 sample = vec4(0.0,0.0,0.0,0.0);
		float factor = ((float(blursize)*2.0)+1.0);
		factor = factor*factor;

/*		if (noisy < 0.25)
		{
			for(int i = -blursize; i <= 0; i++)
			{
				for(int j = -blursize; j <= 0; j++)
				{
					sample += texture2D(tex, vec2(gl_TexCoord[0].xy+vec2(float(i)*offset.x, float(j)*offset.y)));
				}
			}
		}
		else if (noisy < 0.50)
		{
			for(int i = 0; i <= blursize; i++)
			{
				for(int j = 0; j <= blursize; j++)
				{
					sample += texture2D(tex, vec2(gl_TexCoord[0].xy+vec2(float(i)*offset.x, float(j)*offset.y)));
				}
			}
		}
		else if (noisy < 0.75)
		{
			for(int i = 0; i <= blursize; i++)
			{
				for(int j = -blursize; j <= 0; j++)
				{
					sample += texture2D(tex, vec2(gl_TexCoord[0].xy+vec2(float(i)*offset.x, float(j)*offset.y)));
				}
			}
		}
		else
		{
			for(int i = -blursize; i <= 0; i++)
			{
				for(int j = 0; j <= blursize; j++)
				{
					sample += texture2D(tex, vec2(gl_TexCoord[0].xy+vec2(float(i)*offset.x, float(j)*offset.y)));
				}
			}
		}
*/
Commented out the noise functions.

Not sure if this is related but the attack function seems to be broken too. I'll post the log error tomorrow when I'm not drunk.

Re: ATI related openGL issues with SVN (1391)

Posted: Mon Oct 04, 2010 11:49 am
by darkgod
I'll wait for the attac log, I have fixed one this may be it, dunno.

As for the shader, can you try to comment it line by line to see what it does not like please ?

Re: ATI related openGL issues with SVN (1391)

Posted: Mon Oct 04, 2010 4:36 pm
by Mushroomhermit

Code: Select all

Lua Error: /engine/interface/ActorLife.lua:40: attempt to call method 'attack' (a nil value)
	At [C]:-1 attack
	At /engine/interface/ActorLife.lua:40 
	At (tail call):-1 
	At [string "return function(self, x, y, what, ...) loca..."]:1 
	At (tail call):-1 
	At /engine/interface/ActorProject.lua:197 projectDoMove
	At /engine/Projectile.lua:149 act
	At /engine/GameEnergyBased.lua:73 tick
	At /engine/GameTurnBased.lua:44 tick
	At /mod/class/Game.lua:402 
Only seems to happen against the necromancer in the paths of the dead. Haven't tested other casters though. I'll be working on figuring what exactly about the shaders is pissing off my system.

*EDIT*

OK it seems to be

Code: Select all

float noisy = texture3D(noisevol,vec3(coord,fTime0_X)).r;
I get the error if this is uncommented but it runs when this is commented out.

*2nd EDIT*

Looks like 'attack' glitches when a projectile is about to hit.

*3rd EDIT*

I seem to have found the problem. in engine/projectile.lua, line 149

Code: Select all

local x, y, act, stop = self.src:projectDoMove(self.project.def.typ, self.project.def.x, self.project.def.y, self.x, self.y, self.project.def.start_x, self.project.def.start_y, self)
remove ", self" at the end.