Page 1 of 2

Graphics issues, no need to fix it :D

PostPosted: 25 Dec 2012, 17:03
by kosmi
Hi supertuxkart users and devs, linux user here, Debian. I've tried 0.8 version 32-bit, compiled it and it works prety good no crashes here, etc.

Actually i'am trying to fix up driver and have a question if somene of the devs could precisely answer because i'm need to track down in driver what feature is exactly used.

Some karts (half of default in 0.8) and only one track olivermath uses something maybe only case export from blender (lighting two side maybe?)... He, he i am not native english speaker, maybe better to post a screenshot :kiss: . Other tracks are good, but seems like same GL function is used for the problematic karts. So i'm having these graphics issues with the following karts:

elephant, hexey, mozilla, wilber, konqi, tux. And yeah on every track. Others karts and tracks seems to be good.

Re: Graphics issues, no need to fix it :D

PostPosted: 25 Dec 2012, 20:43
by qubodup
Which driver/graphics card?

50% of all 3d bugs I have had were related to textures not being in a resolution that is to the power of 2 (n^2). :)

Re: Graphics issues, no need to fix it :D

PostPosted: 25 Dec 2012, 21:24
by kosmi
Old card 9250, mesa/dri r200 driver. No, it does not support GL_ARB_texture_non_power_of_two extension (i think it started to be suported in hardware with ATi/AMD HD series) otherwise drivers must implement NV rectangle to deal with. But OK this driver implement and emit npot textures bindinig it to GL_NV_texture_rectangle etension functions, or scaled it up, etc. so npot textures here actually works for user. Don't think that is an issue here :? .

Besides swtcl works correctly ;) , but i want to fix it for hwtcl :cool: . For that i first must know what is used on mentioned kart models and olivermath track, which is not on other tracks and karts :| .

Re: Graphics issues, no need to fix it :D

PostPosted: 25 Dec 2012, 22:15
by kosmi
Yeah i want to ask something too for those skid marks :cool: (for a wishlist maybe for the next version :heart:), can skid marks be disablible feature? That feature can produce z-fighting on ambient, lighting artifacts, etc. with some drivers.

Re: Graphics issues, no need to fix it :D

PostPosted: 26 Dec 2012, 03:32
by kosmi
Actually i don't know the reason i have tried 0.7.2 version and all models worked there as expected even olivermath track :| . Even tried many models from stkaddons.net with the marked warning:

Warning: This addon may not display correctly on some systems. It uses textures that may not be compatible with all video cards.


And that all worked in 0.7.2 :eew: .

Also tried olivermath track from 0.7.2 to run on 0.8, and have the same problem as in first screenshot. Something is in the stk code, some effect :kiss: .

Maybe this additive lightmaps :think:

http://sourceforge.net/apps/trac/supert ... terial.cpp

or this:

http://sourceforge.net/apps/trac/supert ... terial.cpp

who knows :)

Re: Graphics issues, no need to fix it :D

PostPosted: 26 Dec 2012, 06:45
by kosmi
I've testing 0.7.3 official version and these graphic effect/issues started with that version. Also with that version i also started to get z-fighting issues on ambient whatever any little skid marks are produced in race.

So please fix it or give option to user to disable it :think: .

Re: Graphics issues, no need to fix it :D

PostPosted: 26 Dec 2012, 11:02
by Funto
0.7.3 and 0.8 changed the version of the Irrlicht 3D engine that is used, so there may have been changesin their OpenGL code that we are not aware of.
In any case, I would suspect a driver bug, if this bug only happens with your driver.
I think it would be useful if you try to run STK and make the bug appear with the ApiTrace program:
https://github.com/apitrace/apitrace
This would save a replayable log of all OpenGL calls made.
With this, we could check if the problem only happens on your driver or not, and that could be useful to identify the problem, being a STK bug, an Irrlicht bug or a driver bug.
Your driver is open source, isn't it? It may be useful to report the bug to them too if we can't reproduce it with your ApiTrace log.

