HomeWildfire Games

Implements DrawRect in Canvas2D, removes CConsole background drawing with low…

Description

Implements DrawRect in Canvas2D, removes CConsole background drawing with low level GL calls.

Event Timeline

Stan added a subscriber: Stan.May 29 2021, 10:02 PM
Stan added inline comments.
/ps/trunk/source/ps/CConsole.cpp
214

Should it be const?

/ps/trunk/source/ps/CConsole.cpp
214

Yeah, it'd be good.

Langbart raised a concern with this commit.May 30 2021, 12:47 AM
Langbart added a subscriber: Langbart.

A test gives me :

Running cxxtest tests (372 tests)................................zsh: segmentation fault  ./test
picus@Picus system %

Running lldb:

(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x318)
  * frame #0: 0x00007fff4082b980 libGL.dylib`glGenTextures + 18
    frame #1: 0x000000010063d1ed test`OglTex_reload(ot=0x000000010b400050, vfs=<unavailable>, pathname=<unavailable>, h=65537) at ogl_tex.cpp:476:2 [opt]
    frame #2: 0x000000010063e06d test`h_alloc(H_VTbl*, std::__1::shared_ptr<IVFS> const&, Path const&, unsigned long, ...) at h_mgr.cpp:438:10 [opt]
    frame #3: 0x000000010063e035 test`h_alloc(H_VTbl*, std::__1::shared_ptr<IVFS> const&, Path const&, unsigned long, ...) [inlined] alloc_new_handle(type=0x0000000103bf64a0, vfs=std::__1::shared_ptr<IVFS>::element_type @ 0x0000000104f069e0 strong=7 weak=1, pathname=0x00007ffeefbff680, key=4013186019, flags=<unavailable>, init_args=0x00007ffeefbff480) [1]) at h_mgr.cpp:481 [opt]
    frame #4: 0x000000010063dc5e test`h_alloc(type=0x0000000103bf64a0, vfs=std::__1::shared_ptr<IVFS>::element_type @ 0x0000000104f069e0 strong=7 weak=1, pathname=0x00007ffeefbff680, flags=<unavailable>) at h_mgr.cpp:518 [opt]
    frame #5: 0x000000010063b81b test`ogl_tex_wrap(t=<unavailable>, vfs=<unavailable>, pathname=<unavailable>, flags=<unavailable>) at ogl_tex.cpp:579:9 [opt] [artificial]
    frame #6: 0x00000001004aea13 test`SingleColorTexture::SingleColorTexture(this=0x0000000104f0a620, color=0x00007ffeefbff660, vfs=std::__1::shared_ptr<IVFS>::element_type @ 0x0000000104f069e0 strong=7 weak=1, pathPlaceholder=0x00007ffeefbff680, disableGL=<unavailable>, textureManager=0x0000000104f0a4e0) at TextureManager.cpp:58:14 [opt]
    frame #7: 0x00000001004adc85 test`CTextureManagerImpl::CTextureManagerImpl(std::__1::shared_ptr<IVFS>, bool, bool) [inlined] SingleColorTexture::SingleColorTexture(this=<unavailable>, color=<unavailable>, vfs=std::__1::shared_ptr<IVFS>::element_type @ 0x0000000104f069e0 strong=7 weak=1, pathPlaceholder=<unavailable>, disableGL=<unavailable>, textureManager=<unavailable>) at TextureManager.cpp:46:2 [opt]
    frame #8: 0x00000001004adc5d test`CTextureManagerImpl::CTextureManagerImpl(this=0x0000000104f0a4e0, vfs=std::__1::shared_ptr<IVFS>::element_type @ 0x0000000104f069e0 strong=7 weak=1, highQuality=<unavailable>, disableGL=true) at TextureManager.cpp:133 [opt]
    frame #9: 0x00000001004a9a05 test`CTextureManager::CTextureManager(std::__1::shared_ptr<IVFS>, bool, bool) [inlined] CTextureManagerImpl::CTextureManagerImpl(this=<unavailable>, vfs=std::__1::shared_ptr<IVFS>::element_type @ 0x0000000104f069e0 strong=7 weak=1, highQuality=<unavailable>, disableGL=<unavailable>) at TextureManager.cpp:136:2 [opt]
    frame #10: 0x00000001004a99f1 test`CTextureManager::CTextureManager(this=0x00007ffeefbff790, vfs=std::__1::shared_ptr<IVFS>::element_type @ 0x0000000104f069e0 strong=7 weak=1, highQuality=false, disableGL=true) at TextureManager.cpp:679 [opt]
    frame #11: 0x000000010001de5f test`TestTextureManager::test_load_basic(this=0x0000000103bf2540) at test_TextureManager.h:60:20 [opt]
    frame #12: 0x000000010015ac76 test`CxxTest::RealTestDescription::run(this=0x0000000103c09ac8) at RealDescriptions.cpp:121:15 [opt]
    frame #13: 0x0000000100165541 test`CxxTest::TestRunner::runTest(this=<unavailable>, td=0x0000000103c09ac8) at TestRunner.h:105:16 [opt]
    frame #14: 0x00000001001651db test`CxxTest::TestRunner::runSuite(this=0x00007ffeefbff958, sd=0x0000000103c046a8) at TestRunner.h:89:21 [opt]
    frame #15: 0x0000000100164e62 test`CxxTest::TestRunner::runWorld(this=0x00007ffeefbff958) at TestRunner.h:69:21 [opt]
    frame #16: 0x0000000100164a94 test`CxxTest::TestRunner::runAllTests(listener=0x00007ffeefbff9e8) at TestRunner.h:42:32 [opt]
    frame #17: 0x00000001001573ec test`int CxxTest::Main<CxxTest::ErrorPrinter>(CxxTest::ErrorPrinter&, int, char**) [inlined] CxxTest::ErrorFormatter::run(this=0x00007ffeefbff9e8) at ErrorFormatter.h:63:9 [opt]
    frame #18: 0x00000001001573e4 test`int CxxTest::Main<CxxTest::ErrorPrinter>(tmp=0x00007ffeefbff9e8, argc=1, argv=0x00007ffeefbffa68) at TestMain.h:147 [opt]
    frame #19: 0x0000000100156cec test`main(argc=<unavailable>, argv=<unavailable>) at test_root.cpp:20:14 [opt]
    frame #20: 0x00007fff70aeccc9 libdyld.dylib`start + 1
    frame #21: 0x00007fff70aeccc9 libdyld.dylib`start + 1
(lldb)
This commit now has outstanding concerns.May 30 2021, 12:47 AM
Langbart resigned from this commit.May 30 2021, 1:20 AM

After applying D4030 to my working copy rP25594, the problem disappeared.

This commit no longer requires audit.May 30 2021, 1:20 AM