Giter Site home page Giter Site logo

jmorton06 / lumos Goto Github PK

View Code? Open in Web Editor NEW
1.2K 35.0 122.0 323.9 MB

Cross-Platform C++ 2D/3D game engine

License: MIT License

Lua 0.36% GLSL 0.49% ShaderLab 0.01% Batchfile 0.03% Shell 0.08% C++ 98.28% C 0.57% Objective-C++ 0.16% Roff 0.01% Java 0.01%
vulkan opengl game-engine premake macos linux windows cpp17 imgui ecs

lumos's Introduction

Cross-platform 2D and 3D Game Engine written in C++ that supports both OpenGL and Vulkan.

Screenshots | Building | Features | Dependencies

Build platforms license
stars release Discord

Screenshots

Lumos Lumos Lumos

Building 🔨

git clone https://github.com/jmorton06/Lumos.git
git submodule update --init --recursive

Install Vulkan SDK (https://vulkan.lunarg.com/)

Linux

sudo apt-get install -y g++-11 libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libopenal-dev mesa-common-dev
cd Lumos
Tools/linux/premake5 gmake2
make -j8 # config=release

Windows

Run Scripts/GenerateVS.bat to generate a visual studio project.

cd Lumos
msbuild /p:Platform=x64 /p:Configuration=Release Lumos.sln

Mac

cd Lumos
Tools/premake5 xcode4
xcodebuild -project Runtime/Runtime.xcodeproj

M1/M2/M3 Macs may need :

cd Lumos
Tools/premake5 xcode4 --arch=arm64 --os=macosx
xcodebuild -project Runtime/Runtime.xcodeproj

iOS

cd Lumos
Tools/premake5 xcode4 --os=ios
xcodebuild -project Runtime/Runtime.xcodeproj CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO

To run on apple devices with Vulkan ( MoltenVK ), disable Metal API Validation here : Product > Scheme > Edit Scheme… > Run > Options > Metal API Validation

Features

  • Support for Windows, Linux, macOS.
  • Support for OpenGL/Vulkan.
  • 3D audio using OpenAL.
  • Rendering 3D models with PBR shading.
  • Debug gui using ImGui
  • 3D collision detection - cuboid/sphere/pyramid.
  • 2D collision detection - Box2D.
  • Basic lua scripting support.

Contributing

  • Contributions are welcome. Both new features and bug fixes. Just open a pull request.

Dependencies

  • imgui : Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.
  • imguizmo : Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui.
  • entt : Fast and reliable entity-component system (ECS)
  • glfw : A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input.
  • spdlog : Fast C++ logging library.
  • stb : Single-file public domain (or MIT licensed) libraries for C/C++.
  • tinygltf : Header only C++11 tiny glTF 2.0 library
  • tinyobjloader : Tiny but powerful single file wavefront obj loader
  • volk : Meta loader for Vulkan API.
  • glad : Meta loader for OpenGL API.
  • Box2D : 2D physics engine.
  • sol2 : C++ <-> Lua API wrapper
  • cereal : A C++11 library for serialization
  • meshoptimizer : Mesh optimization library that makes meshes smaller and faster to render

lumos's People

Contributors

adriengivry avatar jmorton06 avatar ruanlucasgd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lumos's Issues

Lumos engine(Version 0.3.7) will crash when launching LumosEditor.

Describe the bug

Lumos engine(commit ca484fc) will crash when calling ImFontAtlas::GetTexDataAsRGBA32.

To Reproduce

  1. git clone https://github.com/jmorton06/Lumos.git && cd Lumos

  2. Tools/linux/premake5 gmake2 && cd build

  3. make -j6

  4. cd ../bin/Debug-linux-x86_64

  5. gdb ./LumosEditor

  6. See error

Reading symbols from LumosEditor...
(gdb) run
Starting program: /home/xyz/Lumos/bin/Debug-linux-x86_64/LumosEditor 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff25a2700 (LWP 1705725)]
[New Thread 0x7ffff1991700 (LWP 1705726)]
[New Thread 0x7ffff0d80700 (LWP 1705727)]
[New Thread 0x7ffff057f700 (LWP 1705728)]
[14:50:03] Lumos Engine - Version 0.3.7
[New Thread 0x7fffee0f8700 (LWP 1705729)]
[New Thread 0x7fffed8f7700 (LWP 1705730)]
[New Thread 0x7fffecce6700 (LWP 1705731)]
[New Thread 0x7fffec0d5700 (LWP 1705732)]
[New Thread 0x7fffeb8d4700 (LWP 1705733)]
[14:50:03] Initialised JobSystem with [6 cores] [5 threads]
[14:50:03] Initialising System
[14:50:03] Loaded Editor Ini file Editor.ini
[14:50:03] No saved Project file found ../ExampleProject/Example.lmproj
[14:50:03] [SceneManager] - Enqueued scene : Empty Scene
[14:50:03] VSync : True
[14:50:03] Creating window - Title : App, Width : 1200, Height : 800
[14:50:03] Failed to load app icon //Textures/icon.png
[14:50:03] Initialised GLFW version : 3.3.4 X11 GLX EGL OSMesa clock_gettime evdev
[14:50:03] Vulkan : Enabled Validation Layers
[14:50:03] Vulkan : 1.3.194
[14:50:03] GPU : NVIDIA GeForce RTX 2060
[14:50:03] Memory : 6144 mb
[14:50:03] Vendor : Nvidia
[14:50:03] Vendor ID : 4318
[14:50:03] Device Type : DISCRETE GPU
[14:50:03] Driver Version : 510.108.3.0
[14:50:03] APi Version : 1.0.195.2
[14:50:03] Selected physical device has 154 extensions
[New Thread 0x7fffd7e8c700 (LWP 1705734)]
[New Thread 0x7fffd768b700 (LWP 1705735)]
[New Thread 0x7fffd65d7700 (LWP 1705736)]
[14:50:04] Loading shaders - files
[14:50:04] Loading Shader : Skybox.shader
[14:50:04] Loading Shader : ForwardPBR.shader
[14:50:04] Loading Shader : Shadow.shader
[14:50:04] Loading Shader : Batch2DPoint.shader
[14:50:04] Loading Shader : Batch2DLine.shader
[14:50:04] Loading Shader : Batch2D.shader
[14:50:04] Loading Shader : ScreenPass.shader
[14:50:04] Loading Shader : Grid.shader
[14:50:04] Loading Shader : CreateEnvironmentMap.shader
[14:50:04] Loading Shader : FXAA.shader
[14:50:04] Loading Shader : Debanding.shader
[14:50:04] Loading Shader : FilmicGrain.shader
[14:50:04] Loading Shader : ChromaticAberation.shader
[14:50:04] Loading Shader : DepthPrePass.shader
[14:50:04] Loading Shader : ToneMapping.shader
[14:50:04] Loading Shader : Bloom.shader
[14:50:04] Loading Shader : DepthOfField.shader
[14:50:04] Loading Shader : BRDFLUT.shader
[14:50:04] Loading Shader : Text.shader
[14:50:04] Loading Shader : SSAO.shader
[14:50:04] ImGui Version : 1.89 WIP
[14:50:04] ImConfig File : Source/Lumos/ImGui/ImConfig.h
[New Thread 0x7fffd58fc700 (LWP 1705737)]
[Thread 0x7fffd58fc700 (LWP 1705737) exited]
[New Thread 0x7fff91b81700 (LWP 1705738)]
[Thread 0x7fff91b81700 (LWP 1705738) exited]
[New Thread 0x7fff91b81700 (LWP 1705739)]
malloc(): corrupted top size

Thread 1 "LumosEditor" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff780e859 in __GI_abort () at abort.c:79
#2  0x00007ffff787926e in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff79a3298 "%s\n")
    at ../sysdeps/posix/libc_fatal.c:155
#3  0x00007ffff78812fc in malloc_printerr (str=str@entry=0x7ffff79a1569 "malloc(): corrupted top size") at malloc.c:5347
#4  0x00007ffff78846ba in _int_malloc (av=av@entry=0x7ffff79d8b80 <main_arena>, bytes=bytes@entry=33554432) at malloc.c:4107
#5  0x00007ffff7886299 in __GI___libc_malloc (bytes=33554432) at malloc.c:3066
#6  0x00005555563c91a3 in MallocWrapper (size=33554432, user_data=0x0) at ../Lumos/External/imgui/imgui.cpp:1077
#7  0x00005555563d3552 in ImGui::MemAlloc (size=33554432) at ../Lumos/External/imgui/imgui.cpp:3800
#8  0x000055555645d769 in ImFontAtlasBuildWithStbTruetype (atlas=0x555558e9b420) at ../Lumos/External/imgui/imgui_draw.cpp:2531
#9  0x000055555645c51d in ImFontAtlas::Build (this=0x555558e9b420) at ../Lumos/External/imgui/imgui_draw.cpp:2295
#10 0x000055555645b051 in ImFontAtlas::GetTexDataAsAlpha8 (this=0x555558e9b420, out_pixels=0x7fffffffcbc0, out_width=0x0, 
    out_height=0x0, out_bytes_per_pixel=0x0) at ../Lumos/External/imgui/imgui_draw.cpp:2051
#11 0x000055555645b104 in ImFontAtlas::GetTexDataAsRGBA32 (this=0x555558e9b420, out_pixels=0x7fffffffcc68, out_width=0x7fffffffcc10, 
    out_height=0x7fffffffcc14, out_bytes_per_pixel=0x0) at ../Lumos/External/imgui/imgui_draw.cpp:2066
#12 0x0000555555fb7472 in Lumos::Graphics::VKIMGUIRenderer::Init (this=0x555558c3c9a0)
    at ../Lumos/Source/Lumos/Platform/Vulkan/VKIMGUIRenderer.cpp:200
#13 0x00005555558fe26a in Lumos::ImGuiManager::OnInit (this=0x5555596dec90) at ../Lumos/Source/Lumos/ImGui/ImGuiManager.cpp:95
#14 0x00005555556ebf86 in Lumos::Application::Init (this=0x5555570df8c0) at ../Lumos/Source/Lumos/Core/Application.cpp:258
#15 0x00005555555bff0a in Lumos::Editor::Init (this=0x5555570df8c0) at ../Editor/Source/Editor.cpp:150
#16 0x0000555555faf090 in Lumos::UnixOS::Run (this=0x5555570df8a0) at ../Lumos/Source/Lumos/Platform/Unix/UnixOS.cpp:17
#17 0x00005555556c01a4 in main (argc=1, argv=0x7fffffffd908) at ../Lumos/Source/Lumos/Core/EntryPoint.h:60

Desktop:

  • OS: Ubuntu20.04

The old version of Lumos(0ef5f58) doesn't has this issue.

Can not be compiled on Apple M1

