Jump to content
The Dark Mod Forums
Sign in to follow this  
cabalistic

Testers and reviewers wanted: BFG-style vertex cache

Recommended Posts

Alright.

 

I've been blaming the wrong thing again...

 

The flicker is the not particles effects. It's the fog lights.

 

r_skipFogLights cures all affected maps (and gets rid of fog).

 

Time to look at how the fog is touching cache...

 

Edit

 

I'm not seeing anything obviously wrong there.

 

I tried excluding lightgem from all fog work with conditionals for "backEnd.viewDef->IsLightGem()" ( in draw_common.cpp)

but it didn't improve anything.

  • Like 1

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Share this post


Link to post
Share on other sites

I have now changed the vertex cache such that the static cache is only as large as it needs to be on the GPU VRAM, and the dynamic frame caches can resize themselves if they ran out in the previous frame. So no more wasted VRAM :)

For the static cache, it means that during level load it will briefly allocate 512 Mb of standard RAM as a shadow buffer to fill the static cache and upload from it to the GPU. Afterwards, that memory is freed again.

 

I'll investigate the remaining issues.

  • Like 3

Share this post


Link to post
Share on other sites

Crash report.

Surface material: models/props/misc/lightgem_surface

This happened shortly after vid_restart.

Exception thrown at 0x532268A0 (ig9icd32.dll) in TheDarkModNoTools.exe: 0xC0000005: Access violation reading location 0x0029F110.

 	ig9icd32.dll!532268a0()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for ig9icd32.dll]	
 	[External Code]	
>	TheDarkModNoTools.exe!RB_DrawElementsWithCounters(const srfTriangles_s * tri) Line 85	C++
 	TheDarkModNoTools.exe!RB_T_FillDepthBuffer(const drawSurf_s * surf) Line 294	C++
 	TheDarkModNoTools.exe!RB_RenderDrawSurfListWithFunction(drawSurf_s * * drawSurfs, int numDrawSurfs, void(*)(const drawSurf_s *) triFunc_) Line 259	C++
 	[Inline Frame] TheDarkModNoTools.exe!RB_STD_FillDepthBuffer(drawSurf_s * *) Line 349	C++
 	TheDarkModNoTools.exe!RB_STD_DrawView() Line 1277	C++
 	TheDarkModNoTools.exe!RB_DrawView(const void * data) Line 881	C++
 	TheDarkModNoTools.exe!RB_ExecuteBackEndCommands(const emptyCommand_t * cmds) Line 587	C++
 	TheDarkModNoTools.exe!R_IssueRenderCommands(frameData_t * frameData) Line 135	C++
 	TheDarkModNoTools.exe!LightGem::Render() Line 348	C++
 	TheDarkModNoTools.exe!idRenderSystemLocal::EndFrame(int * frontEndMsec, int * backEndMsec) Line 646	C++
 	TheDarkModNoTools.exe!idSessionLocal::UpdateScreen(bool outOfSequence) Line 2648	C++
 	TheDarkModNoTools.exe!idCommonLocal::Frame() Line 2454	C++
 	TheDarkModNoTools.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 1368	C++
 	[External Code]	

  • Like 1

Share this post


Link to post
Share on other sites

