Game returns me the following error ;
ERROR: GL_ARB_multitexture not available
Im using ubuntu 14.04 x64 with radeon driver. Problem seems to go away when i switch to closed source binary blob.
System: 4gigs of ram, a4-4300m apu plus radeon hd7670m gpu
And the upstream issue: https://github.com/RobertBeckebans/RBDOOM-3-BFG/issues/107
I doubt this is our bug, but reassigning to Mesa core for now.
Is there something different within BFG edition than more content, engine is the same? I've just tested regular Doom3 with today's Mesa master on Intel IVB and everything works fine, log also says "...using GL_ARB_multitexture".
Jan, could you please add full log output from doom3 when you run it.
Created attachment 99395 [details]
i attached the log file. game also started to lower to my resolution to 640x480 which it didnt do in my first try.
Wasn't Doom 3 one of those older games that had a fixed-size buffer for storing the GL_EXTENSIONS string? If the extension string was too long the buffer would overflow and the game would crash/misbehave.
Jan, you might try setting the MESA_EXTENSION_MAX_YEAR env var to something like 2005 so Mesa doesn't advertise extensions newer than that.
(In reply to comment #6)
> Wasn't Doom 3 one of those older games that had a fixed-size buffer for
> storing the GL_EXTENSIONS string? If the extension string was too long the
> buffer would overflow and the game would crash/misbehave.
> Jan, you might try setting the MESA_EXTENSION_MAX_YEAR env var to something
> like 2005 so Mesa doesn't advertise extensions newer than that.
I've verified that original Doom3 works fine with current Mesa. Doom3 here is 'rbdoom3', this is a custom one that uses >= OpenGL 3.2:
I haven't tried yet but my wild guess is that it uses core profile but still the old deprecated extensions query (not the new one).
Took a bit more look. The problem is that game opens a core context but expects to use legacy/compatibility extensions like GL_ARB_multitexture. Same happens with GL_ARB_texture_compression and GL_ARB_vertex_buffer_object which it queries as well.
You can get a bit further by forcing a legacy context (using MESA_GL_VERSION_OVERRIDE=2.0) but then after getting through extension checks there are problems with shader compiler because shaders seem to be gles3 (have "#version 300 es" in them), I'm not sure how to debug this further, I think there are issues either in the game or glew.
The latest RBDOOM-3-BFG git at the time of writing
(485edfebc146c6c60fe4e918d7bb7b18e1e87f1b) seems to work fine with Mesa 10.2.3 on OpenBSD/amd64 with ivybridge mobile/HD4000 without needing to set any additional environment variables.
So it seems a recent change in Mesa has fixed this?
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
OpenGL core profile version string: 3.2 (Core Profile) Mesa 10.2.3
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 3.0 Mesa 10.2.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.2.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.0
I'm getting a lot of shader compiler errors when testing current RBDOOM-3-BFG git (485edfebc146c6c60fe4e918d7bb7b18e1e87f1b) on IVB. These are all related to implicit conversion, coming from following code snippet:
--- 8< ---
144: int numSamples = 12 ;
145: float stepSize = 1.0 / numSamples ;
--- 8< ---
0:145(19): error: could not implicitly convert operands to arithmetic operator
That implicit cast was fixed in RBDOOM-3-BFG Git 79b8e04e.
(In reply to comment #11)
> That implicit cast was fixed in RBDOOM-3-BFG Git 79b8e04e.
cool, now it seems to initialize allright on IVB (still fails for me in loading though but I only have original pk4 files to test with, not BFG edition ones), someone with BFG files please resolve.
Jan, please try if it works for you
according to comment #9 this is fixed
(In reply to comment #14)
> according to comment #9 this is fixed
i tried to get latest git and compile the code myself but that brought more errors. i dag for some time but i couldnt handle these errors. sorry