Gzdoom does not work

Bugs that have been resolved.

Moderator: Graf Zahl

RedThePyro
Posts: 3
Joined: Thu Apr 21, 2016 0:19

Gzdoom does not work

Post by RedThePyro »

(I am new to all of this so bear with me.)
So, I have tried so many attempts to get gzdoom to function. But the versions i've tried (2.1.1[64x], 2.1.1, 1.9.1, g2.2pre-1318-g8b35c08) dont seem to work for me. And every time I attemp to try a mod or even launch gzdoom, I get this error:
OS: Windows 7 (NT 6.1) Build 7601
Service Pack 1
M_LoadDefaults: Load system defaults.
Using program directory for storage
Gameinfo scan took 0 ms
W_Init: Init WADfiles.
adding C:/Users/Giovanni/Desktop/Gzdoom Test/gzdoom.pk3, 610 lumps
adding c:/program files (x86)/steam/SteamApps/common/ultimate doom/base/doom.wad, 2306 lumps
I_Init: Setting up machine state.
CPU Speed: 2095 MHz
CPU Vendor ID: AuthenticAMD
Name: AMD Athlon(tm) II P320 Dual-Core Processor
Family 16 (16), Model 6, Stepping 3
Features: MMX MMX+ SSE SSE2 SSE3 3DNow! 3DNow!+
I_InitSound: Initializing FMOD
FMOD Sound System, copyright © Firelight Technologies Pty, Ltd., 1994-2009.
Loaded FMOD version 4.44.61
V_Init: allocate screen.
S_Init: Setting up sound.
ST_Init: Init startup screen.
Checking cmd-line parameters...
S_InitData: Load sound definitions.
G_ParseMapInfo: Load map definitions.
Texman.Init: Init texture manager.
ParseTeamInfo: Load team definitions.
LoadActors: Load actor definitions.
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
M_Init: Init menus.
P_Init: Init Playloop state.
ParseSBarInfo: Loading default status bar definition.
ParseSBarInfo: Loading custom status bar definition.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)
I_InitInput
I_StartupMouse
I_StartupKeyboard
I_StartupXInput
I_StartupRawPS2
I_StartupDirectInputJoystick

Execution could not continue.

'GL_ARB_sampler_objects' extension not found. Please update your graphics driver.
I'm curious if there is a known fix to this.
User avatar
Gez
Developer
Developer
Posts: 1399
Joined: Mon Oct 22, 2007 16:47

Re: Gzdoom does not work

Post by Gez »

What video card are you using? Are its drivers up to date?

Does ZDoom (not GZDoom) works?
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: Gzdoom does not work

Post by Graf Zahl »

That error means that your graphics hardware does not support GZDoom 2.x. What do you get when running 1.9.1?
RedThePyro
Posts: 3
Joined: Thu Apr 21, 2016 0:19

Re: Gzdoom does not work

Post by RedThePyro »

Gez wrote:What video card are you using? Are its drivers up to date?

Does ZDoom (not GZDoom) works?
(Sorry for the late reply) My video card is "ATI Mobility Radeon HD 4200 Series" and from what I know, I dont think it's possible to update the driver if it does need a update. And Zdoom does work.
User avatar
Rachael
Developer
Developer
Posts: 3651
Joined: Sat May 13, 2006 10:30

Re: Gzdoom does not work

Post by Rachael »

That card only supports OpenGL 2.0. And it is possible to update the driver, but you won't be able to get any later ones for it.

That driver will at least get your OpenGL 2.0 working so that you can run the 1.x builds. But as Graf already asked, what DO you get running the 1.9.1 builds?
_mental_
Developer
Developer
Posts: 259
Joined: Sun Aug 07, 2011 13:36

Re: Gzdoom does not work

Post by _mental_ »

No idea about ATI Mobility Radeon HD 4200, but I have a notebook with HD 4330. Indeed, GZDoom 2.x didn't work, thanks to lack of GL_ARB_sampler_objects extention.
However, Graf added a workaround for this yesterday. So I built g2.2pre-1350-gc786b65 by myself. Unfortunately it crashes deep inside ATI OpenGL driver on attempt to link the first shader, at gl_shader.cpp:176.
Spoiler: Log
Spoiler: Debug Output
I'm trying to fix that although the notebook is so crappy and so slow, it's the real pain in a butt to compile and debug on it.
GZDoom 1.x works, OK for vanilla and other not very complex maps.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: Gzdoom does not work

Post by Graf Zahl »

I think on such hardware users should stick to 1.x. It's not that they lose too much, I think the only features that really get compromised are dynamic lights and clip planes.

I've been trying to track down some issues on a somewhat newer 4800 with Eruanna's help, but it looks to me that the driver's GL 3.x support is just broken beyond repair. I'm currently trying to make GZDoom 2.x work with a GLSL 1.2 shader but that requires quite a bit of reworking to use the builtin shader inputs.

And what is it about forbidden uniform blocks?
_mental_
Developer
Developer
Posts: 259
Joined: Sun Aug 07, 2011 13:36

Re: Gzdoom does not work