When compiled on Macmini M1(Apple M1 chip), the issues will be reported as below:

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -target arm64-apple-macos10.15 -fmessage-length\=180 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\=0 -fcolor-diagnostics -std\=c++1z -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wno-missing-prototypes -Wunreachable-code -Wquoted-include-in-framework-header -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wno-parentheses -Wno-switch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DLUMOS_ENGINE -DFREEIMAGE_LIB -DLUMOS_DYNAMIC -DLUMOS_ROOT_DIR\=/Users/qoyooo/MovieWorld/Lumos -DIMGUI_USER_CONFIG\=\"Source/Lumos/ImGui/ImConfig.h\" -DSPDLOG_COMPILED_LIB -DLUMOS_SSE -DUSE_VMA_ALLOCATOR -DLUMOS_PLATFORM_MACOS -DLUMOS_PLATFORM_UNIX -DLUMOS_RENDER_API_OPENGL -DLUMOS_RENDER_API_VULKAN -DVK_USE_PLATFORM_METAL_EXT -DLUMOS_IMGUI -DLUMOS_OPENAL -DLUMOS_VOLK -DLUMOS_DEBUG -D_DEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk -ffast-math -fno-strict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -g -Wno-sign-conversion -Winfinite-recursion -Wmove -Wno-comma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body -iquote /Users/qoyooo/MovieWorld/Lumos/bin-int/Debug-macosx-x86_64/obj/Debug/Lumos/Lumos.build/Lumos-generated-files.hmap -I/Users/qoyooo/MovieWorld/Lumos/bin-int/Debug-macosx-x86_64/obj/Debug/Lumos/Lumos.build/Lumos-own-target-headers.hmap -I/Users/qoyooo/MovieWorld/Lumos/bin-int/Debug-macosx-x86_64/obj/Debug/Lumos/Lumos.build/Lumos-all-target-headers.hmap -iquote /Users/qoyooo/MovieWorld/Lumos/bin-int/Debug-macosx-x86_64/obj/Debug/Lumos/Lumos.build/Lumos-project-headers.hmap -iquote ../Lumos -iquote .. -iquote ../Lumos/Source -iquote ../Lumos/Source/Lumos -I/Users/qoyooo/MovieWorld/Lumos/bin/Debug-macosx-x86_64/include -I../Lumos/External/glfw/include -I../Lumos/External/glad/include -I../Lumos/External/lua/src -I../Lumos/External/stb -I../Lumos/External/imgui -I../Lumos/External/OpenAL/include -I../Lumos/External/box2d/include -I../Lumos/External/vulkan -I../Lumos -I../Lumos/External -I../Lumos/External/spdlog/include -I../Lumos/External/freetype/include -I../Lumos/External/SPIRV-Cross -I../Lumos/External/cereal/include -I../Lumos/Source -I/Users/qoyooo/MovieWorld/Lumos/bin-int/Debug-macosx-x86_64/obj/Debug/Lumos/Lumos.build/DerivedSources-normal/arm64 -I/Users/qoyooo/MovieWorld/Lumos/bin-int/Debug-macosx-x86_64/obj/Debug/Lumos/Lumos.build/DerivedSources/arm64 -I/Users/qoyooo/MovieWorld/Lumos/bin-int/Debug-macosx-x86_64/obj/Debug/Lumos/Lumos.build/DerivedSources -F/Users/qoyooo/MovieWorld/Lumos/bin/Debug-macosx-x86_64 -Wno-attributes -Wno-nullability-completeness -fdiagnostics-absolute-paths -include /Users/qoyooo/MovieWorld/Lumos/bin-int/Debug-macosx-x86_64/obj/Debug/Lumos/SharedPrecompiledHeaders/SharedPrecompiledHeaders/2906149684203890004/Precompiled.h -MMD -MT dependencies -MF /Users/qoyooo/MovieWorld/Lumos/bin-int/Debug-macosx-x86_64/obj/Debug/Lumos/Lumos.build/Objects-normal/arm64/Window.d --serialize-diagnostics /Users/qoyooo/MovieWorld/Lumos/bin-int/Debug-macosx-x86_64/obj/Debug/Lumos/Lumos.build/Objects-normal/arm64/Window.dia -c /Users/qoyooo/MovieWorld/Lumos/Lumos/Source/Lumos/Core/OS/Window.cpp -o /Users/qoyooo/MovieWorld/Lumos/bin-int/Debug-macosx-x86_64/obj/Debug/Lumos/Lumos.build/Objects-normal/arm64/Window.o
In file included from /Users/qoyooo/MovieWorld/Lumos/Lumos/Source/Lumos/Core/OS/Window.cpp:2:
In file included from /Users/qoyooo/MovieWorld/Lumos/Lumos/Source/Lumos/Core/OS/Window.h:3:
In file included from ../Lumos/Source/Lumos/Maths/Maths.h:3:
In file included from ../Lumos/Source/Lumos/Maths/Matrix4.h:3:
In file included from ../Lumos/Source/Lumos/Maths/Quaternion.h:5:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/emmintrin.h:13:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/xmmintrin.h:13:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:33:5: error: use of undeclared
      identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
    __builtin_ia32_emms();

In file included from /Users/qoyooo/MovieWorld/Lumos/Lumos/Source/Lumos/Core/OS/Window.cpp:2:
In file included from /Users/qoyooo/MovieWorld/Lumos/Lumos/Source/Lumos/Core/OS/Window.h:3:
In file included from ../Lumos/Source/Lumos/Maths/Maths.h:3:
In file included from ../Lumos/Source/Lumos/Maths/Matrix4.h:3:
In file included from ../Lumos/Source/Lumos/Maths/Quaternion.h:5:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/emmintrin.h:13:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/xmmintrin.h:13:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:33:25: error: too few arguments to
      function call, expected 2, have 0
    __builtin_ia32_emms();
                        ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:50:19: error: use of undeclared
      identifier '__builtin_ia32_vec_init_v2si'
    return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:67:12: error: use of undeclared
      identifier '__builtin_ia32_vec_ext_v2si'
    return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0);
           ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:129:19: error: use of undeclared
      identifier '__builtin_ia32_packsswb'
    return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:159:19: error: use of undeclared
      identifier '__builtin_ia32_packssdw'
    return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:189:19: error: use of undeclared
      identifier '__builtin_ia32_packuswb'
    return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:216:19: error: use of undeclared
      identifier '__builtin_ia32_punpckhbw'
    return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:239:19: error: use of undeclared
      identifier '__builtin_ia32_punpckhwd'
    return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:260:19: error: use of undeclared
      identifier '__builtin_ia32_punpckhdq'
    return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:287:19: error: use of undeclared
      identifier '__builtin_ia32_punpcklbw'
    return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:310:19: error: use of undeclared
      identifier '__builtin_ia32_punpcklwd'
    return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:331:19: error: use of undeclared
      identifier '__builtin_ia32_punpckldq'
    return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: error: use of undeclared
      identifier '__builtin_ia32_paddb'; did you mean '__builtin_arm_addg'?
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: note: '__builtin_arm_addg'
      declared here
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: error: first argument of MTE
      builtin function must be a pointer ('__v8qi' (vector of 8 'char' values) invalid)
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^                    ~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:373:19: error: use of undeclared
      identifier '__builtin_ia32_paddw'; did you mean '__builtin_arm_addg'?
    return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: note: '__builtin_arm_addg'
      declared here
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:373:19: error: first argument of MTE
      builtin function must be a pointer ('__v4hi' (vector of 4 'short' values) invalid)
    return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
                  ^                    ~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:394:19: error: use of undeclared
      identifier '__builtin_ia32_paddd'; did you mean '__builtin_arm_addg'?
    return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:352:19: note: '__builtin_arm_addg'
      declared here
    return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.5/include/mmintrin.h:394:19: error: first argument of MTE
      builtin function must be a pointer ('__v2si' (vector of 2 'int' values) invalid)
    return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2);
                  ^                    ~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

Some errors reported while load glTF model

Describe the bug
Some errors reported while load glTF model

To Reproduce
Steps to reproduce the behavior:

  1. copy BrainStem.glb to Mesh folder
  2. start LumosEditor.app
  3. add BrainStem.glb to scene

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: MacOS 11.6 Big Sur
  • Apple M1

Additional context

[22:27:22] Loaded Model - /Volumes/SRC/Lumos2/bin/Debug-macosx-/LumosEditor.app/Contents/MacOS/../../../NewProject/Assets/Meshes/BrainStem.glb

[22:27:22] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-vkCmdDrawIndexed-None-02699 ] Object 0: handle = 0x780000000078, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xa44449d4 | VkDescriptorSet 0x780000000078[] encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #1 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://vulkan.lunarg.com/doc/view/1.2.170.0/mac/1.2-extensions/vkspec.html#VUID-vkCmdDrawIndexed-None-02699)

[22:27:22] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-vkCmdDrawIndexed-None-02699 ] Object 0: handle = 0x780000000078, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xa44449d4 | VkDescriptorSet 0x780000000078[] encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #2 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://vulkan.lunarg.com/doc/view/1.2.170.0/mac/1.2-extensions/vkspec.html#VUID-vkCmdDrawIndexed-None-02699)

[22:27:22] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-vkCmdDrawIndexed-None-02699 ] Object 0: handle = 0x790000000079, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xa44449d4 | VkDescriptorSet 0x790000000079[] encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #1 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://vulkan.lunarg.com/doc/view/1.2.170.0/mac/1.2-extensions/vkspec.html#VUID-vkCmdDrawIndexed-None-02699)

[22:27:22] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-vkCmdDrawIndexed-None-02699 ] Object 0: handle = 0x790000000079, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xa44449d4 | VkDescriptorSet 0x790000000079[] encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #2 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://vulkan.lunarg.com/doc/view/1.2.170.0/mac/1.2-extensions/vkspec.html#VUID-vkCmdDrawIndexed-None-02699)

[22:27:22] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-vkCmdDrawIndexed-None-02699 ] Object 0: handle = 0x7a000000007a, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xa44449d4 | VkDescriptorSet 0x7a000000007a[] encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #1 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://vulkan.lunarg.com/doc/view/1.2.170.0/mac/1.2-extensions/vkspec.html#VUID-vkCmdDrawIndexed-None-02699)

[22:27:22] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-vkCmdDrawIndexed-None-02699 ] Object 0: handle = 0x7a000000007a, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xa44449d4 | VkDescriptorSet 0x7a000000007a[] encountered the following validation error at vkCmdDrawIndexed() time: Descriptor in binding #2 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://vulkan.lunarg.com/doc/view/1.2.170.0/mac/1.2-extensions/vkspec.html#VUID-vkCmdDrawIndexed-None-02699)

Open Project Popup Text Focus loss

Hi. Thank U your Source code.

I have Open Project Popup Text Focus loss problem when text input.

ex) "New Project" ->"New Projects" -> focus loss

my settings :

  • Windows 11
  • Visual studio 2022
  • Vulkan

Thank you.

use of undeclared identifier 'VKTools'

Compile on MacOS(Macmini M1) platform, using following script:

cd Lumos
Tools/premake5 xcode4 --arch=arm64 --os=macosx
xcodebuild -project build/Runtime.xcodeproj

The following error will be reported:

Lumos/Lumos/Source/Lumos/Platform/Vulkan/VKTexture.cpp:98:41: error: use of undeclared identifier 'VKTools'
            allocInfo.memoryTypeIndex = VKTools::FindMemoryType(memRequirements.memoryTypeBits, properties);

Put your project in the EnTT in Action list

Hi, sorry to bother you, I'm the author of EnTT.

I found your project and I think it's very interesting in many (many!) ways. Probably you already know that but I'm also trying to give the users of EnTT a few examples from which to take inspiration when they move their first steps.

