by _mental_ » Sun Apr 15, 2018 5:49 am
Loading
Valhalla with software poly renderer (true color or not) crashes
the current master branch.
Spoiler: Callstack
Code: Select all
RenderPolyScene::RenderTranslucent(this=0x00000001018cfe40, viewpoint=0x00007ffeefbfc4d8) at poly_scene.cpp:377
PolyRenderer::RenderActorView(this=0x00000001018cfbe0, actor=0x0000000104102600, dontmaplines=true) at poly_renderer.cpp:147
PolyRenderer::RenderViewToCanvas(this=0x00000001018cfbe0, actor=0x0000000104102600, canvas=0x0000604000c3fea0, x=0, y=0, width=128, height=128, dontmaplines=true) at poly_renderer.cpp:92
FSoftwareRenderer::RenderTextureView(this=0x0000000102644ae0, tex=0x0000000103298310, viewpoint=0x0000000104102600, fov=90) at r_swrenderer.cpp:254
DFrameBuffer::RenderTextureView(this=0x00000001028aec00, tex=0x0000000103298310, Viewpoint=0x0000000104102600, FOV=90) at v_video.cpp:977
OpenGLFrameBuffer::RenderTextureView(this=0x00000001028aec00, tex=0x0000000103298310, Viewpoint=0x0000000104102600, FOV=90) at gl_framebuffer.cpp:204
FCanvasTextureInfo::UpdateAll() at r_utility.cpp:1100
FSoftwareRenderer::RenderView(this=0x0000000102644ae0, player=0x00000001012c9750, target=0x00007ffeefbfcb10) at r_swrenderer.cpp:179
SWSceneDrawer::RenderView(this=0x0000604000e205c0, player=0x00000001012c9750) at gl_swscene.cpp:120
FGLRenderer::RenderView(this=0x000000010315e140, player=0x00000001012c9750) at gl_renderer.cpp:451
OpenGLFrameBuffer::RenderView(this=0x00000001028aec00, player=0x00000001012c9750) at gl_framebuffer.cpp:237
D_Display() at d_main.cpp:792
D_DoomLoop() at d_main.cpp:1033
D_DoomMain() at d_main.cpp:2718
CurrentViewpoint is
nullptr while viewport passed to
RenderPolyScene::RenderTranslucent() function seems to be valid.
Loading [url=https://www.doomworld.com/idgames/levels/doom2/Ports/m-o/ma_val]Valhalla[/url] with software poly renderer (true color or not) crashes [url=https://github.com/coelckers/gzdoom/commit/e15baa21cbf56e6c1daa3e6b31f7ccef33a2f414]the current[/url] master branch.
[spoiler=Callstack][code]RenderPolyScene::RenderTranslucent(this=0x00000001018cfe40, viewpoint=0x00007ffeefbfc4d8) at poly_scene.cpp:377
PolyRenderer::RenderActorView(this=0x00000001018cfbe0, actor=0x0000000104102600, dontmaplines=true) at poly_renderer.cpp:147
PolyRenderer::RenderViewToCanvas(this=0x00000001018cfbe0, actor=0x0000000104102600, canvas=0x0000604000c3fea0, x=0, y=0, width=128, height=128, dontmaplines=true) at poly_renderer.cpp:92
FSoftwareRenderer::RenderTextureView(this=0x0000000102644ae0, tex=0x0000000103298310, viewpoint=0x0000000104102600, fov=90) at r_swrenderer.cpp:254
DFrameBuffer::RenderTextureView(this=0x00000001028aec00, tex=0x0000000103298310, Viewpoint=0x0000000104102600, FOV=90) at v_video.cpp:977
OpenGLFrameBuffer::RenderTextureView(this=0x00000001028aec00, tex=0x0000000103298310, Viewpoint=0x0000000104102600, FOV=90) at gl_framebuffer.cpp:204
FCanvasTextureInfo::UpdateAll() at r_utility.cpp:1100
FSoftwareRenderer::RenderView(this=0x0000000102644ae0, player=0x00000001012c9750, target=0x00007ffeefbfcb10) at r_swrenderer.cpp:179
SWSceneDrawer::RenderView(this=0x0000604000e205c0, player=0x00000001012c9750) at gl_swscene.cpp:120
FGLRenderer::RenderView(this=0x000000010315e140, player=0x00000001012c9750) at gl_renderer.cpp:451
OpenGLFrameBuffer::RenderView(this=0x00000001028aec00, player=0x00000001012c9750) at gl_framebuffer.cpp:237
D_Display() at d_main.cpp:792
D_DoomLoop() at d_main.cpp:1033
D_DoomMain() at d_main.cpp:2718[/code][/spoiler]
[url=https://github.com/coelckers/gzdoom/blob/e15baa21cbf56e6c1daa3e6b31f7ccef33a2f414/src/polyrenderer/scene/poly_scene.cpp#L377]CurrentViewpoint[/url] is [b]nullptr[/b] while viewport passed to [b]RenderPolyScene::RenderTranslucent()[/b] function seems to be valid.