MCPcopy Create free account
hub / github.com/crownengine/crown / init

Function init

3rdparty/bgfx/src/bgfx.cpp:3569–3692  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3567 }
3568
3569 bool init(const Init& _userInit)
3570 {
3571 if (NULL != s_ctx)
3572 {
3573 BX_TRACE("bgfx is already initialized.");
3574 return false;
3575 }
3576
3577 Init init = _userInit;
3578
3579 init.limits.maxEncoders = bx::clamp<uint16_t>(init.limits.maxEncoders, 1, (0 != BGFX_CONFIG_MULTITHREADED) ? 128 : 1);
3580 init.limits.minResourceCbSize = bx::min<uint32_t>(init.limits.minResourceCbSize, BGFX_CONFIG_MIN_RESOURCE_COMMAND_BUFFER_SIZE);
3581
3582 struct ErrorState
3583 {
3584 enum Enum
3585 {
3586 Default,
3587 ContextAllocated,
3588 };
3589 };
3590
3591 ErrorState::Enum errorState = ErrorState::Default;
3592
3593 if (NULL != init.allocator)
3594 {
3595 g_allocator = init.allocator;
3596 }
3597 else
3598 {
3599 bx::DefaultAllocator allocator;
3600 g_allocator =
3601 s_allocatorStub = BX_NEW(&allocator, AllocatorStub);
3602 }
3603
3604 if (NULL != init.callback)
3605 {
3606 g_callback = init.callback;
3607 }
3608 else
3609 {
3610 g_callback =
3611 s_callbackStub = BX_NEW(g_allocator, CallbackStub);
3612 }
3613
3614 bx::memSet(&g_caps, 0, sizeof(g_caps) );
3615 g_caps.limits.maxDrawCalls = BGFX_CONFIG_MAX_DRAW_CALLS;
3616 g_caps.limits.maxBlits = BGFX_CONFIG_MAX_BLIT_ITEMS;
3617 g_caps.limits.maxTextureSize = 0;
3618 g_caps.limits.maxTextureLayers = 1;
3619 g_caps.limits.maxViews = BGFX_CONFIG_MAX_VIEWS;
3620 g_caps.limits.maxFrameBuffers = BGFX_CONFIG_MAX_FRAME_BUFFERS;
3621 g_caps.limits.maxPrograms = BGFX_CONFIG_MAX_PROGRAMS;
3622 g_caps.limits.maxShaders = BGFX_CONFIG_MAX_SHADERS;
3623 g_caps.limits.maxTextures = BGFX_CONFIG_MAX_TEXTURES;
3624 g_caps.limits.maxTextureSamplers = BGFX_CONFIG_MAX_TEXTURE_SAMPLERS;
3625 g_caps.limits.maxComputeBindings = 0;
3626 g_caps.limits.maxVertexLayouts = BGFX_CONFIG_MAX_VERTEX_LAYOUTS;

Callers 3

createMethod · 0.70
CompilerGLSLMethod · 0.50
initMethod · 0.50

Calls 2

memSetFunction · 0.85
initMethod · 0.45

Tested by

no test coverage detected