Since I usually prefer to ask before referring to other projects, here I am.
What do you think about putting your repo in the list of projects made with EnTT?
I've already written this down but I haven't published the updated list yet. I'm asking here and there if users are fine with having their projects linked before to proceed.
If it's fine for you, you can just close the issue with a 👍 I'd be glad to have your project in that list.

Thanks anyway. 👍

Build link error

I can't build Lumos successfully. VS2022 show output:

Build started...
1>------ Build started: Project: Runtime, Configuration: Release x64 ------
2>------ Build started: Project: LumosEditor, Configuration: Release x64 ------
1>Lumos.lib(spdlog.obj) : error LNK2005: "public: __cdecl spdlog::details::log_msg::log_msg(struct spdlog::source_loc,class fmt::v8::basic_string_view<char>,enum spdlog::level::level_enum,class fmt::v8::basic_string_view<char>)" (??0log_msg@details@spdlog@@QEAA@Usource_loc@2@V?$basic_string_view@D@v8@fmt@@W4level_enum@level@2@1@Z) already defined in spdlog.lib(spdlog.dll)
1>Lumos.lib(spdlog.obj) : error LNK2005: "public: bool __cdecl spdlog::details::backtracer::enabled(void)const " (?enabled@backtracer@details@spdlog@@QEBA_NXZ) already defined in spdlog.lib(spdlog.dll)
1>Lumos.lib(spdlog.obj) : error LNK2005: "protected: void __cdecl spdlog::logger::err_handler_(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?err_handler_@logger@spdlog@@IEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) already defined in spdlog.lib(spdlog.dll)
1>Lumos.lib(spdlog.obj) : error LNK2005: "protected: void __cdecl spdlog::logger::log_it_(struct spdlog::details::log_msg const &,bool,bool)" (?log_it_@logger@spdlog@@IEAAXAEBUlog_msg@details@2@_N1@Z) already defined in spdlog.lib(spdlog.dll)
2>Lumos.lib(spdlog.obj) : error LNK2005: "public: __cdecl spdlog::sinks::base_sink<class std::mutex>::base_sink<class std::mutex>(void)" (??0?$base_sink@Vmutex@std@@@sinks@spdlog@@QEAA@XZ) already defined in spdlog.lib(spdlog.dll)
2>Lumos.lib(spdlog.obj) : error LNK2005: "public: __cdecl spdlog::details::log_msg::log_msg(struct spdlog::source_loc,class fmt::v8::basic_string_view<char>,enum spdlog::level::level_enum,class fmt::v8::basic_string_view<char>)" (??0log_msg@details@spdlog@@QEAA@Usource_loc@2@V?$basic_string_view@D@v8@fmt@@W4level_enum@level@2@1@Z) already defined in spdlog.lib(spdlog.dll)
2>Lumos.lib(spdlog.obj) : error LNK2005: "public: bool __cdecl spdlog::details::backtracer::enabled(void)const " (?enabled@backtracer@details@spdlog@@QEBA_NXZ) already defined in spdlog.lib(spdlog.dll)
2>Lumos.lib(spdlog.obj) : error LNK2005: "protected: void __cdecl spdlog::logger::err_handler_(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?err_handler_@logger@spdlog@@IEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) already defined in spdlog.lib(spdlog.dll)
2>Lumos.lib(spdlog.obj) : error LNK2005: "public: virtual void __cdecl spdlog::sinks::base_sink<class std::mutex>::flush(void)" (?flush@?$base_sink@Vmutex@std@@@sinks@spdlog@@UEAAXXZ) already defined in spdlog.lib(spdlog.dll)
2>Lumos.lib(spdlog.obj) : error LNK2005: "public: virtual void __cdecl spdlog::sinks::base_sink<class std::mutex>::log(struct spdlog::details::log_msg const &)" (?log@?$base_sink@Vmutex@std@@@sinks@spdlog@@UEAAXAEBUlog_msg@details@3@@Z) already defined in spdlog.lib(spdlog.dll)
2>Lumos.lib(spdlog.obj) : error LNK2005: "protected: void __cdecl spdlog::logger::log_it_(struct spdlog::details::log_msg const &,bool,bool)" (?log_it_@logger@spdlog@@IEAAXAEBUlog_msg@details@2@_N1@Z) already defined in spdlog.lib(spdlog.dll)
2>Lumos.lib(spdlog.obj) : error LNK2005: "public: virtual void __cdecl spdlog::sinks::base_sink<class std::mutex>::set_formatter(class std::unique_ptr<class spdlog::formatter,struct std::default_delete<class spdlog::formatter> >)" (?set_formatter@?$base_sink@Vmutex@std@@@sinks@spdlog@@UEAAXV?$unique_ptr@Vformatter@spdlog@@U?$default_delete@Vformatter@spdlog@@@std@@@std@@@Z) already defined in spdlog.lib(spdlog.dll)
2>Lumos.lib(spdlog.obj) : error LNK2005: "protected: virtual void __cdecl spdlog::sinks::base_sink<class std::mutex>::set_formatter_(class std::unique_ptr<class spdlog::formatter,struct std::default_delete<class spdlog::formatter> >)" (?set_formatter_@?$base_sink@Vmutex@std@@@sinks@spdlog@@MEAAXV?$unique_ptr@Vformatter@spdlog@@U?$default_delete@Vformatter@spdlog@@@std@@@std@@@Z) already defined in spdlog.lib(spdlog.dll)
2>Lumos.lib(spdlog.obj) : error LNK2005: "public: virtual void __cdecl spdlog::sinks::base_sink<class std::mutex>::set_pattern(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?set_pattern@?$base_sink@Vmutex@std@@@sinks@spdlog@@UEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) already defined in spdlog.lib(spdlog.dll)
2>Lumos.lib(spdlog.obj) : error LNK2005: "protected: virtual void __cdecl spdlog::sinks::base_sink<class std::mutex>::set_pattern_(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?set_pattern_@?$base_sink@Vmutex@std@@@sinks@spdlog@@MEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) already defined in spdlog.lib(spdlog.dll)
2>Lumos.lib(fmt.obj) : error LNK2005: "int __cdecl fmt::v8::detail::format_float<double>(double,int,struct fmt::v8::detail::float_specs,class fmt::v8::detail::buffer<char> &)" (??$format_float@N@detail@v8@fmt@@YAHNHUfloat_specs@012@AEAV?$buffer@D@012@@Z) already defined in fmt.lib(fmt.dll)
2>Lumos.lib(fmt.obj) : error LNK2005: "char __cdecl fmt::v8::detail::decimal_point_impl<char>(class fmt::v8::detail::locale_ref)" (??$decimal_point_impl@D@detail@v8@fmt@@YADVlocale_ref@012@@Z) already defined in fmt.lib(fmt.dll)
1>Lumos.lib(fmt.obj) : error LNK2005: "int __cdecl fmt::v8::detail::format_float<double>(double,int,struct fmt::v8::detail::float_specs,class fmt::v8::detail::buffer<char> &)" (??$format_float@N@detail@v8@fmt@@YAHNHUfloat_specs@012@AEAV?$buffer@D@012@@Z) already defined in fmt.lib(fmt.dll)
2>Lumos.lib(fmt.obj) : error LNK2005: "int __cdecl fmt::v8::detail::format_float<long double>(long double,int,struct fmt::v8::detail::float_specs,class fmt::v8::detail::buffer<char> &)" (??$format_float@O@detail@v8@fmt@@YAHOHUfloat_specs@012@AEAV?$buffer@D@012@@Z) already defined in fmt.lib(fmt.dll)
2>Lumos.lib(fmt.obj) : error LNK2005: "int __cdecl fmt::v8::detail::snprintf_float<double>(double,int,struct fmt::v8::detail::float_specs,class fmt::v8::detail::buffer<char> &)" (??$snprintf_float@N@detail@v8@fmt@@YAHNHUfloat_specs@012@AEAV?$buffer@D@012@@Z) already defined in fmt.lib(fmt.dll)
2>Lumos.lib(fmt.obj) : error LNK2005: "int __cdecl fmt::v8::detail::snprintf_float<long double>(long double,int,struct fmt::v8::detail::float_specs,class fmt::v8::detail::buffer<char> &)" (??$snprintf_float@O@detail@v8@fmt@@YAHOHUfloat_specs@012@AEAV?$buffer@D@012@@Z) already defined in fmt.lib(fmt.dll)
2>Lumos.lib(fmt.obj) : error LNK2005: "struct fmt::v8::detail::thousands_sep_result<char> __cdecl fmt::v8::detail::thousands_sep_impl<char>(class fmt::v8::detail::locale_ref)" (??$thousands_sep_impl@D@detail@v8@fmt@@YA?AU?$thousands_sep_result@D@012@Vlocale_ref@012@@Z) already defined in fmt.lib(fmt.dll)
2>Lumos.lib(fmt.obj) : error LNK2005: "struct fmt::v8::detail::dragonbox::decimal_fp<float> __cdecl fmt::v8::detail::dragonbox::to_decimal<float>(float)" (??$to_decimal@M@dragonbox@detail@v8@fmt@@YA?AU?$decimal_fp@M@0123@M@Z) already defined in fmt.lib(fmt.dll)
2>Lumos.lib(fmt.obj) : error LNK2005: "struct fmt::v8::detail::dragonbox::decimal_fp<double> __cdecl fmt::v8::detail::dragonbox::to_decimal<double>(double)" (??$to_decimal@N@dragonbox@detail@v8@fmt@@YA?AU?$decimal_fp@N@0123@N@Z) already defined in fmt.lib(fmt.dll)
2>Lumos.lib(fmt.obj) : error LNK2005: "void __cdecl fmt::v8::detail::assert_fail(char const *,int,char const *)" (?assert_fail@detail@v8@fmt@@YAXPEBDH0@Z) already defined in fmt.lib(fmt.dll)
2>Lumos.lib(fmt.obj) : error LNK2005: "public: void __cdecl fmt::v8::detail::error_handler::on_error(char const *)" (?on_error@error_handler@detail@v8@fmt@@QEAAXPEBD@Z) already defined in fmt.lib(fmt.dll)
2>Lumos.lib(fmt.obj) : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl fmt::v8::vformat(class fmt::v8::basic_string_view<char>,class fmt::v8::basic_format_args<class fmt::v8::basic_format_context<class fmt::v8::appender,char> >)" (?vformat@v8@fmt@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$basic_string_view@D@12@V?$basic_format_args@V?$basic_format_context@Vappender@v8@fmt@@D@v8@fmt@@@12@@Z) already defined in fmt.lib(fmt.dll)
1>Lumos.lib(fmt.obj) : error LNK2005: "char __cdecl fmt::v8::detail::decimal_point_impl<char>(class fmt::v8::detail::locale_ref)" (??$decimal_point_impl@D@detail@v8@fmt@@YADVlocale_ref@012@@Z) already defined in fmt.lib(fmt.dll)
1>Lumos.lib(fmt.obj) : error LNK2005: "int __cdecl fmt::v8::detail::format_float<long double>(long double,int,struct fmt::v8::detail::float_specs,class fmt::v8::detail::buffer<char> &)" (??$format_float@O@detail@v8@fmt@@YAHOHUfloat_specs@012@AEAV?$buffer@D@012@@Z) already defined in fmt.lib(fmt.dll)
1>Lumos.lib(fmt.obj) : error LNK2005: "int __cdecl fmt::v8::detail::snprintf_float<double>(double,int,struct fmt::v8::detail::float_specs,class fmt::v8::detail::buffer<char> &)" (??$snprintf_float@N@detail@v8@fmt@@YAHNHUfloat_specs@012@AEAV?$buffer@D@012@@Z) already defined in fmt.lib(fmt.dll)
1>Lumos.lib(fmt.obj) : error LNK2005: "int __cdecl fmt::v8::detail::snprintf_float<long double>(long double,int,struct fmt::v8::detail::float_specs,class fmt::v8::detail::buffer<char> &)" (??$snprintf_float@O@detail@v8@fmt@@YAHOHUfloat_specs@012@AEAV?$buffer@D@012@@Z) already defined in fmt.lib(fmt.dll)
1>Lumos.lib(fmt.obj) : error LNK2005: "struct fmt::v8::detail::thousands_sep_result<char> __cdecl fmt::v8::detail::thousands_sep_impl<char>(class fmt::v8::detail::locale_ref)" (??$thousands_sep_impl@D@detail@v8@fmt@@YA?AU?$thousands_sep_result@D@012@Vlocale_ref@012@@Z) already defined in fmt.lib(fmt.dll)
1>Lumos.lib(fmt.obj) : error LNK2005: "struct fmt::v8::detail::dragonbox::decimal_fp<float> __cdecl fmt::v8::detail::dragonbox::to_decimal<float>(float)" (??$to_decimal@M@dragonbox@detail@v8@fmt@@YA?AU?$decimal_fp@M@0123@M@Z) already defined in fmt.lib(fmt.dll)
1>Lumos.lib(fmt.obj) : error LNK2005: "struct fmt::v8::detail::dragonbox::decimal_fp<double> __cdecl fmt::v8::detail::dragonbox::to_decimal<double>(double)" (??$to_decimal@N@dragonbox@detail@v8@fmt@@YA?AU?$decimal_fp@N@0123@N@Z) already defined in fmt.lib(fmt.dll)
1>Lumos.lib(fmt.obj) : error LNK2005: "void __cdecl fmt::v8::detail::assert_fail(char const *,int,char const *)" (?assert_fail@detail@v8@fmt@@YAXPEBDH0@Z) already defined in fmt.lib(fmt.dll)
1>Lumos.lib(fmt.obj) : error LNK2005: "public: void __cdecl fmt::v8::detail::error_handler::on_error(char const *)" (?on_error@error_handler@detail@v8@fmt@@QEAAXPEBD@Z) already defined in fmt.lib(fmt.dll)
1>Lumos.lib(fmt.obj) : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl fmt::v8::vformat(class fmt::v8::basic_string_view<char>,class fmt::v8::basic_format_args<class fmt::v8::basic_format_context<class fmt::v8::appender,char> >)" (?vformat@v8@fmt@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$basic_string_view@D@12@V?$basic_format_args@V?$basic_format_context@Vappender@v8@fmt@@D@v8@fmt@@@12@@Z) already defined in fmt.lib(fmt.dll)
2>fmt.lib(fmt.dll) : error LNK2005: "void __cdecl fmt::v8::format_system_error(class fmt::v8::detail::buffer<char> &,int,char const *)" (?format_system_error@v8@fmt@@YAXAEAV?$buffer@D@detail@12@HPEBD@Z) already defined in Lumos.lib(fmt.obj)
1>fmt.lib(fmt.dll) : error LNK2005: "void __cdecl fmt::v8::format_system_error(class fmt::v8::detail::buffer<char> &,int,char const *)" (?format_system_error@v8@fmt@@YAXAEAV?$buffer@D@detail@12@HPEBD@Z) already defined in Lumos.lib(fmt.obj)
1>   Creating library ..\bin\Release-windows-x86_64\Runtime.lib and object ..\bin\Release-windows-x86_64\Runtime.exp
2>   Creating library ..\bin\Release-windows-x86_64\LumosEditor.lib and object ..\bin\Release-windows-x86_64\LumosEditor.exp
2>..\bin\Release-windows-x86_64\LumosEditor.exe : fatal error LNK1169: one or more multiply defined symbols found
1>..\bin\Release-windows-x86_64\Runtime.exe : fatal error LNK1169: one or more multiply defined symbols found
1>Done building project "Runtime.vcxproj" -- FAILED.
2>Done building project "LumosEditor.vcxproj" -- FAILED.
========== Build: 0 succeeded, 2 failed, 10 up-to-date, 0 skipped ==========
========== Build started at 5:13 PM and took 31.712 seconds ==========

