HomeWildfire Games

Moves hardcoded blend state in ParticleRenderer to the transparent particles…

Description

Moves hardcoded blend state in ParticleRenderer to the transparent particles technique.

Event Timeline

Freagarach raised a concern with this commit.Jan 15 2022, 8:14 AM
Freagarach added a subscriber: Freagarach.
GAME STARTED, ALL INIT COMPLETE
Assertion failed: "0 && ("Shader type doesn't support VertexAttribPointer")"
Location: ShaderProgram.cpp:824 (VertexAttribPointer)

Call stack:

(0x555555b5cc15) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x608c15) [0x555555b5cc15]
(0x555555b051a7) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x5b11a7) [0x555555b051a7]
(0x555555b06c60) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x5b2c60) [0x555555b06c60]
(0x555555b070f4) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x5b30f4) [0x555555b070f4]
(0x555555925e7d) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x3d1e7d) [0x555555925e7d]
(0x555555a0b41a) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x4b741a) [0x555555a0b41a]
(0x55555596bbfc) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x417bfc) [0x55555596bbfc]
(0x555555997c8c) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x443c8c) [0x555555997c8c]
(0x5555559980fe) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x4440fe) [0x5555559980fe]
(0x555555955b19) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x401b19) [0x555555955b19]
(0x555555958745) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x404745) [0x555555958745]
(0x5555556061df) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0xb21df) [0x5555556061df]
(0x5555555f1b4a) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x9db4a) [0x5555555f1b4a]
(0x7ffff5d367ed) /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xcd) [0x7ffff5d367ed]
(0x5555556023ba) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0xae3ba) [0x5555556023ba]

errno = 0 (No error reported here)
OS error = ?


[Detaching after fork from child process 12108]
ShaderProgram.cpp(824): Assertion failed: "0 && ("Shader type doesn't support VertexAttribPointer")"
Assertion failed: "0 && ("Shader type doesn't support VertexAttribPointer")"
Location: ShaderProgram.cpp:824 (VertexAttribPointer)

Call stack:

(0x555555b5cc15) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x608c15) [0x555555b5cc15]
(0x555555b051a7) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x5b11a7) [0x555555b051a7]
(0x555555b06c60) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x5b2c60) [0x555555b06c60]
(0x555555b070f4) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x5b30f4) [0x555555b070f4]
(0x555555925e7d) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x3d1e7d) [0x555555925e7d]
(0x555555a0b41a) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x4b741a) [0x555555a0b41a]
(0x55555596bbfc) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x417bfc) [0x55555596bbfc]
(0x555555997c8c) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x443c8c) [0x555555997c8c]
(0x5555559980fe) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x4440fe) [0x5555559980fe]
(0x555555955b19) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x401b19) [0x555555955b19]
(0x555555958745) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x404745) [0x555555958745]
(0x5555556061df) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0xb21df) [0x5555556061df]
(0x5555555f1b4a) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0x9db4a) [0x5555555f1b4a]
(0x7ffff5d367ed) /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xcd) [0x7ffff5d367ed]
(0x5555556023ba) /media/freagarach/0AD/SVN/binaries/system/pyrogenesis(+0xae3ba) [0x5555556023ba]

errno = 11 (Try again later)
OS error = ?


[Detaching after fork from child process 12109]
Redirecting call to abort() to mozalloc_abort


Thread 1 "main" received signal SIGSEGV, Segmentation fault.
mozalloc_abort (msg=msg@entry=0x7ffff7c23100 "Redirecting call to abort() to mozalloc_abort\n")
    at /media/freagarach/0AD/SVN/libraries/source/spidermonkey/mozjs-78.6.0/memory/mozalloc/mozalloc_abort.cpp:33
33	  MOZ_CRASH();
(gdb) bt
#0  mozalloc_abort (msg=msg@entry=0x7ffff7c23100 "Redirecting call to abort() to mozalloc_abort\n")
    at /media/freagarach/0AD/SVN/libraries/source/spidermonkey/mozjs-78.6.0/memory/mozalloc/mozalloc_abort.cpp:33
#1  0x00007ffff7209649 in abort ()
    at /media/freagarach/0AD/SVN/libraries/source/spidermonkey/mozjs-78.6.0/memory/mozalloc/mozalloc_abort.cpp:82
#2  0x00005555555e6450 in try_gui_display_error (no_continue=<optimized out>, allow_suppress=<optimized out>, 
    manual_break=<optimized out>, text=<optimized out>) at ../../../source/lib/sysdep/os/unix/unix.cpp:197
#3  sys_display_error (
    text=text@entry=0x555555d746a0 <(anonymous namespace)::g_MessageBuffer> L"Assertion failed: \"0 && (\"Shader type doesn't support VertexAttribPointer\")\"\r\nLocation: ShaderProgram.cpp:824 (VertexAttribPointer)\r\n\r\nCall stack:\r\n\r\n(0x555555b5cc15) /media/freagarach/0AD/SVN/binarie"..., flags=<optimized out>, flags@entry=6)
    at ../../../source/lib/sysdep/os/unix/unix.cpp:216
