Jump to content
The Dark Mod Forums

Recommended Posts

Posted (edited)

Is a 11 years old card with supposed support for D3D 11 (11.2) and OGL 4.4, so on the API front should be more than enough to play TDM but it apparently only has 512MB of VRAM and that can be a big limitation on the bigger missions.

Edited by HMart
Posted
6 hours ago, Alberto Salvia Novella said:

Setting "r_glCoreProfile" to "0" prevents the game from launching.

Mmm... probably some Mesa-based open-source Linux drivers?
Until recently, they did not support GL3+ with deprecated profile.

Posted
23 hours ago, Alberto Salvia Novella said:

AMD CYPRESS (DRM 2.50.0 / 5.10.63-1-MANJARO, LLVM 12.0.1)
OpenGL 3.1
Mesa 21.2.1

As far as I remember, TDM 2.09 requires OpenGL 3.3 to start.

So either your OpenGL does not fit the requirement, or (as I guessed above) it has separate GL versions for core and deprecated profile. Perhaps version in core profile is newer than 3.3, but the version in deprecated profile is only 3.1

By the way, do you also have the problem with black screen in main menu and sound playing?

Posted
3 hours ago, Alberto Salvia Novella said:

Yes.

We never found what was the reason behind this issue.
It broke after we started asking for GL 3.3 instead of GL 3.1, and it does not break in compatibility mode.

I don't think it is easy to revert back to the old version, and not sure how to debug it either.

Posted
18 minutes ago, stgatilov said:

We never found what was the reason behind this issue.
It broke after we started asking for GL 3.3 instead of GL 3.1, and it does not break in compatibility mode.

I wonder if it's related to index buffers. Menu elements are (afaik) the last elements that are drawn from a CPU-provided index list instead of a GPU index buffer. Far as I know, the spec doesn't require one, or at least I couldn't find anything to the contrary, but it's possible some drivers expect them, anyway?

  • Like 2
Posted
26 minutes ago, cabalistic said:

I wonder if it's related to index buffers. Menu elements are (afaik) the last elements that are drawn from a CPU-provided index list instead of a GPU index buffer. Far as I know, the spec doesn't require one, or at least I couldn't find anything to the contrary, but it's possible some drivers expect them, anyway?

Maybe this?

image.png.2a01906bbcbf934fa55d54539d0d9f4e.png

And it seems that vertex attributes can only be specified with glVertexAttribPointer, which also seems to require offset into bound buffer object.

  • Like 1
Posted

Well, that'd be that, then. Unfortunately, fixing the menu elements to use an index buffer isn't an entirely trivial fix, or I'd have done it sooner, but I guess we'll have to put it on the agenda somewhere :)

Posted
4 minutes ago, cabalistic said:

Well, that'd be that, then. Unfortunately, fixing the menu elements to use an index buffer isn't an entirely trivial fix, or I'd have done it sooner, but I guess we'll have to put it on the agenda somewhere :)

I think this should fix it:

image.thumb.png.ed084b6271db71bb6752532a8794407f.png

But I still get draw surfaces with invalid indexCache durign gameplay as soon as "objective complete" text pops up.

Posted

It seems that the easiest approach is going through all R_AddDrawSurf calls and adding the same thing everywhere.

I wonder why R_AddDrawSurf does not create caches automatically inside... but I guess not the best time to refactor it.

Posted
1 hour ago, stgatilov said:

I think I fixed all calls in svn rev 9595.

Here are executables from the latest SVN, most likely compatible with the latest dev build.
It would be great if someone can verify that everything works properly now even with "r_glCoreProfile 2" (default).

What is it supposed to fix? Core profile on pre-GCN Radeons? Why did all other drivers work if it's about the removed legacy stuff? I can test tomorrow, but I'm skeptical.

Posted
7 hours ago, duzenko said:

Why did all other drivers work if it's about the removed legacy stuff?