Getting renderdoc to work

Describe the bug
I'm trying to get a capture from the engine to learn a little bit how it works

To Reproduce
I have compiled it on VS2019 and tried to hook renderdoc 1.11 up to it. I have also tried defining LUMOS_DEBUG and m_RenderDocLayer = true, but they all fail in some way or another. Launching through renderdoc fails creating the device, setting the renderdoc extension fails creating the instance.

Expected behavior
To be able to launch renderdoc and get a capture.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • Windows 10, Vulkan backend (OpenGL fails but loading some file, I haven't investigated much deeper)

Additional context
It will crash creating the swapchain but that's because the device is null.

Thanks!

Animation Without rigging

How are you?

I found Idea for character animation without rigging or bones. This idea created by pixar studios called character articulation through profile curves or Curvenent system.
They have been released the paper about this idea, So please if you able to do this As standalone Free application for Windows OS or inside engine. It will be great

Watch the video and download the paper too

https://youtu.be/gUJ4RxMdVn8

Download the paper here :-

https://graphics.pixar.com/library/ProfileMover/paper.pdf

Please let me know your opinion

Thank you

Selection object with mouse clicks work not correctly

Describe the bug
Every second selection click on an object works not correctly.

To Reproduce
Put a cube on the scene, select the cube, and click again - selection lost.
Same behavior when trying to select the camera - every second click on the camera deselects it.

Expected behavior
Normal selection

Screenshots
Cube selection

Desktop (please complete the following information):
Windows 10

Additional context
Built using VS2022 from main.

LumosEditor segfaults

Describe the bug
A clear and concise description of what the bug is.
The lumos editor segfaults in cereal::JSONInputArchive::LoadValue
To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error
    Run the editor
    Wait for the editor to load the model
    Expected behavior
    A clear and concise description of what you expected to happen.
    Editor shouldn't segfault
    Screenshots
    If applicable, add screenshots to help explain your problem.

Thread 1 "LumosEditor" received signal SIGSEGV, Segmentation fault.
0x000055555568dc1c in cereal::JSONInputArchive::loadValue (
this=0x7fffffffd8d0, val=)
--Type for more, q to quit, c to continue without paging--
at ../Lumos/External/cereal/include/cereal/archives/json.hpp:649
649 void loadValue(float & val) { search(); val = static_cast(itsIteratorStack.back().value().GetDouble()); ++itsIteratorStack.back(); }

Desktop (please complete the following information):

  • Pop OS 20.04
    Additional context
    Add any other context about the problem here.

Lumos::OS::Instance()->GetExecutablePath() return nullptr

Hello I am a beginner in Programming,and seems I have a problem.
my platform is windows and i download the github file .
click /scripts/GenerateVS19.bat .
then in /build ,i have a lumos.sln.
It seems fine until now . i use VS2019 Debug x64
when the project is running ,the problem is
In SandBox Init()

const String root = Lumos::OS::Instance()->GetExecutablePath();//ROOT_DIR;
return nullptr and Read access violation

I don't know why .

Some build steps in README.md are outdated

Describe the bug
I tried to follow build steps on MacOS, but it seems like the build/ folder isn't generated. We should update the documentation to better reflect the current architecture.

Expected behavior
Documentation should be up-to-date.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: MacOS Sonoma (M1 Pro Max)

Additional context
Add any other context about the problem here.

A binary file should be there...

I like this Engine and someday i will probably use it to make some games but i think that generating the VS .sln file and then opening VS, then compiling and running it is a pretty long and complex way (It's just my opinion as i'm not as used to VS a lot).

You should probably upload a simple binary file which will be a bit useful for some people. By doing that some people will just try the current features out, if there's some issue they will either clone the source code or create a Github issue.

But no problem as this engine is pretty good and has a lot of potential in it.

Validation errors

full launch to close log (no other actions)

  1. first 12 Validation errors - is before UI rendered
  2. last Validation error - when I press close on WIndow
  3. I have to press ctrl+C to stop process because it still works after closing (not Vulkan related I think)
./LumosEditor
[04:16:08] Lumos Engine - Version 0.3.1
[04:16:08] Initialised JobSystem with [4 cores] [3 threads]
[04:16:08] Initialising System
[04:16:08] Loaded Editor Ini file Editor.ini
[04:16:08] VSync : False
[04:16:08] Creating window - Title : App, Width : 1200, Height : 800
[04:16:08] Initialised GLFW version : 3.3.4 X11 GLX EGL OSMesa clock_gettime evdev
[04:16:09] Vulkan : 1.2.186
[04:16:09] GPU : NVIDIA GeForce GTX 750
[04:16:09] Vendor ID : 4318
[04:16:09] Device Type : DISCRETE GPU
[04:16:09] Driver Version : 495.176.0
[04:16:09] Selected physical device has 107 extensions
[04:16:09] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext ] Object 0: handle = 0x34ad9b0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x2b747b43 | vkCreateDescriptorSetLayout: Includes a pNext pointer (pCreateInfo->pNext) to a VkStructureType (VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO), but its parent extension VK_EXT_descriptor_indexing has not been enabled. The Vulkan spec states: Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDescriptorSetLayoutBindingFlagsCreateInfo or VkMutableDescriptorTypeCreateInfoVALVE (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext)
[04:16:09] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext ] Object 0: handle = 0x34ad9b0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x2b747b43 | vkCreateDescriptorSetLayout: Includes a pNext pointer (pCreateInfo->pNext) to a VkStructureType (VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO), but its parent extension VK_EXT_descriptor_indexing has not been enabled. The Vulkan spec states: Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDescriptorSetLayoutBindingFlagsCreateInfo or VkMutableDescriptorTypeCreateInfoVALVE (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext)
[04:16:09] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext ] Object 0: handle = 0x34ad9b0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x2b747b43 | vkCreateDescriptorSetLayout: Includes a pNext pointer (pCreateInfo->pNext) to a VkStructureType (VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO), but its parent extension VK_EXT_descriptor_indexing has not been enabled. The Vulkan spec states: Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDescriptorSetLayoutBindingFlagsCreateInfo or VkMutableDescriptorTypeCreateInfoVALVE (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext)
[04:16:09] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext ] Object 0: handle = 0x34ad9b0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x2b747b43 | vkCreateDescriptorSetLayout: Includes a pNext pointer (pCreateInfo->pNext) to a VkStructureType (VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO), but its parent extension VK_EXT_descriptor_indexing has not been enabled. The Vulkan spec states: Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDescriptorSetLayoutBindingFlagsCreateInfo or VkMutableDescriptorTypeCreateInfoVALVE (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext)
[04:16:09] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext ] Object 0: handle = 0x34ad9b0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x2b747b43 | vkCreateDescriptorSetLayout: Includes a pNext pointer (pCreateInfo->pNext) to a VkStructureType (VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO), but its parent extension VK_EXT_descriptor_indexing has not been enabled. The Vulkan spec states: Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDescriptorSetLayoutBindingFlagsCreateInfo or VkMutableDescriptorTypeCreateInfoVALVE (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext)
[04:16:09] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext ] Object 0: handle = 0x34ad9b0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x2b747b43 | vkCreateDescriptorSetLayout: Includes a pNext pointer (pCreateInfo->pNext) to a VkStructureType (VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO), but its parent extension VK_EXT_descriptor_indexing has not been enabled. The Vulkan spec states: Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDescriptorSetLayoutBindingFlagsCreateInfo or VkMutableDescriptorTypeCreateInfoVALVE (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext)
[04:16:09] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext ] Object 0: handle = 0x34ad9b0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x2b747b43 | vkCreateDescriptorSetLayout: Includes a pNext pointer (pCreateInfo->pNext) to a VkStructureType (VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO), but its parent extension VK_EXT_descriptor_indexing has not been enabled. The Vulkan spec states: Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDescriptorSetLayoutBindingFlagsCreateInfo or VkMutableDescriptorTypeCreateInfoVALVE (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext)
[04:16:09] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext ] Object 0: handle = 0x34ad9b0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x2b747b43 | vkCreateDescriptorSetLayout: Includes a pNext pointer (pCreateInfo->pNext) to a VkStructureType (VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO), but its parent extension VK_EXT_descriptor_indexing has not been enabled. The Vulkan spec states: Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDescriptorSetLayoutBindingFlagsCreateInfo or VkMutableDescriptorTypeCreateInfoVALVE (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext)
[04:16:09] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext ] Object 0: handle = 0x34ad9b0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x2b747b43 | vkCreateDescriptorSetLayout: Includes a pNext pointer (pCreateInfo->pNext) to a VkStructureType (VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO), but its parent extension VK_EXT_descriptor_indexing has not been enabled. The Vulkan spec states: Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDescriptorSetLayoutBindingFlagsCreateInfo or VkMutableDescriptorTypeCreateInfoVALVE (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext)
[04:16:09] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext ] Object 0: handle = 0x34ad9b0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x2b747b43 | vkCreateDescriptorSetLayout: Includes a pNext pointer (pCreateInfo->pNext) to a VkStructureType (VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO), but its parent extension VK_EXT_descriptor_indexing has not been enabled. The Vulkan spec states: Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDescriptorSetLayoutBindingFlagsCreateInfo or VkMutableDescriptorTypeCreateInfoVALVE (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext)
[04:16:09] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext ] Object 0: handle = 0x34ad9b0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x2b747b43 | vkCreateDescriptorSetLayout: Includes a pNext pointer (pCreateInfo->pNext) to a VkStructureType (VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO), but its parent extension VK_EXT_descriptor_indexing has not been enabled. The Vulkan spec states: Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDescriptorSetLayoutBindingFlagsCreateInfo or VkMutableDescriptorTypeCreateInfoVALVE (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkDescriptorSetLayoutCreateInfo-pNext-pNext)
[04:16:09] ImGui Version : 1.85 WIP
[04:16:09] ImConfig File : Source/Lumos/ImGui/ImConfig.h
[04:16:09] [SceneManager] - Enqueued scene : Empty Scene
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
[04:16:09] Initialised AudioManager - OpenAL Soft
[04:16:09] Initialised ImGui Manager
[04:16:10] [SceneManager] - Scene switched to : Empty Scene
[04:16:31] Serialising Application NewProject/NewProject.lmproj
[04:16:31] [SceneManager] - Exiting scene : Empty Scene
[04:16:31] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-vkDestroySemaphore-semaphore-01137 ] Object 0: handle = 0x3c477c0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xa1569838 | Cannot call vkDestroySemaphore on VkSemaphore 0xf000000000f[] that is currently in use by a command buffer. The Vulkan spec states: All submitted batches that refer to semaphore must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkDestroySemaphore-semaphore-01137)
[04:16:32] Shutting down System