Need steps to reproduce. The crash happened in your OpenGL drivers, so the stacktrace from TDM is not very helpful on its own :(

  • Like 1

Share this post


Link to post
Share on other sites

Try this.

Load Inn Business. Set r_fboResolution high enough so that rendering. is GPU-limited.

Execute in console

map innbiz.map
I get this once today

Exception thrown: read access violation.
backEnd.vLight->**lightDef** was 0x3A9369E0.

	TheDarkModNoTools.exe!RB_CreateSingleDrawInteractions(const drawSurf_s * surf) Line 797	C++
 	TheDarkModNoTools.exe!RB_GLSL_CreateDrawInteractions(const drawSurf_s * surf) Line 179	C++
 	TheDarkModNoTools.exe!RB_GLSL_DrawLight_Stencil() Line 261	C++
 	TheDarkModNoTools.exe!RB_GLSL_DrawInteractions() Line 348	C++
 	TheDarkModNoTools.exe!RB_STD_DrawView() Line 1281	C++
 	TheDarkModNoTools.exe!RB_DrawView(const void * data) Line 875	C++
 	TheDarkModNoTools.exe!RB_ExecuteBackEndCommands(const emptyCommand_t * cmds) Line 587	C++
 	TheDarkModNoTools.exe!R_IssueRenderCommands(frameData_t * frameData) Line 135	C++
 	TheDarkModNoTools.exe!idRenderSystemLocal::EndFrame(int * frontEndMsec, int * backEndMsec) Line 648	C++
 	TheDarkModNoTools.exe!idSessionLocal::UpdateScreen(bool outOfSequence) Line 2645	C++
 	TheDarkModNoTools.exe!idSessionLocal::ShowLoadingGui() Line 480	C++
 	TheDarkModNoTools.exe!idSessionLocal::ExecuteMapChange(bool noFadeWipe) Line 1520	C++
 	TheDarkModNoTools.exe!idSessionLocal::MoveToNewMap(const char * mapName) Line 1148	C++
 	TheDarkModNoTools.exe!idSessionLocal::StartNewGame(const char * mapName, bool devmap) Line 1119	C++
 	TheDarkModNoTools.exe!Session_Map_f(const idCmdArgs & args) Line 133	C++
 	TheDarkModNoTools.exe!idCmdSystemLocal::ExecuteTokenizedString(const idCmdArgs & args) Line 482	C++
 	TheDarkModNoTools.exe!idCmdSystemLocal::ExecuteCommandBuffer() Line 663	C++
 	TheDarkModNoTools.exe!idEventLoop::RunEventLoop(bool commandExecution) Line 170	C++
 	TheDarkModNoTools.exe!idCommonLocal::Frame() Line 2426	C++
 	TheDarkModNoTools.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 1367	C++
Basically keep quick loading and it should fail eventually.
  • Like 1

Share this post


Link to post
Share on other sites

Can you upload&link the exe?

 

https://www.moddb.com/mods/the-dark-mod/downloads/tdm-206-vertex-buffer-beta

 

Sorry for the delay.

I was waiting for some major issues to be resolved.

 

This should be good enough to make Nvidia players happy. ;)


Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Share this post


Link to post
Share on other sites

Thanks, man!


Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

I'm getting null ambientCashe spam in console.

Start Inn Business. notarget in console for safe test. Keep watching the whore and in about one minute, when she says "You like what you see?" I got the spam.

Quick save, quick load and it crashes with the stack trace above.

Share this post


Link to post
Share on other sites

About

 

seta r_useBfgPortalCulling

 

we must set it to 1 or not?


Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

Glass shader (transparency?) flickering:

 

The_Dark_Modx64_2018_06_17_09_22_00_829.

 

(Full Moon Fever start)


Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

Glass shader (transparency?) flickering:

 

 

 

(Full Moon Fever start)

Does it flicker with AA on?

Share this post


Link to post
Share on other sites

Does it flicker with AA on?

I don't use AA!


Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

I don't use AA!

 

This is being looked into.

 

The current design requires you to enable MSAA to avoid a feedback loop in the shader.

 

So 2.06 == Don't use AA, VBO beta (currently) == always use AA

  • Like 1

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Share this post


Link to post
Share on other sites

About

 

seta r_useBfgPortalCulling

 

we must set it to 1 or not?

 

Not required but it may improve CPU cache behavior. As we move more toward BFG this may become the default or only option.


Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Share this post


Link to post
Share on other sites

Loading Screen of "Down by the Riverside"

 

The_Dark_Modx64_2018_06_18_08_09_14_672.

 

And @starting (=press attack) another mini-tile (1/4) down-left.

After the start FM is allright.

 

As you can see the default-size screen has no bloom applied, the 1/2-size got the bloom.

 

FBO-related problem, I think.

Edited by lowenz
  • Like 1

Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

Loading Screen of "Down by the Riverside"

 

 

 

And @starting (=press attack) another mini-tile (1/4) down-left.

After the start FM is allright.

 

As you can see the default-size screen has no bloom applied, the 1/2-size got the bloom.

 

FBO-related problem, I think.

Check your r_fboResolution cvar in console.

Set it to 1 if it's not.

Share this post


Link to post
Share on other sites

It's 1. It's why I think it's an issue.


Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

Still getting crashes after a quickload.

If I die and load a savegame AFTER the death there's no crash at all.

Edited by lowenz

Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

Added an issue 4849 for the whole VBO replacement process.

 

I'd like to second lowenz's report about the view being duplicated in the lower-bottom quarter of the TDM window.

It happens in the "press attack to start mission" screen regardless of FBO setting, and also in-game if r_useFBO 0 is set.

Share this post


Link to post
Share on other sites

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.

Sign in to follow this  

×
×
  • Create New...