Because they are more permissive.
Maybe some popular game used CPU pointers in core profile, so drivers decided to support it.

Anyway, it is a big error for core profile, and it must be fixed.

Posted
4 hours ago, stgatilov said:

Because they are more permissive.
Maybe some popular game used CPU pointers in core profile, so drivers decided to support it.

Anyway, it is a big error for core profile, and it must be fixed.

Agree about fixing the error

I just can’t imagine a game requiring a core profile and then doing client arrays. Oh, wait…

Posted

Probably since OpenGL <=3.1 allowed to use Client-Side Vertex Arrays, instead of Vertex Buffer Objects, drivers just followed the same capability. Even if it didn't make sense programmatically.

For instance they removed that possibility in OpenGL 3.2, likely just to make it explicit that you should not program that shitty, 80s graphics style.

Posted
17 minutes ago, Alberto Salvia Novella said:

Probably since OpenGL <=3.1 allowed to use Client-Side Vertex Arrays, instead of Vertex Buffer Objects, drivers just followed the same capability. Even if it didn't make sense programmatically.
For instance they removed that possibility in OpenGL 3.2, likely just to make it explicit that you should not program that shitty, 80s graphics style.

Yes, there was some bureaucratic mess related to deprecation during GL 3.0 and 3.1, which was finally resolved in GL 3.2. Like "deprecated but not removed yet" which later turned into "removed in core". It can easily explain it worked before version bump, but stopped working after it.

Posted
On 9/21/2021 at 9:02 PM, stgatilov said:

I think I fixed all calls in svn rev 9595.

Here are executables from the latest SVN, most likely compatible with the latest dev build.
It would be great if someone can verify that everything works properly now even with "r_glCoreProfile 2" (default).

You did

Spoiler

image.png

  

On 5/15/2021 at 5:04 PM, nbohr1more said:

@cabalistic it sounds like the GUI is using legacy GL somewhere?

You were right all along

It's still frustrating as heck that it didn't raise any GL errors

And I'm not sure what we're left with in the end - half-core profiles that do something specifically forbidden by specification? Crazy

  • Like 1
Posted
On 9/19/2021 at 10:39 AM, stgatilov said:

Then the same workaround should work: seta r_glCoreProfile "0" in darkmod.cfg

It is a rather old graphics card, right?

Yes it is and its second hand. My PC needs a serious overhaul/rebuild.

On 9/19/2021 at 12:44 PM, HMart said:

Is a 11 years old card with supposed support for D3D 11 (11.2) and OGL 4.4, so on the API front should be more than enough to play TDM but it apparently only has 512MB of VRAM and that can be a big limitation on the bigger missions.

It can be, my computer does struggle with the larger missions. I do have it in mind to upgrade at some point but for the time being its still alive and working. I do have other games I can't run at all on my computer so likely in the near future I will have to get on and upgrade things in it. Its just the issue of time, money and getting the right parts.

Ps. If you think that is an old computer part my screen is an old LG from I think 2004.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recent Status Updates

    • JackFarmer

      "The Year of the Rat." 
      😄

      Al Stewart must be proud of you!
      Happy testing!
      @MirceaKitsune
      · 1 reply
    • datiswous

      I posted about it before, but I think the default tdm logo video looks outdated. For a (i.m.o.) better looking version, you can download the pk4 attached to this post and plonk it in your tdm root folder. Every mission that starts with the tdm logo then starts with the better looking one. Try for example mission COS1 Pearls and Swine.
      tdm_logo_video.pk4
      · 2 replies
    • JackFarmer

      Kill the bots! (see the "Who is online" bar)
      · 3 replies
    • STiFU

      I finished DOOM - The Dark Ages the other day. It is a decent shooter, but not as great as its predecessors, especially because of the soundtrack.
      · 5 replies
    • JackFarmer

      What do you know about a 40 degree day?
      @demagogue
      · 4 replies
×
×
  • Create New...