^C

pressing Entity - Cube (or anytheing else in this list)
result spam of same 3 errors:

[04:23:41] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-vkCmdDrawIndexed-None-02699 ] Object 0: handle = 0x7a000000007a, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xa44449d4 | Descriptor set VkDescriptorSet 0x7a000000007a[] encountered the following validation error at vkCmdDrawIndexed time: Descriptor in binding #1 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-None-02699)
[04:23:41] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-vkCmdDrawIndexed-None-02699 ] Object 0: handle = 0x7a000000007a, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xa44449d4 | Descriptor set VkDescriptorSet 0x7a000000007a[] encountered the following validation error at vkCmdDrawIndexed time: Descriptor in binding #2 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-None-02699)
[04:23:41] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-vkCmdDrawIndexed-None-02699 ] Object 0: handle = 0x7b000000007b, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xa44449d4 | Descriptor set VkDescriptorSet 0x7b000000007b[] encountered the following validation error at vkCmdDrawIndexed time: Descriptor in binding #1 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-None-02699)
[04:23:41] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-vkCmdDrawIndexed-None-02699 ] Object 0: handle = 0x7b000000007b, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xa44449d4 | Descriptor set VkDescriptorSet 0x7b000000007b[] encountered the following validation error at vkCmdDrawIndexed time: Descriptor in binding #2 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-None-02699)
[04:23:41] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-vkCmdDrawIndexed-None-02699 ] Object 0: handle = 0x7c000000007c, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xa44449d4 | Descriptor set VkDescriptorSet 0x7c000000007c[] encountered the following validation error at vkCmdDrawIndexed time: Descriptor in binding #1 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-None-02699)
[04:23:41] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-vkCmdDrawIndexed-None-02699 ] Object 0: handle = 0x7c000000007c, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xa44449d4 | Descriptor set VkDescriptorSet 0x7c000000007c[] encountered the following validation error at vkCmdDrawIndexed time: Descriptor in binding #2 index 0 is being used in draw but has never been updated via vkUpdateDescriptorSets() or a similar call. The Vulkan spec states: Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the VkPipeline bound to the pipeline bind point used by this command (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkCmdDrawIndexed-None-02699)

resizing Lumos Editor window:
this may not be bug/error but x11 Nvidia driver implementation "feature" look this KhronosGroup/Vulkan-Samples#250 (comment)

[04:27:43] [Vulkan] SwapChain out of date
[04:27:43] Acquire Image result : Out of Date
[04:27:43] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID-VkSwapchainCreateInfoKHR-imageExtent-01274 ] Object 0: handle = 0x3436cb0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x7cd0911d | vkCreateSwapchainKHR() called with imageExtent = (1171,776), which is outside the bounds returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR(): currentExtent = (1170,776), minImageExtent = (1170,776), maxImageExtent = (1170,776). The Vulkan spec states: imageExtent must be between minImageExtent and maxImageExtent, inclusive, where minImageExtent and maxImageExtent are members of the VkSurfaceCapabilitiesKHR structure returned by vkGetPhysicalDeviceSurfaceCapabilitiesKHR for the surface (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkSwapchainCreateInfoKHR-imageExtent-01274)

Visual bug after resizing:
I resize Window for few pixels on this screenshot, there "gray ghost from Cube" (look like Depth buffer size bugged or something with depth order/memory flags etc(can be wrong, just my thought base on similar bugs I saw)).
There no "new" Vulkan validation messages, just spam of 3 messages I show above and everything else also same.
1

MACOS build successful, can't run 'volkInitialize failed'

Hi! thanks for putting this together and keep it opensource

I was able to successfully to build the project but have trouble running it, error:

[17:18:13] LUMOS: Lumos Engine - Version 0.2.2
[17:18:13] LUMOS: Initialised JobSystem with [12 cores] [12 threads]
[17:18:13] LUMOS: Initializing System
[17:18:13] LUMOS: Creating window - Title : Sandbox, Width : 1280, Height : 800
[17:18:14] LUMOS: Initialised GLFW version : 3.4.0 Cocoa NSGL EGL OSMesa
[17:18:14] LUMOS: volkInitialize failed
[17:18:14] LUMOS: Could not find loader

Running on (MacOS catalina)
Any help would be appreciated!

Windows platform,DWMWINDOWATTRIBUTE::DWMWA_CAPTION_COLOR is not defined

Describe the bug
Build on Windows platform with Visual Studio, DWMWINDOWATTRIBUTE::DWMWA_CAPTION_COLOR is not defined.

image

12:06:41:347	13>E:\testProject\cmake\Lumos\Lumos\Source\Lumos\Platform\Windows\WindowsOS.cpp(116,76): error C2065: 'DWMWA_CAPTION_COLOR': undeclared identifier
12:06:41:347	13>E:\testProject\cmake\Lumos\Lumos\Source\Lumos\Platform\Windows\WindowsOS.cpp(117,57): error C2838: 'DWMWA_BORDER_COLOR': illegal qualified name in member declaration
12:06:41:347	13>E:\testProject\cmake\Lumos\Lumos\Source\Lumos\Platform\Windows\WindowsOS.cpp(117,75): error C2065: 'DWMWA_BORDER_COLOR': undeclared identifier

glTF model can not be rendered

Describe the bug
I copied Duck and CesiumMan models to asset folder, and add them in scene, but nothing rendered.

Log message as below:

[09:52:32] Lumos Engine - Version 0.3.0
[09:52:32] Initialised JobSystem with [8 cores] [7 threads]
[09:52:32] Initializing System
[09:52:32] VSync : True
[09:52:32] Creating window - Title : LumosGame, Width : 1920, Height : 1027
[09:52:32] Initialised GLFW version : 3.3.4 Cocoa NSGL EGL OSMesa
[mvk-info] MoltenVK version 1.1.3, supporting Vulkan version 1.1.170.
	The following 71 Vulkan extensions are supported:
		VK_KHR_16bit_storage v1
		VK_KHR_8bit_storage v1
		VK_KHR_bind_memory2 v1
		VK_KHR_create_renderpass2 v1
		VK_KHR_dedicated_allocation v3
		VK_KHR_depth_stencil_resolve v1
		VK_KHR_descriptor_update_template v1
		VK_KHR_device_group v4
		VK_KHR_device_group_creation v1
		VK_KHR_driver_properties v1
		VK_KHR_external_fence v1
		VK_KHR_external_fence_capabilities v1
		VK_KHR_external_memory v1
		VK_KHR_external_memory_capabilities v1
		VK_KHR_external_semaphore v1
		VK_KHR_external_semaphore_capabilities v1
		VK_KHR_get_memory_requirements2 v1
		VK_KHR_get_physical_device_properties2 v2
		VK_KHR_get_surface_capabilities2 v1
		VK_KHR_image_format_list v1
		VK_KHR_maintenance1 v2
		VK_KHR_maintenance2 v1
		VK_KHR_maintenance3 v1
		VK_KHR_multiview v1
		VK_KHR_portability_subset v1
		VK_KHR_push_descriptor v2
		VK_KHR_relaxed_block_layout v1
		VK_KHR_sampler_mirror_clamp_to_edge v3
		VK_KHR_sampler_ycbcr_conversion v14
		VK_KHR_shader_draw_parameters v1
		VK_KHR_shader_float16_int8 v1
		VK_KHR_shader_subgroup_extended_types v1
		VK_KHR_storage_buffer_storage_class v1
		VK_KHR_surface v25
		VK_KHR_swapchain v70
		VK_KHR_swapchain_mutable_format v1
		VK_KHR_timeline_semaphore v2
		VK_KHR_uniform_buffer_standard_layout v1
		VK_KHR_variable_pointers v1
		VK_EXT_debug_marker v4
		VK_EXT_debug_report v9
		VK_EXT_debug_utils v2
		VK_EXT_descriptor_indexing v2
		VK_EXT_fragment_shader_interlock v1
		VK_EXT_hdr_metadata v2
		VK_EXT_host_query_reset v1
		VK_EXT_image_robustness v1
		VK_EXT_inline_uniform_block v1
		VK_EXT_memory_budget v1
		VK_EXT_metal_surface v1
		VK_EXT_post_depth_coverage v1
		VK_EXT_private_data v1
		VK_EXT_robustness2 v1
		VK_EXT_scalar_block_layout v1
		VK_EXT_shader_stencil_export v1
		VK_EXT_shader_viewport_index_layer v1
		VK_EXT_subgroup_size_control v2
		VK_EXT_swapchain_colorspace v4
		VK_EXT_texel_buffer_alignment v1
		VK_EXT_texture_compression_astc_hdr v1
		VK_EXT_vertex_attribute_divisor v3
		VK_AMD_gpu_shader_half_float v2
		VK_AMD_negative_viewport_height v1
		VK_AMD_shader_image_load_store_lod v1
		VK_AMD_shader_trinary_minmax v1
		VK_IMG_format_pvrtc v1
		VK_INTEL_shader_integer_functions2 v1
		VK_GOOGLE_display_timing v1
		VK_MVK_macos_surface v3
		VK_MVK_moltenvk v31
		VK_NV_glsl_shader v1