Good luck!

Re: Graphics issues, no need to fix it :D

PostPosted: 26 Dec 2012, 19:48
by kosmi
It maded ~200 MB of trace but unuseful, and then on glretrace just segfaults at beggining. Seems to expect 8 texture units at minimum, i have 6 :) .

{l Code}: {l Select All Code}
$ ./glretrace supertuxkart.trace
0 6 glXCreateWindow(dpy = 0xa05daa0, config = 0xa07bd18, win = 25165826, attribList = NULL) = 25165827
6: warning: unsupported glXCreateWindow call
186: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 186 glActiveTextureARB(texture = GL_TEXTURE6)
186: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
189: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 189 glActiveTextureARB(texture = GL_TEXTURE7)
189: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
108611: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 108611 glActiveTextureARB(texture = GL_TEXTURE7)
108611: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
108614: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 108614 glActiveTextureARB(texture = GL_TEXTURE6)
108614: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
110831: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 110831 glActiveTextureARB(texture = GL_TEXTURE7)
110831: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
110834: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 110834 glActiveTextureARB(texture = GL_TEXTURE6)
110834: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
113037: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 113037 glActiveTextureARB(texture = GL_TEXTURE7)
113037: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
113040: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 113040 glActiveTextureARB(texture = GL_TEXTURE6)
113040: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
115243: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 115243 glActiveTextureARB(texture = GL_TEXTURE7)
115243: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
115246: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 115246 glActiveTextureARB(texture = GL_TEXTURE6)
115246: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
117449: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 117449 glActiveTextureARB(texture = GL_TEXTURE7)
117449: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
117452: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 117452 glActiveTextureARB(texture = GL_TEXTURE6)
117452: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
119655: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 119655 glActiveTextureARB(texture = GL_TEXTURE7)
119655: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
119658: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 119658 glActiveTextureARB(texture = GL_TEXTURE6)
119658: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
121861: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 121861 glActiveTextureARB(texture = GL_TEXTURE7)
121861: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
121864: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 121864 glActiveTextureARB(texture = GL_TEXTURE6)
121864: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
124067: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 124067 glActiveTextureARB(texture = GL_TEXTURE7)
124067: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
124070: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 124070 glActiveTextureARB(texture = GL_TEXTURE6)
124070: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
126273: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 126273 glActiveTextureARB(texture = GL_TEXTURE7)
126273: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
126276: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 126276 glActiveTextureARB(texture = GL_TEXTURE6)
126276: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
128479: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 128479 glActiveTextureARB(texture = GL_TEXTURE7)
128479: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
128482: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 128482 glActiveTextureARB(texture = GL_TEXTURE6)
128482: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
130685: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 130685 glActiveTextureARB(texture = GL_TEXTURE7)
130685: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
130688: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 130688 glActiveTextureARB(texture = GL_TEXTURE6)
130688: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
132891: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 132891 glActiveTextureARB(texture = GL_TEXTURE7)
132891: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
132894: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 132894 glActiveTextureARB(texture = GL_TEXTURE6)
132894: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
135097: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 135097 glActiveTextureARB(texture = GL_TEXTURE7)
135097: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
135100: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 135100 glActiveTextureARB(texture = GL_TEXTURE6)
135100: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
137303: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 137303 glActiveTextureARB(texture = GL_TEXTURE7)
137303: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
137306: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 137306 glActiveTextureARB(texture = GL_TEXTURE6)
137306: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
139509: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 139509 glActiveTextureARB(texture = GL_TEXTURE7)
139509: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
139512: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 139512 glActiveTextureARB(texture = GL_TEXTURE6)
139512: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
141715: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 141715 glActiveTextureARB(texture = GL_TEXTURE7)
141715: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
141718: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 141718 glActiveTextureARB(texture = GL_TEXTURE6)
141718: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
143921: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 143921 glActiveTextureARB(texture = GL_TEXTURE7)
143921: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
143924: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 143924 glActiveTextureARB(texture = GL_TEXTURE6)
143924: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
146127: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 146127 glActiveTextureARB(texture = GL_TEXTURE7)
146127: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
146130: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 146130 glActiveTextureARB(texture = GL_TEXTURE6)
146130: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
148333: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 148333 glActiveTextureARB(texture = GL_TEXTURE7)
148333: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
148336: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 148336 glActiveTextureARB(texture = GL_TEXTURE6)
148336: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
150539: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 150539 glActiveTextureARB(texture = GL_TEXTURE7)
150539: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
150542: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 150542 glActiveTextureARB(texture = GL_TEXTURE6)
150542: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
152745: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 152745 glActiveTextureARB(texture = GL_TEXTURE7)
152745: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
152748: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 152748 glActiveTextureARB(texture = GL_TEXTURE6)
152748: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
154951: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 154951 glActiveTextureARB(texture = GL_TEXTURE7)
154951: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
154954: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 154954 glActiveTextureARB(texture = GL_TEXTURE6)
154954: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
157157: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 157157 glActiveTextureARB(texture = GL_TEXTURE7)
157157: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
157160: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 157160 glActiveTextureARB(texture = GL_TEXTURE6)
157160: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
159363: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 159363 glActiveTextureARB(texture = GL_TEXTURE7)
159363: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
159366: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 159366 glActiveTextureARB(texture = GL_TEXTURE6)
159366: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
161569: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 161569 glActiveTextureARB(texture = GL_TEXTURE7)
161569: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
161572: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 161572 glActiveTextureARB(texture = GL_TEXTURE6)
161572: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
163775: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 163775 glActiveTextureARB(texture = GL_TEXTURE7)
163775: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
163778: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 163778 glActiveTextureARB(texture = GL_TEXTURE6)
163778: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
165981: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 165981 glActiveTextureARB(texture = GL_TEXTURE7)
165981: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
165984: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 165984 glActiveTextureARB(texture = GL_TEXTURE6)
165984: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
168187: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 168187 glActiveTextureARB(texture = GL_TEXTURE7)
168187: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
168190: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 168190 glActiveTextureARB(texture = GL_TEXTURE6)
168190: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
170393: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 170393 glActiveTextureARB(texture = GL_TEXTURE7)
170393: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
170396: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 170396 glActiveTextureARB(texture = GL_TEXTURE6)
170396: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
172599: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 172599 glActiveTextureARB(texture = GL_TEXTURE7)
172599: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
172602: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 172602 glActiveTextureARB(texture = GL_TEXTURE6)
172602: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
174805: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 174805 glActiveTextureARB(texture = GL_TEXTURE7)
174805: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
174808: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 174808 glActiveTextureARB(texture = GL_TEXTURE6)
174808: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
177011: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 177011 glActiveTextureARB(texture = GL_TEXTURE7)
177011: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
177014: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 177014 glActiveTextureARB(texture = GL_TEXTURE6)
177014: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
179217: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 179217 glActiveTextureARB(texture = GL_TEXTURE7)
179217: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
179220: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 179220 glActiveTextureARB(texture = GL_TEXTURE6)
179220: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
181423: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 181423 glActiveTextureARB(texture = GL_TEXTURE7)
181423: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
181426: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 181426 glActiveTextureARB(texture = GL_TEXTURE6)
181426: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
183629: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 183629 glActiveTextureARB(texture = GL_TEXTURE7)
183629: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
183632: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 183632 glActiveTextureARB(texture = GL_TEXTURE6)
183632: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
185835: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 185835 glActiveTextureARB(texture = GL_TEXTURE7)
185835: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
185838: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 185838 glActiveTextureARB(texture = GL_TEXTURE6)
185838: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
188041: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 188041 glActiveTextureARB(texture = GL_TEXTURE7)
188041: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
188044: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 188044 glActiveTextureARB(texture = GL_TEXTURE6)
188044: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
190247: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 190247 glActiveTextureARB(texture = GL_TEXTURE7)
190247: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
190250: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 190250 glActiveTextureARB(texture = GL_TEXTURE6)
190250: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
192453: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 192453 glActiveTextureARB(texture = GL_TEXTURE7)
192453: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
192456: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 192456 glActiveTextureARB(texture = GL_TEXTURE6)
192456: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
194659: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 194659 glActiveTextureARB(texture = GL_TEXTURE7)
194659: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
194662: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 194662 glActiveTextureARB(texture = GL_TEXTURE6)
194662: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
196913: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE7)
0 196913 glActiveTextureARB(texture = GL_TEXTURE7)
196913: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
196916: glDebugOutputCallback: High severity API error 0, GL_INVALID_ENUM in glActiveTexture(texture=GL_TEXTURE6)
0 196916 glActiveTextureARB(texture = GL_TEXTURE6)
196916: warning: glGetError(glActiveTextureARB) = GL_INVALID_ENUM
apitrace: warning: caught signal 11
197047: error: caught an unhandled exception
apitrace: info: taking default action for signal 11
Segmentation fault