Post by _mental_ »

Graf Zahl wrote:And what is it about forbidden uniform blocks?
Have no idea, I'm not an expert in GLSL. I solved compilation errors by replacing this

Code: Select all

	/*layout(std140)*/ uniform LightBufferUBO
	{
		vec4 lights[NUM_UBO_LIGHTS];
	};
with this

Code: Select all

	uniform vec4 lights[NUM_UBO_LIGHTS];
in main.fp.

This didn't solve the crash anyway. It appeared that problem is in value of NUM_UBO_LIGHTS itself. From my experiment I can say that the safe value of FLightBuffer::mBlockSize (and so, NUM_UBO_LIGHTS) is 236. With 240 the picture is screwed completely, greater values lead to a crash:
Screenshot_Doom_20160423_124254.png
Screenshot_Doom_20160423_124254.png (116.73 KiB) Viewed 2740 times
Even with the safe value there are some rendering glitches. For example, the chainsaw is displaced and transformed quite wildly when camera moves:
Screenshot_Doom_20160423_124417.jpg
Screenshot_Doom_20160423_124417.jpg (108.48 KiB) Viewed 2740 times
I think that GZDoom 1.x is the only option here :?
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: Gzdoom does not work

Post by Graf Zahl »

Thanks for the UBO information. It may help solve part of the problem - but I'm sure that the offsetting can be fixed, too. It looks somehow like the transformation matrices get trashed - that's why I want to make a GLSL 1.2 shader using the deprecated builtins which are managed by the driver, not the application.

But this mess really looks like these cards have no decent means to do shader-based dynamic lights, if their uniform buffer support is this broken. Putting the light array in the global uniform space won't work. I tried that before and ATI drivers puked all over the place. Yes, it compiles, but don't dare using any lights...
RedThePyro
Posts: 3
Joined: Thu Apr 21, 2016 0:19

Re: Gzdoom does not work

Post by RedThePyro »

Eruanna wrote:That card only supports OpenGL 2.0. And it is possible to update the driver, but you won't be able to get any later ones for it.

That driver will at least get your OpenGL 2.0 working so that you can run the 1.x builds. But as Graf already asked, what DO you get running the 1.9.1 builds?
I tried the 1.9.1 builds and they worked.
User avatar
Rachael
Developer
Developer
Posts: 3651
Joined: Sat May 13, 2006 10:30

Re: Gzdoom does not work

Post by Rachael »

Ok thanks for letting us know. :)
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: Gzdoom does not work

Post by Graf Zahl »

I found out what the problem on Eruanna's card is: The implementation of gl_ClipDistance is broken. In fact, it is so broken that I see no way to get it working.

@_mental_: Can you comment out all lines containing an assignment to this array and see if it solves the issues on your card as well?
I believe the only course of action here is to downpatch the shader to GLSL 1.2 and replace gl_ClipDistance with the old clip planes feature - that'd be the same feature set used by GZDoom 1.x. If that works out we might be able to merge the two branches again, the only thing that may have to be sacrificed for true GL 2.x cards is a few enhanced effects.

So what I imagine is this:
  • OpenGL 3.x and higher uses the modern shader with all features, unless ATI and not GL 4 (which seem to be the problem drivers.)
  • ATI GL 3.x use the GLSL 1.2 shader with all features except dynamic lights which will have to be done with texture overlays, just like in 1.9.
  • Apple: I don't know how well shader based lights work for you, if they are fine it may be possible to use the 1.9 shader code, otherwise: same as ATI 3.x, if compatible hardware can be detected (the necessary extensions to find such cards are present.)
  • For legacy GL 2.x hardware, these days only some bottom-of-the-barrel Intel chipsets, a few sacrifices will have to be made (invunerability map by just doing an inverse overlay, no desaturation, no brightmaps and no shader based warping), unless the users enable the shaders in the menu. My problem is, I have no information how this old hardware performs with active shaders compared to no shaders. Nominally they support all needed features, but on NVidia and ATI GL 2 hardware they were just too slow. But these Intel chipsets are newer, and while slow the impact of shaders may be less.
User avatar
Rachael
Developer
Developer
Posts: 3651
Joined: Sat May 13, 2006 10:30

Re: Gzdoom does not work

Post by Rachael »

If I had any newer Intels other than the one in my latest laptop I'd offer to test for you. Unfortunately, I only have an HD 4600 and a GMA 900. The GMA is only capable of running OpenGL 1.4, which GZDoom stopped supporting after 1.8.6.

The HD 4600 runs GZDoom 2.x very smoothly and without any rendering errors, so there is no need for adjustments on it.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: Gzdoom does not work

Post by Graf Zahl »

I have a HD4000 myself in my CPU and occaionally use that for testing, aside from performance issues there's no problems with modern Intels.
The GMA900 is indeed useless.
Edward-san
Developer
Developer
Posts: 197
Joined: Sun Nov 29, 2009 16:36

Re: Gzdoom does not work

Post by Edward-san »

I have Intel Sandybridge mobile (on linux), if it might help.
Locked

Return to “Closed Bugs”