[mvk-info] GPU device:
		model: Apple M1
		type: Integrated
		vendorID: 0x106b
		deviceID: 0xa140
		pipelineCacheUUID: 00002777-0400-03EF-20B5-067EE5839EBD
	supports the following Metal Versions, GPU's and Feature Sets:
		Metal Shading Language 2.3
		GPU Family Apple 7
		GPU Family Apple 6
		GPU Family Apple 5
		GPU Family Apple 4
		GPU Family Apple 3
		GPU Family Apple 2
		GPU Family Apple 1
		GPU Family Mac 2
		GPU Family Mac 1
		GPU Family Common 3
		GPU Family Common 2
		GPU Family Common 1
		macOS GPU Family 2 v1
		macOS GPU Family 1 v4
		macOS GPU Family 1 v3
		macOS GPU Family 1 v2
		macOS GPU Family 1 v1
[mvk-info] Created VkInstance for Vulkan version 1.1.0, as requested by app, with the following 3 Vulkan extensions enabled:
		VK_KHR_surface v25
		VK_EXT_debug_utils v2
		VK_EXT_metal_surface v1
[09:52:32] Vulkan : 1.1.170
[09:52:32] GPU : Apple M1
[09:52:32] Vendor ID : 4203
[09:52:32] Device Type : INTEGRATED GPU
[09:52:32] Driver Version : 0.2.1911
[09:52:32] Selected physical device has 58 extensions
[09:52:32]   VK_KHR_16bit_storage
[09:52:32]   VK_KHR_8bit_storage
[09:52:32]   VK_KHR_bind_memory2
[09:52:32]   VK_KHR_create_renderpass2
[09:52:32]   VK_KHR_dedicated_allocation
[09:52:32]   VK_KHR_depth_stencil_resolve
[09:52:32]   VK_KHR_descriptor_update_template
[09:52:32]   VK_KHR_device_group
[09:52:32]   VK_KHR_driver_properties
[09:52:32]   VK_KHR_external_fence
[09:52:32]   VK_KHR_external_memory
[09:52:32]   VK_KHR_external_semaphore
[09:52:32]   VK_KHR_get_memory_requirements2
[09:52:32]   VK_KHR_image_format_list
[09:52:32]   VK_KHR_maintenance1
[09:52:32]   VK_KHR_maintenance2
[09:52:32]   VK_KHR_maintenance3
[09:52:32]   VK_KHR_multiview
[09:52:32]   VK_KHR_portability_subset
[09:52:32]   VK_KHR_push_descriptor
[09:52:32]   VK_KHR_relaxed_block_layout
[09:52:32]   VK_KHR_sampler_mirror_clamp_to_edge
[09:52:32]   VK_KHR_sampler_ycbcr_conversion
[09:52:32]   VK_KHR_shader_draw_parameters
[09:52:32]   VK_KHR_shader_float16_int8
[09:52:32]   VK_KHR_shader_subgroup_extended_types
[09:52:32]   VK_KHR_storage_buffer_storage_class
[09:52:32]   VK_KHR_swapchain
[09:52:32]   VK_KHR_swapchain_mutable_format
[09:52:32]   VK_KHR_timeline_semaphore
[09:52:32]   VK_KHR_uniform_buffer_standard_layout
[09:52:32]   VK_KHR_variable_pointers
[09:52:32]   VK_EXT_debug_marker
[09:52:32]   VK_EXT_descriptor_indexing
[09:52:32]   VK_EXT_fragment_shader_interlock
[09:52:32]   VK_EXT_hdr_metadata
[09:52:32]   VK_EXT_host_query_reset
[09:52:32]   VK_EXT_image_robustness
[09:52:32]   VK_EXT_inline_uniform_block
[09:52:32]   VK_EXT_memory_budget
[09:52:32]   VK_EXT_post_depth_coverage
[09:52:32]   VK_EXT_private_data
[09:52:32]   VK_EXT_robustness2
[09:52:32]   VK_EXT_scalar_block_layout
[09:52:32]   VK_EXT_shader_stencil_export
[09:52:32]   VK_EXT_shader_viewport_index_layer
[09:52:32]   VK_EXT_subgroup_size_control
[09:52:32]   VK_EXT_texel_buffer_alignment
[09:52:32]   VK_EXT_texture_compression_astc_hdr
[09:52:32]   VK_EXT_vertex_attribute_divisor
[09:52:32]   VK_AMD_gpu_shader_half_float
[09:52:32]   VK_AMD_negative_viewport_height
[09:52:32]   VK_AMD_shader_image_load_store_lod
[09:52:32]   VK_AMD_shader_trinary_minmax
[09:52:32]   VK_IMG_format_pvrtc
[09:52:32]   VK_INTEL_shader_integer_functions2
[09:52:32]   VK_GOOGLE_display_timing
[09:52:32]   VK_NV_glsl_shader
[mvk-info] Using MTLFence for Vulkan semaphores.
[mvk-info] Created VkDevice to run on GPU Apple M1 with the following 2 Vulkan extensions enabled:
		VK_KHR_portability_subset v1
		VK_KHR_swapchain v70
[mvk-info] Created 3 swapchain images with initial size (1920, 1027).
[09:52:32] [VULKAN] Failed to set up debug callback!
[09:52:32] Battery Info - -1% , Time Left 0h : 0m , State : No Battery
[09:52:32] ImGui Version : 1.83 WIP
[09:52:32] ImConfig File : Source/Lumos/ImGui/ImConfig.h
[09:52:32] [SceneManager] - Enqueued scene : 2D
[09:52:32] [SceneManager] - Enqueued scene : Physics
[09:52:32] [SceneManager] - Enqueued scene : Terrain
[09:52:33] Creating SoundSystem - Mac mini扬声器, Number of devices : 
[09:52:33] Loading Shader : Shadow.shader
[09:52:33] Loading Shader : DeferredColour.shader
[09:52:33] Loading Shader : DeferredColourAnim.shader
[09:52:33] Loading Shader : DeferredLight.shader
[09:52:33] Loading Shader : Skybox.shader
[09:52:33] Loading Shader : Batch2D.shader
[09:52:33] Loading Shader : Batch2DLine.shader
[09:52:33] Loading Shader : Batch2DPoint.shader
[09:52:33] Loading Shader : Grid.shader
[09:52:34] Mesh Optimizer - Before : 46356 indices 46356 vertices , After : 46356 indices , 14556 vertices
[09:52:34] Loaded Model - //Meshes/DamagedHelmet/glTF/DamagedHelmet.gltf
[09:52:34] Mesh Optimizer - Before : 12636 indices 12636 vertices , After : 12636 indices , 2399 vertices
[09:52:34] Loaded Model - //Assets/Meshes/Duck/Duck.gltf
[09:52:34] Mesh Optimizer - Before : 36 indices 36 vertices , After : 36 indices , 36 vertices
[09:52:34] Loaded Model - //Assets/Meshes/Cube/Cube.gltf
[09:52:35] Mesh Optimizer - Before : 14016 indices 14016 vertices , After : 14016 indices , 3273 vertices
[09:52:35] Loaded Model - //Assets/Meshes/CesiumMan/CesiumMan.gltf
[09:52:35] Mesh Optimizer - Before : 2862 indices 2862 vertices , After : 2862 indices , 997 vertices
[09:52:35] Mesh Optimizer - Before : 270 indices 270 vertices , After : 270 indices , 111 vertices
[09:52:35] Mesh Optimizer - Before : 207 indices 207 vertices , After : 207 indices , 110 vertices
[09:52:35] Mesh Optimizer - Before : 4899 indices 4899 vertices , After : 4899 indices , 2548 vertices
[09:52:35] Mesh Optimizer - Before : 7599 indices 7599 vertices , After : 7599 indices , 3173 vertices
[09:52:35] Mesh Optimizer - Before : 22296 indices 22296 vertices , After : 22296 indices , 6198 vertices
[09:52:36] Loaded Model - //Meshes/Scene/scene.gltf
[09:52:36] [SceneManager] - Scene switched to : Physics

The LumosEditer shows as below:
snapshot2021-09-12 上午9 49 52

Metal

Metal
Please may you add Metal support? I'm on windows, I just wanna be able to export to mac as smoothly as possible.

black screen

emmm
i cannot running this project successfully and it turns out be black all the time
could you help me?
image
In Master Branch

[Mac] Runtime app crash on Launch

The engine looks promising

But after I build it, Runtime.app launched and crashed immediately. My laptop is intel-based not M1