Or seems like supertuxkart actually wants 8 textures at bare minimum or what :| . Irrlicht wants 4 as minimum as i know :shock: .

Re: Graphics issues, no need to fix it :D

PostPosted: 26 Dec 2012, 20:24
by kosmi
Oh doh http://sourceforge.net/apps/trac/supert ... ticket/689

So nothing, seems like this card is not supported anymore with the fork of irrlicht used by stk. So someone could change these minimum hardware reuirements:

HARDWARE REQUIREMENTS
=====================
* You need a 3D graphics card that supports OpenGL or Mesa.
* You should have a CPU that's running at 450MHz or better.
* You'll need at least 600 MB of free RAM.
* Ideally, you want a joystick with at least 6 buttons.


That is simple not true, from my experiance it seems to me it now needs mid range graphics, better to not have minimum req just recommends something like 2 GHz CPU and AMD HD2600 or nVidia 8600.

Re: Graphics issues, no need to fix it :D

PostPosted: 26 Dec 2012, 22:54
by Funto
Hmm yes, _IRR_MATERIAL_MAX_TEXTURES_ has been bumped from 4 to 8 in STK...
I wonder if there wouldn't be a way to avoid this by doing multipass rendering for cards that do not support it?
I don't know exactly where this setting is needed...

Hiker and Auria will surely provide a better answer here.

