diff options
| author | Scott Mansell <phiren@gmail.com> | 2023-01-28 14:53:19 +1300 |
|---|---|---|
| committer | Scott Mansell <phiren@gmail.com> | 2023-01-31 19:41:23 +1300 |
| commit | 58b70b2fb2abac12dddd947a69f7fa5b41b1a8b7 (patch) | |
| tree | f053add433fb414fd60cf74f24641d001c0bf664 /Source/Core/VideoBackends | |
| parent | d37f83ffeba218c6ef94b78532aed50b1ebbc4a4 (diff) | |
Don't set common globals from Video Backends
Diffstat (limited to 'Source/Core/VideoBackends')
| -rw-r--r-- | Source/Core/VideoBackends/Null/NullBackend.cpp | 11 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/OGL/OGLMain.cpp | 13 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/OGL/OGLPerfQuery.cpp | 3 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/OGL/OGLPerfQuery.h | 2 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/Software/SWmain.cpp | 12 |
5 files changed, 15 insertions, 26 deletions
diff --git a/Source/Core/VideoBackends/Null/NullBackend.cpp b/Source/Core/VideoBackends/Null/NullBackend.cpp index b90363818e..900a911699 100644 --- a/Source/Core/VideoBackends/Null/NullBackend.cpp +++ b/Source/Core/VideoBackends/Null/NullBackend.cpp @@ -71,14 +71,9 @@ void VideoBackend::InitBackendInfo() bool VideoBackend::Initialize(const WindowSystemInfo& wsi) { - g_gfx = std::make_unique<NullGfx>(); - g_renderer = std::make_unique<NullRenderer>(); - g_bounding_box = std::make_unique<NullBoundingBox>(); - g_vertex_manager = std::make_unique<VertexManager>(); - g_perf_query = std::make_unique<PerfQuery>(); - - InitializeShared(); - return true; + return InitializeShared(std::make_unique<NullGfx>(), std::make_unique<VertexManager>(), + std::make_unique<PerfQuery>(), std::make_unique<NullBoundingBox>(), + std::make_unique<NullRenderer>(), std::make_unique<TextureCache>()); } void VideoBackend::Shutdown() diff --git a/Source/Core/VideoBackends/OGL/OGLMain.cpp b/Source/Core/VideoBackends/OGL/OGLMain.cpp index a36d9f99a4..c47b94ceb8 100644 --- a/Source/Core/VideoBackends/OGL/OGLMain.cpp +++ b/Source/Core/VideoBackends/OGL/OGLMain.cpp @@ -187,17 +187,16 @@ bool VideoBackend::Initialize(const WindowSystemInfo& wsi) if (!InitializeGLExtensions(main_gl_context.get()) || !FillBackendInfo()) return false; - g_gfx = std::make_unique<OGLGfx>(std::move(main_gl_context), wsi.render_surface_scale); + auto gfx = std::make_unique<OGLGfx>(std::move(main_gl_context), wsi.render_surface_scale); ProgramShaderCache::Init(); - - g_vertex_manager = std::make_unique<VertexManager>(); - g_perf_query = GetPerfQuery(); g_sampler_cache = std::make_unique<SamplerCache>(); - g_bounding_box = std::make_unique<OGLBoundingBox>(); - InitializeShared(); + auto vertex_manager = std::make_unique<VertexManager>(); + auto perf_query = GetPerfQuery(gfx->IsGLES()); + auto bounding_box = std::make_unique<OGLBoundingBox>(); - return true; + return InitializeShared(std::move(gfx), std::move(vertex_manager), std::move(perf_query), + std::move(bounding_box)); } void VideoBackend::Shutdown() diff --git a/Source/Core/VideoBackends/OGL/OGLPerfQuery.cpp b/Source/Core/VideoBackends/OGL/OGLPerfQuery.cpp index 00816b679d..cae5f71297 100644 --- a/Source/Core/VideoBackends/OGL/OGLPerfQuery.cpp +++ b/Source/Core/VideoBackends/OGL/OGLPerfQuery.cpp @@ -15,9 +15,8 @@ namespace OGL { -std::unique_ptr<PerfQueryBase> GetPerfQuery() +std::unique_ptr<PerfQueryBase> GetPerfQuery(bool is_gles) { - const bool is_gles = static_cast<OGLGfx*>(g_gfx.get())->IsGLES(); if (is_gles && GLExtensions::Supports("GL_NV_occlusion_query_samples")) return std::make_unique<PerfQueryGLESNV>(); else if (is_gles) diff --git a/Source/Core/VideoBackends/OGL/OGLPerfQuery.h b/Source/Core/VideoBackends/OGL/OGLPerfQuery.h index 8ca2bd4334..f593ab5447 100644 --- a/Source/Core/VideoBackends/OGL/OGLPerfQuery.h +++ b/Source/Core/VideoBackends/OGL/OGLPerfQuery.h @@ -12,7 +12,7 @@ namespace OGL { -std::unique_ptr<PerfQueryBase> GetPerfQuery(); +std::unique_ptr<PerfQueryBase> GetPerfQuery(bool is_gles); class PerfQuery : public PerfQueryBase { diff --git a/Source/Core/VideoBackends/Software/SWmain.cpp b/Source/Core/VideoBackends/Software/SWmain.cpp index 46101afe77..8703ea4b4d 100644 --- a/Source/Core/VideoBackends/Software/SWmain.cpp +++ b/Source/Core/VideoBackends/Software/SWmain.cpp @@ -106,14 +106,10 @@ bool VideoSoftware::Initialize(const WindowSystemInfo& wsi) Clipper::Init(); Rasterizer::Init(); - g_gfx = std::make_unique<SWGfx>(std::move(window)); - g_bounding_box = std::make_unique<SWBoundingBox>(); - g_vertex_manager = std::make_unique<SWVertexLoader>(); - g_perf_query = std::make_unique<PerfQuery>(); - - InitializeShared(); - - return true; + return InitializeShared(std::make_unique<SWGfx>(std::move(window)), + std::make_unique<SWVertexLoader>(), std::make_unique<PerfQuery>(), + std::make_unique<SWBoundingBox>(), std::make_unique<SWRenderer>(), + std::make_unique<TextureCache>()); } void VideoSoftware::Shutdown() |