Also when building there's always an error for No Code Signing, had to open build\runtime.xcodeproj and remove team and disable code signing everytime.

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               Runtime [56436]
Path:                  /Users/USER/*/Runtime.app/Contents/MacOS/Runtime
Identifier:            Runtime
Version:               alpha (0.2)
Code Type:             X86-64 (Native)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2022-06-10 04:52:07.8245 -0700
OS Version:            macOS 12.4 (21F79)
Report Version:        12
Bridge OS Version:     6.5 (19P5071)
Anonymous UUID:        80A9E386-4CE7-ED75-ACD4-8BCEE87C8866

Sleep/Wake UUID:       BECF2F07-D19A-46C5-B30D-11CFC8245BE7

Time Awake Since Boot: 200000 seconds
Time Since Wake:       2564 seconds

System Integrity Protection: enabled

Crashed Thread:        0  JobSystem_14  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000020
Exception Codes:       0x0000000000000001, 0x0000000000000020
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [56436]

VM Region Info: 0x20 is not in any region.  Bytes before following region: 140737487798240
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      VM_ALLOCATE              7ffffff78000-7ffffff79000 [    4K] r-x/r-x SM=ALI  

Thread 0 Crashed:: JobSystem_14 Dispatch queue: com.apple.main-thread
0   libMoltenVK.dylib             	       0x12a26bbc7 mvkUpdateDescriptorSets(unsigned int, VkWriteDescriptorSet const*, unsigned int, VkCopyDescriptorSet const*) + 103
1   libMoltenVK.dylib             	       0x12a281af5 vkUpdateDescriptorSets + 277
2   Runtime                       	       0x10f5fcb48 Lumos::Graphics::VKDescriptorSet::Update() + 3064 (VKDescriptorSet.cpp:222)
3   Runtime                       	       0x10f2d702d Lumos::Graphics::RenderGraph::ForwardPass() + 733 (RenderGraph.cpp:1106)
4   Runtime                       	       0x10f2d5dd6 Lumos::Graphics::RenderGraph::OnRender() + 2182 (RenderGraph.cpp:771)
5   Runtime                       	       0x10f08bd9e Lumos::Application::OnRender() + 846 (Application.cpp:437)
6   Runtime                       	       0x10f088642 Lumos::Application::OnFrame() + 8578 (Application.cpp:375)
7   Runtime                       	       0x10f08d63d Lumos::Application::Run() + 29 (Application.cpp:488)
8   Runtime                       	       0x10f6dd5b7 Lumos::MacOSOS::Run() + 439 (MacOSOS.mm:35)
9   Runtime                       	       0x10f0365b4 main + 132 (EntryPoint.h:74)
10  dyld                          	       0x11b8c551e start + 462

Thread 1:
0   libsystem_kernel.dylib        	    0x7ff81ac200aa poll + 10
1   Runtime                       	       0x11008ae7f tracy::ListenSocket::Accept() + 95 (TracySocket.cpp:519)
2   Runtime                       	       0x110088fc4 tracy::Profiler::Worker() + 2500 (TracyProfiler.cpp:1646)
3   Runtime                       	       0x110088135 tracy::Profiler::LaunchWorker(void*) + 21 (TracyProfiler.hpp:672)
4   Runtime                       	       0x1100dd6dd tracy::Thread::Launch(void*) + 29 (TracyThread.hpp:75)
5   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
6   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 2:
0   libsystem_kernel.dylib        	    0x7ff81ac1c2be __semwait_signal + 10
1   libsystem_c.dylib             	    0x7ff81ab30863 nanosleep + 196
2   libc++.1.dylib                	    0x7ff81abbeab1 std::__1::this_thread::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 73
3   Runtime                       	       0x1104acf2e void std::__1::this_thread::sleep_for<long long, std::__1::ratio<1l, 1000l> >(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&) + 190 (thread:386)
4   Runtime                       	       0x11008d57a tracy::Profiler::CompressWorker() + 1338 (TracyProfiler.cpp:2003)
5   Runtime                       	       0x110088185 tracy::Profiler::LaunchCompressWorker(void*) + 21 (TracyProfiler.hpp:676)
6   Runtime                       	       0x1100dd6dd tracy::Thread::Launch(void*) + 29 (TracyThread.hpp:75)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 3:
0   libsystem_kernel.dylib        	    0x7ff81ac1c2be __semwait_signal + 10
1   libsystem_c.dylib             	    0x7ff81ab30863 nanosleep + 196
2   libc++.1.dylib                	    0x7ff81abbeab1 std::__1::this_thread::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 73
3   Runtime                       	       0x1104acf2e void std::__1::this_thread::sleep_for<long long, std::__1::ratio<1l, 1000l> >(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> > const&) + 190 (thread:386)
4   Runtime                       	       0x110091fea tracy::Profiler::SymbolWorker() + 330 (TracyProfiler.cpp:3153)
5   Runtime                       	       0x1100881a5 tracy::Profiler::LaunchSymbolWorker(void*) + 21 (TracyProfiler.hpp:681)
6   Runtime                       	       0x1100dd6dd tracy::Thread::Launch(void*) + 29 (TracyThread.hpp:75)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 4:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 5:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 6:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 7:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 8:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 9:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 10:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 11:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 12:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 13:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 14:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 15:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 16:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 17:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 18:
0   libsystem_kernel.dylib        	    0x7ff81ac1c3ea __psynch_cvwait + 10
1   libsystem_pthread.dylib       	    0x7ff81ac56a6f _pthread_cond_wait + 1249
2   libc++.1.dylib                	    0x7ff81abb4d02 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
3   Runtime                       	       0x10f14530f Lumos::System::JobSystem::OnInit()::$_0::operator()() const + 239 (JobSystem.cpp:151)
4   Runtime                       	       0x10f1451e5 decltype(static_cast<Lumos::System::JobSystem::OnInit()::$_0>(fp)()) std::__1::__invoke<Lumos::System::JobSystem::OnInit()::$_0>(Lumos::System::JobSystem::OnInit()::$_0&&) + 21 (type_traits:3918)
5   Runtime                       	       0x10f145185 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0>&, std::__1::__tuple_indices<>) + 37 (thread:287)
6   Runtime                       	       0x10f144a32 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, Lumos::System::JobSystem::OnInit()::$_0> >(void*) + 98 (thread:298)
7   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
8   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 19:
0   libsystem_pthread.dylib       	    0x7ff81ac51f48 start_wqthread + 0

Thread 20:
0   libsystem_pthread.dylib       	    0x7ff81ac51f48 start_wqthread + 0

Thread 21:
0   libsystem_pthread.dylib       	    0x7ff81ac51f48 start_wqthread + 0

Thread 22:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	    0x7ff81ac1997a mach_msg_trap + 10
1   libsystem_kernel.dylib        	    0x7ff81ac19ce8 mach_msg + 56
2   CoreFoundation                	    0x7ff81ad1d38d __CFRunLoopServiceMachPort + 319
3   CoreFoundation                	    0x7ff81ad1ba18 __CFRunLoopRun + 1276
4   CoreFoundation                	    0x7ff81ad1ae5c CFRunLoopRunSpecific + 562
5   AppKit                        	    0x7ff81d8c7c1e _NSEventThread + 132
6   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
7   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 23:
0   libsystem_pthread.dylib       	    0x7ff81ac51f48 start_wqthread + 0

Thread 24:
0   libsystem_pthread.dylib       	    0x7ff81ac51f48 start_wqthread + 0

Thread 25:: AMCP Logging Spool
0   libsystem_kernel.dylib        	    0x7ff81ac199b6 semaphore_wait_trap + 10
1   caulk                         	    0x7ff82374e2e6 caulk::mach::semaphore::wait_or_error() + 16
2   caulk                         	    0x7ff823736148 caulk::concurrent::details::worker_thread::run() + 36
3   caulk                         	    0x7ff823735e0c void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*> > >(void*) + 41
4   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
5   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15

Thread 26:: com.apple.audio.IOThread.client
0   libsystem_kernel.dylib        	    0x7ff81ac1997a mach_msg_trap + 10
1   libsystem_kernel.dylib        	    0x7ff81ac19ce8 mach_msg + 56
2   CoreAudio                     	    0x7ff81c8a1c87 HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int) + 111
3   CoreAudio                     	    0x7ff81c72cd6b HALC_ProxyIOContext::IOWorkLoop() + 3909
4   CoreAudio                     	    0x7ff81c72b85d invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int) + 63
5   CoreAudio                     	    0x7ff81c8f7696 HALB_IOThread::Entry(void*) + 72
6   libsystem_pthread.dylib       	    0x7ff81ac564e1 _pthread_start + 125
7   libsystem_pthread.dylib       	    0x7ff81ac51f6b thread_start + 15


Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000000  rcx: 0x0000000000000000  rdx: 0x0000000000000000
  rdi: 0x0000000000000000  rsi: 0x00007f9c8508f420  rbp: 0x00007ff7b0eca260  rsp: 0x00007ff7b0eca1f0
   r8: 0x0000000000000000   r9: 0x00006000012c9e08  r10: 0x0000600002ca1ce0  r11: 0xffffffa4d41c4ef0
  r12: 0x0000000000000000  r13: 0x0000000000000001  r14: 0x0000000000000000  r15: 0x00007f9c8508f420
  rip: 0x000000012a26bbc7  rfl: 0x0000000000010246  cr2: 0x0000000000000020
  
Logical CPU:     4
Error Code:      0x00000004 (no mapping for user data read)
Trap Number:     14

Thread 0 instruction stream:
  56 41 55 41 54 53 48 83-ec 48 49 89 cc 89 55 c8  VAUATSH..HI...U.
  48 8b 05 02 96 4d 00 48-8b 00 48 89 45 d0 85 ff  H....M.H..H.E...
  0f 84 d7 00 00 00 49 89-f7 41 89 fd 45 31 f6 e9  ......I..A..E1..
  20 00 00 00 0f 1f 44 00-00 49 8b 4c 07 28 ba 18   .....D..I.L.(..
  00 00 00 e8 41 02 00 00-49 ff c6 4d 39 ee 0f 84  ....A...I..M9...
  a9 00 00 00 4c 89 f0 48-c1 e0 06 49 8b 7c 07 10  ....L..H...I.|..
 [48]8b 4f 20 80 b9 28 06-00 00 00 74 2c 49 8b 4c  H.O ..(....t,I.L	<==
  07 08 31 db 48 85 c9 74-22 81 39 12 e5 9c 3b 48  ..1.H..t".9...;H
  0f 44 d9 48 8b 49 08 48-85 c9 0f 85 e9 ff ff ff  .D.H.I.H........
  e9 06 00 00 00 0f 1f 40-00 31 db 49 8d 34 07 45  [email protected]
  8b 44 07 24 41 83 f8 0a-77 20 b9 0f 04 00 00 44  .D.$A...w .....D
  0f a3 c1 72 84 b9 c0 03-00 00 44 0f a3 c1 73 2e  ...r......D...s.

Binary Images:
       0x12a261000 -        0x12a744fff libMoltenVK.dylib (*) <aec908c8-afa6-31a2-847b-5363c0591acf> /Users/USER/*/Runtime.app/Contents/Resources/libMoltenVK.dylib
       0x10f033000 -        0x11089afff Runtime (alpha) <8a9b649c-516f-32a4-9e40-c28399506e7a> /Users/USER/*/Runtime.app/Contents/MacOS/Runtime
       0x11b8c0000 -        0x11b92bfff dyld (*) <b70ce1ec-b902-3852-8268-05de00bfa8d5> /usr/lib/dyld
    0x7ff81ac18000 -     0x7ff81ac4ffff libsystem_kernel.dylib (*) <61711d11-e776-3bc3-b9a2-6f9f37cb8499> /usr/lib/system/libsystem_kernel.dylib
    0x7ff81ac50000 -     0x7ff81ac5bfff libsystem_pthread.dylib (*) <bc574849-1aae-31e7-b350-916dda999d97> /usr/lib/system/libsystem_pthread.dylib
    0x7ff81ab20000 -     0x7ff81aba8fff libsystem_c.dylib (*) <d9ba0660-744d-3f84-9f80-afb51d450512> /usr/lib/system/libsystem_c.dylib
    0x7ff81aba9000 -     0x7ff81ac01fff libc++.1.dylib (*) <533dbd32-a8fb-3ef5-b911-4d8f543bedb4> /usr/lib/libc++.1.dylib
    0x7ff81ac9d000 -     0x7ff81b19ffff com.apple.CoreFoundation (6.9) <f8e45ef9-9fd2-3331-bb1b-703d5dacdaf1> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7ff81d71b000 -     0x7ff81e5a9fff com.apple.AppKit (6.9) <832ad371-d3b8-3061-b4e2-1c4e0cffce0b> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x7ff823734000 -     0x7ff823755fff com.apple.audio.caulk (1.0) <42fecc51-73d2-3b5c-b109-208f4cb4c3cd> /System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk
    0x7ff81c573000 -     0x7ff81cca7fff com.apple.audio.CoreAudio (5.0) <1621fd80-991f-3b5f-97f3-dbbb21bdeba3> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
               0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=1.0G resident=0K(0%) swapped_out_or_unallocated=1.0G(100%)
Writable regions: Total=1.9G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.9G(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Accelerate framework               256K        2 
Activity Tracing                   256K        1 
CG backing stores                 4512K        4 
CG image                            24K        2 
ColorSync                          220K       25 
CoreAnimation                       72K        6 
CoreGraphics                         4K        1 
CoreUI image data                  808K        5 
Foundation                          16K        1 
Kernel Alloc Once                    8K        1 
MALLOC                           392.7M       62 
MALLOC guard page                   48K       10 
MALLOC_MEDIUM (reserved)         952.0M        8         reserved VM address space (unallocated)
MALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)
Memory Tag 240                   163.7M       28 
ObjC additional data                15K        1 
STACK GUARD                       56.1M       27 
Stack                             21.2M       28 
VM_ALLOCATE                        176K       16 
VM_ALLOCATE (reserved)              32K        1         reserved VM address space (unallocated)
__CTF                               756        1 
__DATA                            20.3M      317 
__DATA_CONST                      14.9M      188 
__DATA_DIRTY                       636K      108 
__FONT_DATA                          4K        1 
__LINKEDIT                       727.4M       12 
__TEXT                           301.2M      332 
__UNICODE                          592K        1 
dyld private memory               3072K        3 
mapped file                      155.4M       22 
shared memory                      772K       16 
===========                     =======  ======= 
TOTAL                              3.1G     1231 
TOTAL, minus reserved VM space     1.8G     1231 

crash floating point exception

Describe the bug
crash on ubuntu20.04

[20:53:35] Lumos Engine - Version 0.3.2
[20:53:35] Initialised JobSystem with [16 cores] [15 threads]
[20:53:35] Initialising System
[20:53:35] Editor Ini not found
[20:53:35] Creating Editor Ini Editor.ini
[20:53:35] No saved Project file found ExampleProject/Example.lmproj
[20:53:35] [SceneManager] - Enqueued scene : Empty Scene
[20:53:35] Serialising Application NewProject/NewProject.lmproj
[20:53:35] VSync : False
[20:53:35] Creating window - Title : App, Width : 1200, Height : 800
[20:53:35] Initialised GLFW version : 3.3.4 X11 GLX EGL OSMesa clock_gettime evdev
[20:53:35] Vulkan : 1.1.182
[20:53:35] GPU : llvmpipe (LLVM 12.0.0, 256 bits)
[20:53:35] Vendor ID : 65541
[20:53:35] Device Type : CPU
[20:53:35] Driver Version : 0.0.1
[20:53:35] Selected physical device has 54 extensions
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
[1] 1352178 floating point exception (core dumped) ./LumosEditor

Could not launch Sandbox on MacOS Catalina due to Vulkan problem

~/Lumos (dev) $ ./bin/Debug/Sandbox
[02:38:25] LUMOS: Lumos Engine - Version 0.2.2
[02:38:25] LUMOS: Initialised JobSystem with [8 cores] [8 threads]
[02:38:25] LUMOS: Initializing System
[02:38:25] LUMOS: Creating window - Title : Sandbox, Width : 1280, Height : 800
[02:38:26] LUMOS: Initialised GLFW version : 3.3.0 Cocoa NSGL EGL OSMesa
[02:38:26] LUMOS: Battery Info - Percentage : 94 , Time Left 9540s , State : On Battery
[02:38:26] LUMOS: Vulkan : 1.0.108
[02:38:26] LUMOS: GPU : AMD Radeon R9 M370X
[02:38:26] LUMOS: Vendor ID : 4098
[02:38:26] LUMOS: Device Type : DISCRETE GPU
[02:38:26] LUMOS: Driver Version : 0.2.1843
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: vkCreateDevice(): Requested feature is not available on this device.
[02:38:26] LUMOS: [VULKAN] VKDevice::Instance()->GetDevice() vkCreateDevice() failed!
Segmentation fault: 11

But all tests passed:

~/Lumos (dev) $ ./bin/Debug/Tests
[02:39:11] LUMOS: Lumos Engine - Version 0.2.2
[02:39:11] LUMOS: Initialised JobSystem with [8 cores] [8 threads]
[02:39:11] LUMOS: Initializing System
[02:39:11] APP: Vector2 Test Passed
[02:39:11] APP: Vector3 Test Passed
[02:39:11] APP: Vector4 Test Passed
[02:39:11] APP: Reference Test Passed
===============================================================================
All tests passed (259 assertions in 5 test cases)

Reproduced on master and dev branch

Lumos not work after compiling, Linux

Linux x86-64

default debug build: Launching bin/Debug-linux-x86_64/LumosEditor result segfault

/Lumos> bin/Debug-linux-x86_64/LumosEditor
[17:24:37] Lumos Engine - Version 0.3.1
[17:24:37] Initialised JobSystem with [4 cores] [3 threads]
[17:24:37] Initialising System
[17:24:37] Loaded Editor Ini file Editor.ini
[17:24:37] VSync : True
[17:24:37] Creating window - Title : Example, Width : 1440, Height : 900
[17:24:37] Initialised GLFW version : 3.3.4 X11 GLX EGL OSMesa clock_gettime evdev
[17:24:37] Vulkan : 1.2.186
[17:24:37] GPU : NVIDIA GeForce GTX 750
[17:24:37] Vendor ID : 4318
[17:24:37] Device Type : DISCRETE GPU
[17:24:37] Driver Version : 495.176.0
[17:24:37] Selected physical device has 107 extensions
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
[17:24:38] ImGui Version : 1.85 WIP
[17:24:38] ImConfig File : Source/Lumos/ImGui/ImConfig.h
[17:24:38] [SceneManager] - Enqueued scene : 2D
[17:24:38] [SceneManager] - Enqueued scene : Physics
[17:24:38] [SceneManager] - Enqueued scene : Terrain
[17:24:38] [SceneManager] - Enqueued scene : 2DTest
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
[17:24:38] Initialised AudioManager - OpenAL Soft
[17:24:38] Initialised ImGui Manager
[17:24:38] DescriptorDesc not found. Index = 0
[17:24:38] [VULKAN] - ERROR : [Validation] Code 0  : Validation Error: [ VUID_Undefined ] Object 0: handle = 0x2a4d850, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x79de34d4 | vkAllocateDescriptorSets: required parameter pAllocateInfo->pSetLayouts specified as NULL.
Aborted (core dumped)

... and look like there are no command line option to select other Vulkan GPU (I have multiple in this system) https://github.com/jmorton06/Lumos/blob/master/Lumos/Source/Lumos/Platform/Vulkan/VKDevice.cpp#L41

./LumosEditor --help or ./LumosEditor -h it prints [17:19:35] Lumos Engine - Version 0.3.1 and freeze

release build has same result: Launching bin/Release-linux-x86_64/LumosEditor result segfault

/Lumos> bin/Release-linux-x86_64> ./LumosEditor
[17:44:42] Lumos Engine - Version 0.3.1
[17:44:42] Initialised JobSystem with [4 cores] [3 threads]
[17:44:42] Initialising System
[17:44:42] Loaded Editor Ini file Editor.ini
[17:44:42] No saved Project file found ExampleProject/Example.lmproj
[17:44:42] [SceneManager] - Enqueued scene : Empty Scene
[17:44:42] Serialising Application NewProject/NewProject.lmproj
[17:44:42] VSync : False
[17:44:42] Creating window - Title : App, Width : 1200, Height : 800
[17:44:42] Initialised GLFW version : 3.3.4 X11 GLX EGL OSMesa clock_gettime evdev
[17:44:42] Vulkan : 1.2.186
[17:44:42] GPU : NVIDIA GeForce GTX 750
[17:44:42] Vendor ID : 4318
[17:44:42] Device Type : DISCRETE GPU
[17:44:42] Driver Version : 495.176.0
[17:44:42] Selected physical device has 107 extensions
[17:44:42] ImGui Version : 1.85 WIP
[17:44:42] ImConfig File : Source/Lumos/ImGui/ImConfig.h
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
[17:44:42] Initialised AudioManager - OpenAL Soft
[17:44:42] Initialised ImGui Manager
[17:44:42] DescriptorDesc not found. Index = 0
Aborted (core dumped)

in OpenGL mode also does not work:

[19:19:05] Lumos Engine - Version 0.3.1
[19:19:05] Initialised JobSystem with [4 cores] [3 threads]
[19:19:05] Initialising System
[19:19:05] Loaded Editor Ini file Editor.ini
[19:19:05] VSync : False
[19:19:05] Creating window - Title : App, Width : 1920, Height : 1023
[19:19:05] Initialised GLFW version : 3.3.4 X11 GLX EGL OSMesa clock_gettime evdev
[19:19:05] ----------------------------------
[19:19:05] [OPENGL] - 
[19:19:05] 4.1.0 NVIDIA 495.44
[19:19:05] NVIDIA Corporation
[19:19:05] NVIDIA GeForce GTX 750/PCIe/SSE2
[19:19:05] ----------------------------------
[19:19:05] [OPENGL] - Registering OpenGL debug callback
Aborted (core dumped)

how can i build with opengl?

cool project, I tried to build for Linux, but it crashes when I start Sandbox, because the vulkan is not initialized, there is a light library reactphysics3d for simulate physics, I would really like to see it in your project

When loading an OBJ with a large index range, I encounter the following error. Could you suggest a solution?

When loading an OBJ with a large index range, I encounter the following error. Could you suggest a solution?

Validation Error: [ VUID-vkCmdDrawIndexed-robustBufferAccess2-07825 ] Object 0: handle = 0xa4324a00000001c5, type = VK_OBJECT_TYPE_BUFFER; | MessageID = 0x41363e42 | vkCmdDrawIndexed(): index size (4) * (firstIndex (0) + indexCount (10000)) + binding offset (0) = an ending offset of 40000 bytes, which is greater than the index buffer size (24000). The Vulkan spec states: If robustBufferAccess2 is not enabled, (indexSize {times} (firstIndex + indexCount) + offset) must be less than or equal to the size of the bound index buffer, with indexSize being based on the type specified by indexType, where the index buffer, indexType, and offset are specified via vkCmdBindIndexBuffer

Discord Server

Seeing how several of the Game Engines on Github now have discord servers, it would be nice to have one for Lumos too.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.