[EDIT] Ah and what was/were texactly he reason(s) invoked by the Irrlicht folks for:
- keeping it a compile-time constant instead of a runtime parameter?
- keeping it to such a low value?

Re: Graphics issues, no need to fix it :D

PostPosted: 27 Dec 2012, 00:53
by kosmi
If devs want scalabile support for older cards and drivers, everything they support must be implemented in disablible manner. Othervise next year they can raise requirements to proper GL 3.2 implementation if they want full fbo via even maybe GL_ARB_framebuffer_object, and people who today not have problems will have it next year :shock: .

viewtopic.php?f=17&t=3887

I laughed at that :D . as i know nVidia 5200 have 4 texture units (stk needs 8), no proper npot implementation possibile (there is no hardware support for full GL_ARB_texture_non_power_of_two to be implemented) and it have incomplete fbo implementation (there is no support for all fbo formats)... so 0.8 can not run there w/o problems on fbo even.

So if you raised something, you raised requirements and simple that is it. For all that to be supported in hardware and to have resonabile number of karts on race (maybe 8+), people must have AMD HD 2600 or similar mid range card. And on top of that - good drivers and all that must have TODAY to be happy in their racing experience :twisted: :heart: ..

He, he, so if i do some skiddings and so start to leave skid marks and that start to have z-figting when i am in in it model started to have proper color :? That is both with the proper hwtcl mode. Skidding, foging or lighting - that is the question :D

