MCPcopy Create free account
hub / github.com/defold/defold / EngineCreate

Function EngineCreate

engine/graphics/src/test/test_app_graphics.cpp:790–851  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

788}
789
790static void* EngineCreate(int argc, char** argv)
791{
792 EngineCtx* engine = &g_EngineCtx;
793 engine->m_Window = dmPlatform::NewWindow();
794
795 WindowCreateParams window_params;
796 WindowCreateParamsInitialize(&window_params);
797 window_params.m_Width = 512;
798 window_params.m_Height = 512;
799 window_params.m_Title = "Graphics Test App";
800 window_params.m_GraphicsApi = WINDOW_GRAPHICS_API_VULKAN;
801 window_params.m_CloseCallback = OnWindowClose;
802 window_params.m_CloseCallbackUserData = (void*) engine;
803
804 if (dmGraphics::GetInstalledAdapterFamily() == dmGraphics::ADAPTER_FAMILY_OPENGL)
805 {
806 window_params.m_GraphicsApi = WINDOW_GRAPHICS_API_OPENGL;
807 }
808 else if (dmGraphics::GetInstalledAdapterFamily() == dmGraphics::ADAPTER_FAMILY_OPENGLES)
809 {
810 window_params.m_GraphicsApi = WINDOW_GRAPHICS_API_OPENGLES;
811 }
812
813 WindowResult wr = dmPlatform::OpenWindow(engine->m_Window, window_params);
814 if (WINDOW_RESULT_OK != wr)
815 {
816 dmLogError("Failed to open window: %d", wr);
817 return 0;
818 }
819
820 dmPlatform::ShowWindow(engine->m_Window);
821
822 JobSystemCreateParams job_thread_create_param = {0};
823 job_thread_create_param.m_ThreadCount = 1;
824 engine->m_JobContext = JobSystemCreate(&job_thread_create_param);
825
826 dmGraphics::ContextParams graphics_context_params = {};
827 graphics_context_params.m_DefaultTextureMinFilter = dmGraphics::TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST;
828 graphics_context_params.m_DefaultTextureMagFilter = dmGraphics::TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST;
829 graphics_context_params.m_VerifyGraphicsCalls = 1;
830 graphics_context_params.m_UseValidationLayers = 1;
831 graphics_context_params.m_Window = engine->m_Window;
832 graphics_context_params.m_Width = 512;
833 graphics_context_params.m_Height = 512;
834 graphics_context_params.m_JobContext = engine->m_JobContext;
835
836 engine->m_GraphicsContext = dmGraphics::NewContext(graphics_context_params);
837
838 //engine->m_Test = new ComputeTest();
839 //engine->m_Test = new StorageBufferTest();
840 //engine->m_Test = new ReadPixelsTest();
841 //engine->m_Test = new AsyncTextureUploadTest();
842 //engine->m_Test = new ClearBackbufferTest();
843 engine->m_Test = new UniformBufferTest();
844 engine->m_Test->Initialize(engine);
845
846 engine->m_WasCreated++;
847 engine->m_Running = 1;

Callers

nothing calls this directly

Calls 9

JobSystemCreateFunction · 0.85
NewWindowFunction · 0.50
OpenWindowFunction · 0.50
ShowWindowFunction · 0.50
NewContextFunction · 0.50
GetMonotonicTimeFunction · 0.50
InitializeMethod · 0.45

Tested by

no test coverage detected