View Issue Details

IDProjectCategoryView StatusLast Update
0005468The Dark ModGraphicspublic29.03.2021 01:24
Reporterstgatilov Assigned Tocabalistic  
PrioritylowSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product VersionTDM 2.09 
Target VersionTDM 2.10Fixed in VersionTDM 2.09 
Summary0005468: Debug rendering like s_drawSounds does not work under com_smp
DescriptionThere are many useful debugging render tools under debug cvars.
Some of them don't work under com_smp, some of them force-disable com_smp (see 0004408).

Most likely problem is that these debug rendering have lifetime = 0, which means "only render next frame".
But with SMP it is broken, and needs fixing.
Steps To Reproduce1) Start any FM.
2) Enable "s_drawSounds 1".
3) Listen and look for sounds.

There should be box and text near every point where sounds originate.
It is printed with com_smp 0, but is not with com_smp 1.

TagsNo tags attached.

Relationships

related to 0004408 resolvedduzenko Find a way to run game tics on a background thread 

Activities

stgatilov

stgatilov

31.12.2020 11:43

administrator   ~0013334

Ok, the main problem is that debug data like rb_debugLines is filled from game/frontend thread, while backend thread draw this data in parallel.
So in order to support it properly, some complicated double buffering would be necessary.

For now, I'll add s_drawSounds to the condition on disabling com_smp.
Also, I guess I'll commit some refactoring of debug geometry drawing (after 2.09 beta is over, I guess).
But I'm not sure this issue is worth fixing.
stgatilov

stgatilov

24.01.2021 10:40

administrator   ~0013503

Cabalistic did two related commits:
  r9079 Make debug primitives usable with com_smp
  r9084 Properly copy debug primitives over to backend
It is quite likely that they solve the original problem with SMP by copying the debug data.

I guess we need to review the hacks for 2.10 and probably remove them.
stgatilov

stgatilov

27.02.2021 13:58

administrator   ~0013737

Two more commits:
  r9153. Some refactoring of debug rendering primitives.
  r9154. Removed "com_smp 0" workaround for most of debug primitives.

The com_smp force-disabling hack is still left for:
  r_showSurfaceInfo: this is clearly buggy with SMP
  r_showDepth: could not make it work at all

P.S.Also r_showSilhouette only works in deprecated GL profile.
nbohr1more

nbohr1more

28.03.2021 20:49

developer   ~0013820

r_materialOverride is broken with com_smp enabled. I will add it to the smp blacklist unless someone has a better way...
nbohr1more

nbohr1more

29.03.2021 01:08

developer   ~0013821

Last edited: 29.03.2021 01:24

Nope. com_smp is not the issue for r_materialOverride. It is frontend acceleration.

Fixed in rev 9227

Issue History

Date Modified Username Field Change
27.12.2020 10:30 stgatilov New Issue
27.12.2020 10:30 stgatilov Status new => assigned
27.12.2020 10:30 stgatilov Assigned To => stgatilov
27.12.2020 10:30 stgatilov Relationship added related to 0004408
31.12.2020 11:43 stgatilov Note Added: 0013334
24.01.2021 10:40 stgatilov Note Added: 0013503
16.02.2021 14:45 stgatilov Priority normal => low
27.02.2021 13:58 stgatilov Note Added: 0013737
27.02.2021 13:59 stgatilov Status assigned => resolved
27.02.2021 13:59 stgatilov Resolution open => fixed
27.02.2021 13:59 stgatilov Fixed in Version => TDM 2.10
27.02.2021 14:00 stgatilov Assigned To stgatilov => cabalistic
27.02.2021 14:00 stgatilov Fixed in Version TDM 2.10 => TDM 2.09
28.03.2021 20:49 nbohr1more Note Added: 0013820
29.03.2021 01:08 nbohr1more Note Added: 0013821
29.03.2021 01:24 nbohr1more Note Edited: 0013821