| 788 | } |
| 789 | |
| 790 | static 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; |
nothing calls this directly
no test coverage detected