Re: Graphics issues, no need to fix it :D

PostPosted: 27 Dec 2012, 01:42
by Arthur
kosmi {l Wrote}:Oh doh http://sourceforge.net/apps/trac/supert ... ticket/689

So nothing, seems like this card is not supported anymore with the fork of irrlicht used by stk. So someone could change these minimum hardware reuirements:

HARDWARE REQUIREMENTS
=====================
* You need a 3D graphics card that supports OpenGL or Mesa.
* You should have a CPU that's running at 450MHz or better.
* You'll need at least 600 MB of free RAM.
* Ideally, you want a joystick with at least 6 buttons.


That is simple not true, from my experiance it seems to me it now needs mid range graphics, better to not have minimum req just recommends something like 2 GHz CPU and AMD HD2600 or nVidia 8600.

Where are these hardware requirements posted?

Re: Graphics issues, no need to fix it :D

PostPosted: 27 Dec 2012, 01:45
by kosmi
Could someone please willing to post his screenshot of this scene? So i can compare results with other drivers.

download/file.php?id=5042&mode=view

Maybe i will try to revert some of these commits to try then ;)

http://sourceforge.net/apps/trac/supert ... _marks.cpp

@Arthur

Quoted? In README file shiped with 0.8 version.

http://sourceforge.net/apps/trac/supert ... 0.8/README

Re: Graphics issues, no need to fix it :D

PostPosted: 27 Dec 2012, 03:29
by Arthur
Alright, I never read it so didn't know it was there. Anyone who look at these and don't think "wait, less than a gigahertz processor is needed? Hmm... this must be outdated" isn't quite to terms with realities though. Oh well.

Re: Graphics issues, no need to fix it :D

PostPosted: 30 Dec 2012, 16:14
by kosmi
I managed to fixed it, this is what my card does not like:

http://sourceforge.net/apps/trac/supert ... anager.cpp

So i comment out just these:

{l Code}: {l Select All Code}
//mb->getMaterial().ColorMaterial = video::ECM_DIFFUSE_AND_AMBIENT;


And graphics starts to work again for me :) .

Also i found that there is actually settings to disable skiding marks in stk_config.xml under skid<> i add enable="0" Because those http://bit.ly/Tzlal4 is known that also could also interfere with lights.

So that is it, works good now :heart: .

Re: Graphics issues, no need to fix it :D

PostPosted: 31 Dec 2012, 00:02
by Auria
kosmi, glad that it works for you, though in this case it's very likely your GPU or driver doing an incorrect render, and you only "fixed" it by disabling the feature that causes your driver/GPU to render incorrectly, so I am not going to apply your patch since for 99% of people this causes no issues

Funto {l Wrote}:Hmm yes, _IRR_MATERIAL_MAX_TEXTURES_ has been bumped from 4 to 8 in STK...
I wonder if there wouldn't be a way to avoid this by doing multipass rendering for cards that do not support it?
I don't know exactly where this setting is needed...

Hiker and Auria will surely provide a better answer here.

[EDIT] Ah and what was/were texactly he reason(s) invoked by the Irrlicht folks for:
- keeping it a compile-time constant instead of a runtime parameter?
- keeping it to such a low value?


I would argue there is little use in supporting less than 8 textures because even my quite-low-end several-years-old macbook can do it. Plus those are only needed when playing STK with shaders, and shaders can be disabled in options. Multi-pass rendering would be enormous work with little gain since most cards do support 8 textures.

As to why irrlicht will not make it runtime-configurable, or why they won't change the default value, to be honest I do not understand the reason. I asked on their forum and got no reply from core developers if I remember correctly

Re: Graphics issues, no need to fix it :D

PostPosted: 31 Dec 2012, 02:08
by kosmi
Yeah auria do not change it in code (as i said on subject) :) , it works OK here with swtcl render - so this IS just driver issues somehow with lighting setup, maybe VBO also not working corectly somehow because skid marks interfere with lights, etc.