#4  0x0000555555b06ffb in CallDisplayError (flags=6, 
    text=0x555555d746a0 <(anonymous namespace)::g_MessageBuffer> L"Assertion failed: \"0 && (\"Shader type doesn't support VertexAttribPointer\")\"\r\nLocation: ShaderProgram.cpp:824 (VertexAttribPointer)\r\n\r\nCall stack:\r\n\r\n(0x555555b5cc15) /media/freagarach/0AD/SVN/binarie"...) at ../../../source/lib/debug.cpp:374
#5  debug_DisplayError (
    description=0x7fffffffc540 L"Assertion failed: \"0 && (\"Shader type doesn't support VertexAttribPointer\")\"", 
    flags=6, context=<optimized out>, lastFuncToSkip=<optimized out>, pathname=<optimized out>, line=824, 
    func=0x555555c633d1 "VertexAttribPointer", 
    suppress=0x555555d72518 <CShaderProgram::VertexAttribPointer(CStrIntern, int, unsigned int, unsigned char, int, void const*)::suppress__>) at ../../../source/lib/debug.cpp:460
#6  0x0000555555b070f4 in debug_OnAssertionFailure (
    expr=expr@entry=0x555555c43318 L"0 && (\"Shader type doesn't support VertexAttribPointer\")", 
    suppress=suppress@entry=0x555555d72518 <CShaderProgram::VertexAttribPointer(CStrIntern, int, unsigned int, unsigned char, int, void const*)::suppress__>, 
    file=file@entry=0x555555c43268 L"../../../source/graphics/ShaderProgram.cpp", line=line@entry=824, 
    func=func@entry=0x555555c633d1 "VertexAttribPointer") at ../../../source/lib/debug.cpp:547
#7  0x0000555555925e7d in CShaderProgram::VertexAttribPointer (this=<optimized out>)
    at ../../../source/graphics/ShaderProgram.cpp:824
#8  0x0000555555a0b41a in CPatchRData::RenderWaterSurface (this=0x555558cadb80, shader=
    std::shared_ptr<CShaderProgram> (use count 3, weak count 2) = {...})
    at ../../../source/renderer/PatchRData.cpp:1385
#9  0x000055555596bbfc in TerrainRenderer::RenderSimpleWater (this=0x555556738ef8, cullGroup=0)
    at ../../../source/renderer/TerrainRenderer.cpp:547
#10 0x0000555555997c8c in CSceneRenderer::RenderSubmissions (this=0x555556636238, 
    deviceCommandContext=0x5555567525a0, waterScissor=...) at ../../../source/renderer/SceneRenderer.cpp:950
#11 0x00005555559980fe in CSceneRenderer::RenderScene (this=0x555556636238, deviceCommandContext=0x5555567525a0, 
    scene=...) at ../../../source/renderer/SceneRenderer.cpp:1258
#12 0x00005555558e88ed in CGameView::Render (this=<optimized out>) at ../../../source/graphics/GameView.cpp:246
#13 0x0000555555955b19 in CRenderer::RenderFrameImpl (this=0x5555566a03c0, renderGUI=<optimized out>, 
    renderLogger=<optimized out>) at ../../../source/ps/Game.h:167
#14 0x0000555555958745 in CRenderer::RenderFrame (this=0x5555566a03c0, needsPresent=<optimized out>)
    at ../../../source/renderer/Renderer.cpp:460
#15 0x00005555556061df in Frame () at ../../../source/ps/Singleton.h:51
#16 RunGameOrAtlas (argc=<optimized out>, argv=<optimized out>) at ../../../source/main.cpp:691
#17 0x00005555555f1b4a in main (argc=1, argv=0x7fffffffe188) at ../../../source/main.cpp:743
/ps/trunk/source/renderer/ParticleRenderer.cpp
125
ParticleRenderer.cpp
../../../source/renderer/ParticleRenderer.cpp: In member function ‘void ParticleRenderer::RenderParticles(int, bool)’:
../../../source/renderer/ParticleRenderer.cpp:125:41: warning: unused variable ‘emitters’ [-Wunused-variable]
  125 |         std::vector<CParticleEmitter*>& emitters = m->emitters[cullGroup];
      |                                         ^~~~~~~~
This commit now has outstanding concerns.Jan 15 2022, 8:14 AM

(Actually, this crash seems to appear earlier as well.)

Freagarach resigned from this commit.Jan 15 2022, 8:39 AM
Freagarach removed an auditor: Freagarach.
This commit no longer requires audit.Jan 15 2022, 8:39 AM
vladislavbelov marked an inline comment as done.Jan 15 2022, 5:36 PM
vladislavbelov added inline comments.
/ps/trunk/source/renderer/ParticleRenderer.cpp
125

Fixed in rP26222.

The issue is described in this ticket #6420, applying D4441 fixes it.