...it doesn't work on Windows XP SP3?!!

Discussion about the game and its default mods.
User avatar
Sleipnir
Posts: 878
Joined: Wed Apr 10, 2002 11:52 pm
Contact:

Post by Sleipnir »

Haven't had time to look further into this yet sorry, maybe in a few more days.

twarpie
Posts: 60
Joined: Sun Jun 26, 2011 3:10 pm

Post by twarpie »

Sleipnir wrote: Haven't had time to look further into this yet sorry, maybe in a few more days.
No problem.

I've been experimenting with a git checkout, and have observed some things:
  • Crashes occur at OpenRA.Renderer.Cg\GraphicsDevice.cs:DrawPrimitives():291, which calls Gl.glDrawArrays(..)
  • They also occur at OpenRA.Renderer.Cg\Texture.cs:PrepareTexture():42
  • Sometimes the exception reads: GL Error: 1281
  • Other times it reads: GL Error: INVALID_ENUM
  • I haven't been able to determine any pattern as to which exception will be thrown (as in: on some runs you get one, on others the other)
Unfortunately I don't have enough experience with OpenGL and / or C# to be of any help (more on the embedded side).

This may be an interesting 'summary' of (OpenGL) related issues for the GMA 950: http://www.exorstudios.com/forum/viewto ... =23&t=1280.

Another one: http://forum.eeeuser.com/viewtopic.php?id=63532.

hth

User avatar
Sleipnir
Posts: 878
Joined: Wed Apr 10, 2002 11:52 pm
Contact:

Post by Sleipnir »