And about apitrace that is just not real software to test any hardware drivers on this planet earth :p . No hardware driver could clean passed that OpenGL apitrace ;) . For hardware drivers there are always solutions and fixes around OpenGL specification. That is called - implementation. So in practice people just follow some of usefull enough implementation. Nvidia implementation, AMD implementation, Mesa/DRI implementation, etc.

So in apitrace tests all drivers will fail somewhere, but in practice they always have solutions & fixes - so they works :heart: .

Re: Graphics issues, no need to fix it :D

PostPosted: 31 Dec 2012, 12:42
by Funto
I hardly see how your patch is related to the problem that your GPU does not support more than 6 texture units (which a Wikipedia search confirmed for me).
What I suppose is that, because of this limitation, the calls to glActiveTexture(GL_TEXTURE6) and glActiveTexture(GL_TEXTURE7) trigger an OpenGL error and do not have any effect.
As a consequence, subsequent calls to setup the texture properties (glBindTexture(), etc) affect the last texture unit that was bound (last glActiveTexture() call that succeeded) instead of the correct one, leading to an incorrect rendering.

The documentation of Irrlicht states;
ECM_DIFFUSE_AND_AMBIENT

Use vertex color for both diffuse and ambient light.

which matches the glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE) OpenGL call.

That means, with your patch, the default ECM_DIFFUSE value is probably used. This makes the ambient part of the lighting depend on the material properties (glMaterialfv(), SMaterial member values) instead of the vertex colors (glColor()).

I don't see how this is related...

On your remarks on ApiTrace: this project is one of the very rare valuable open source debugging utilities there is around. Sure, proprietary driver developers have better tools, and it's not meant primarily for driver developers but for application developers. Nevertheless, being able to record and replay a stream of OpenGL calls that does not trigger the correct behavior is useful for driver developers as well, IMHO.

maybe VBO also not working corectly somehow because skid marks interfere with lights, etc.

I fail to see the link between VBOs and lighting...?

For hardware drivers there are always solutions and fixes around OpenGL specification. That is called - implementation. So in practice people just follow some of usefull enough implementation. Nvidia implementation, AMD implementation, Mesa/DRI implementation, etc.

I don't understand your point here... An OpenGL implementation, be it hardware or software, HAS to follow the OpenGL spec. Having a different behavior is to be considered a bug.

So in apitrace tests all drivers will fail somewhere, but in practice they always have solutions & fixes - so they works

What do you mean by "fail in ApiTrace"?

Re: Graphics issues, no need to fix it :D

PostPosted: 01 Jan 2013, 02:39
by kosmi
Funto {l Wrote}:The documentation of Irrlicht states;
ECM_DIFFUSE_AND_AMBIENT

Use vertex color for both diffuse and ambient light.

which matches the glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE) OpenGL call.

That means, with your patch, the default ECM_DIFFUSE value is probably used. This makes the ambient part of the lighting depend on the material properties (glMaterialfv(), SMaterial member values) instead of the vertex colors (glColor()).


No i think there is no need to call that again, because default is just those, see http://www.opengl.org/sdk/docs/man2/xht ... terial.xml So as you can see initial values are just those you mentioned, so no need to call it - it will get just that from driver :think: . So here i think i get exactly that initial values w/o that calling.

As for apitrace, yeah that is usefull utility to see in which percent drivers follow overal specification, it have extended usefulness, but that is basically it. But no hardware driver follow specs in 100%, because every hardware GL implementation is around hardware and no graphics hardware are designed for or because of one single "clean" API. Many extensions are written from vendors so people can use hardware in a way that one vendor think it is correct for them. But that can be of no value for every other vendors or implementations, so...

I don't understand your point here... An OpenGL implementation, be it hardware or software, HAS to follow the OpenGL spec. Having a different behavior is to be considered a bug.


Or in the best & fast implementations bug is actually started to be a feature :D . So no, if you wish to write a driver you can implement whanever you wish from those, in a way you like or need. Specs are just for reading, but in reality that all is not supported right now by all implementators in a same way., so call it bug or a feature.

What do you mean by "fail in ApiTrace"?


In glretrace, all hardware drivers will fail on some different cases. It will not only in very ideal case, if we all use same software, same implementation (so driver) and one same graphic cards. ALL - vendors, devs and users :twisted: . "So, according to the specs"... that means nothing, you implement feature ina way you mean it is proper right now for overal usefulness of your target user base.

Btw - Happy New Year :heart:

Re: Graphics issues, no need to fix it :D

PostPosted: 01 Jan 2013, 15:00
by xeno74
Hi,

if I start a race in STK 0.8 then I get the following issue:

[IrrDriver] Trying OpenGL rendering.
WARNING: Only power of two textures are supported.
supertuxkart: r300_draw.c:269: r300ConvertAttrib: Assertion `input->Format != 0x80E1' failed.
Aborted


:( :(

My system:

Debian 6.0.6 “squeeze” with ATi Radeon 9600 XT 128MB (8X AGP) video card.

What can I do?

Re: Graphics issues, no need to fix it :D

PostPosted: 01 Jan 2013, 16:11
by kosmi
Update drivers, that is r300 classic mesa driver not supported few years now. 3D support is now in r300g driver from gallium branch. So, try kernel from backports, then backport some new libdrm, on top of that install ddx 2D driver... then mesa from git. But all that is not will be very easy to do on stock Squeeze, radeons in gallium also need newer llvm for shader compiler, maybe also need newer xcb stack, etc :o .

Better update to Wheezy all along :heart: .

Or maybe revert to clean UMS stack and just use r300 driver mesa 7.5.2 from 2009.. That is best from UMS 3D radeon land, but it does not have any FBOs support. FBOs comes with KMS.

Re: Graphics issues, no need to fix it :D

PostPosted: 01 Jan 2013, 16:39
by Arthur
Also, 128MB VRAM is not sufficient for all tracks (at least not the overworld).

Re: Graphics issues, no need to fix it :D

PostPosted: 01 Jan 2013, 16:44
by xeno74
kosmi {l Wrote}:Update drivers, that is r300 classic mesa driver not supported few years now. 3D support is now in r300g driver from gallium branch. So, try kernel from backports, then backport some new libdrm, on top of that install ddx 2D driver... then mesa from git. But all that is not will be very easy to do on stock Squeeze, radeons in gallium also need newer llvm for shader compiler, maybe also need newer xcb stack, etc :o .

Better update to Wheezy all along :heart: .

Or maybe revert to clean UMS stack and just use r300 driver mesa 7.5.2 from 2009.. That is best from UMS 3D radeon land, but it does not have any FBOs support. FBOs comes with KMS.


Thank you for your good explanation.

I have a great idea. I'll compile with _IRR_MATERIAL_MAX_TEXTURES_ 2 ;)

Re: Graphics issues, no need to fix it :D

PostPosted: 01 Jan 2013, 17:31
by xeno74
xeno74 {l Wrote}:
Thank you for your good explanation.

I have a great idea. I'll compile with _IRR_MATERIAL_MAX_TEXTURES_ 2 ;)


Mmhh, the same issue :(

Re: Graphics issues, no need to fix it :D

PostPosted: 01 Jan 2013, 17:38
by xeno74
changes.txt

* MaxTextures (int) The maximum number of simultaneous textures supported by the driver. This can be less than the supported number of textures of the driver. Use _IRR_MATERIAL_MAX_TEXTURES_ to adapt the number.
* MaxSupportedTextures (int) The maximum number of simultaneous textures supported by the fixed function pipeline of the (hw) driver. The actual supported number of textures supported by the engine can be lower.