(Note: disregard what I previously wrote in this post, it wasn't correct)

What branch are you running? If you are running OpenRA/master (which corresponds to release-20110511), try OpenRA/next (corresponding to playtest-20110602) or even better, add pchote/OpenRA as a git remote and try my master branch. The upstream code is horribly outdated.

If those links are to be believed, the DrawPrimitives() crash will happen if you're running the release build because the 950 doesn't support 32-bit vertex indexing. We had to switch from 16 to 32 bit indices a few months ago to work around rendering bugs with large map sizes: our terrain requires 4 vertices per tile, which are calculated once at load and stored in a vertex buffer on the gfx card. A 128x128 map is enough to fill the address space, causing larger maps to show rendering glitches. We (hopefully) removed this indexing requirement in playtest-20110602, so hopefully you won't see it there.

If possible, I'd like to ask a favor: Add pchote/OpenRA as a git remote and checkout my master branch. I have made some changes to write out graphics.log when the Cg renderer fails, but have not been able to test it yet. If we can confirm that this works correctly we will be able to push the logging changes into the next release and hopefully any future problems won't require nearly as much digging to identify.

twarpie
Posts: 60
Joined: Sun Jun 26, 2011 3:10 pm

Post by twarpie »

Sleipnir wrote: (Note: disregard what I previously wrote in this post, it wasn't correct)

What branch are you running? If you are running OpenRA/master (which corresponds to release-20110511), try OpenRA/next (corresponding to playtest-20110602) or even better, add pchote/OpenRA as a git remote and try my master branch. The upstream code is horribly outdated.
I had a checkout of chrisforbes/OpenRA, which seemed more recent than upstream.
Sleipnir wrote: If those links are to be believed, the DrawPrimitives() crash will happen if you're running the release build because the 950 doesn't support 32-bit vertex indexing. We had to switch from 16 to 32 bit indices a few months ago to work around rendering bugs with large map sizes: our terrain requires 4 vertices per tile, which are calculated once at load and stored in a vertex buffer on the gfx card. A 128x128 map is enough to fill the address space, causing larger maps to show rendering glitches. We (hopefully) removed this indexing requirement in playtest-20110602, so hopefully you won't see it there.
Doesn't seem to help. The playtest-20110602 version was my first try with OpenRA (downloaded from openra.org), which crashed, and brought me here. I've checked some devtests (up to 20110629) from the URL you posted some posts back. Same problem.
Sleipnir wrote: If possible, I'd like to ask a favor: Add pchote/OpenRA as a git remote and checkout my master branch. I have made some changes to write out graphics.log when the Cg renderer fails, but have not been able to test it yet. If we can confirm that this works correctly we will be able to push the logging changes into the next release and hopefully any future problems won't require nearly as much digging to identify.
Just checked out pchote/OpenRA, compiled, ran, crashed. See the logs (attached).

Apparently the GMA950 doesn't have a 'shader version' :) (bit sad actually).

(bit of extra info) I had Tao.Cg print the vertex/fragment profiles. Results: VP: arbvp1; FP: arbfp1.

Thanks for your effort btw; looking at your bugtracker you got plenty of issues left. GMA950s (and similar cards) got used in a lot of laptops / netbooks though, so fixing it might potentially make the game more interesting to play on those types of machines.
Attachments
CG_Logs.zip
(2 KiB) Downloaded 439 times

User avatar
Sleipnir
Posts: 878
Joined: Wed Apr 10, 2002 11:52 pm
Contact:

Post by Sleipnir »

Ok, I think we're making progress now.

Some of the gl calls that we use in the Cg renderer assume gl >= 1.5, but your driver only supports 1.4 officially. Your card/driver can do most of the bits we need (albeit, slowly), but need to be called using a different API.

Chrisf is looking into merging our two renderers (they are mostly identical) and choosing the appropriate glsl/cg/ARB bits at runtime. This probably won't magically fix the 950, but we should be in a much better state to know where to head next once they are done.

I'll post an update once this is done.

twarpie
Posts: 60
Joined: Sun Jun 26, 2011 3:10 pm

Post by twarpie »

Sleipnir wrote: Ok, I think we're making progress now.

Some of the gl calls that we use in the Cg renderer assume gl >= 1.5, but your driver only supports 1.4 officially. Your card/driver can do most of the bits we need (albeit, slowly), but need to be called using a different API.

Chrisf is looking into merging our two renderers (they are mostly identical) and choosing the appropriate glsl/cg/ARB bits at runtime. This probably won't magically fix the 950, but we should be in a much better state to know where to head next once they are done.

I'll post an update once this is done.
Nice. I'll await your update. Thanks again.

twarpie
Posts: 60
Joined: Sun Jun 26, 2011 3:10 pm

Post by twarpie »

twarpie wrote:
Sleipnir wrote: Ok, I think we're making progress now.

Some of the gl calls that we use in the Cg renderer assume gl >= 1.5, but your driver only supports 1.4 officially. Your card/driver can do most of the bits we need (albeit, slowly), but need to be called using a different API.

Chrisf is looking into merging our two renderers (they are mostly identical) and choosing the appropriate glsl/cg/ARB bits at runtime. This probably won't magically fix the 950, but we should be in a much better state to know where to head next once they are done.

I'll post an update once this is done.
Nice. I'll await your update. Thanks again.
Any updates on this? No pressure, just asking :)

User avatar
Sleipnir
Posts: 878
Joined: Wed Apr 10, 2002 11:52 pm
Contact:

Post by Sleipnir »

Nothing new that will help your situation, sorry.

User avatar
Sleipnir
Posts: 878
Joined: Wed Apr 10, 2002 11:52 pm
Contact:

Post by Sleipnir »


twarpie
Posts: 60
Joined: Sun Jun 26, 2011 3:10 pm

Post by twarpie »

Sleipnir wrote: Give this version a go: http://sleipnirstuff.com/openra/devtest ... 110723.exe
Just tried it. Following config:

Code: Select all

Graphics:
	Renderer: Cg
	Mode: Windowed
	WindowedSize: 640,480
Results in a crash, with the following exception in graphics.log:

Code: Select all

GL Error: GL_INVALID_ENUM
   at OpenRA.Renderer.SdlCommon.ErrorHandler.CheckGlError()
   at OpenRA.Renderer.SdlCommon.Texture.PrepareTexture()
   ...
See attachment for full logs.

Does this version include commit ff0ee8039ff91447d8b7 ?
Attachments
devtest_20110723_Logs.zip
(2.13 KiB) Downloaded 435 times

twarpie
Posts: 60
Joined: Sun Jun 26, 2011 3:10 pm

Post by twarpie »

Just tried a build of an up-to-date (as of 30d85ce878861c95e8ce7226b8322130826d6769) git checkout of pchote/OpenRA/master.

Crashes as well, but with different exception in graphics.log:

Code: Select all

GL Error: GL_INVALID_OPERATION
   at OpenRA.Renderer.SdlCommon.ErrorHandler.CheckGlError()
   at OpenRA.Renderer.Cg.GraphicsDevice.DrawPrimitives(PrimitiveType pt, Int32 firstVertex, Int32 numVertices)
   ...
Again, see attachment for full logs.

Is this the 32bit indices problem?


thanks for your efforts btw, enjoying the game.
Attachments
pchote_git_20110723_Logs.zip
(2.03 KiB) Downloaded 425 times

daviperdragon
Posts: 1
Joined: Mon Aug 08, 2011 11:44 pm

Post by daviperdragon »

i dont know if you've fixed this but i get the following error logs, when i try your newest release on http://openra.res0l.net/
Attachments
Logs.zip
(1.42 KiB) Downloaded 433 times

ddd
Posts: 272
Joined: Sat Oct 23, 2010 5:04 pm

Post by ddd »

daviperdragon, it says in logs that your GPU is weak to run the game with Gl renderer. Which GPU do you have? Did you try to run a game with alternative Cg renderer (with `Graphics.Renderer=Cg` parameter)?

twarpie
Posts: 60
Joined: Sun Jun 26, 2011 3:10 pm

Post by twarpie »

Just a ping: any progress on this?

Post Reply