diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-02 09:28:28 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-02 09:28:28 +0100 |
| commit | 61139c8d9d655e07964d63ec1f5a091a7e8ab7d0 (patch) | |
| tree | 4cf3694702f24e96c1c76a339f7b3e4d4fdf5e70 /src/gpu/gpu.cc | |
| parent | 0b0067cb0a8db5ea5178501a12aacdef436a9845 (diff) | |
refactor(platform): Encapsulate state in PlatformState struct
- Replaced all global static variables in the platform layer with a single PlatformState struct.
- Updated all platform function signatures to accept a pointer to this struct, making the implementation stateless and more modular.
- Refactored main.cc, tests, and tools to instantiate and pass the PlatformState struct.
- This improves code organization and removes scattered global state.
Diffstat (limited to 'src/gpu/gpu.cc')
| -rw-r--r-- | src/gpu/gpu.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/gpu/gpu.cc b/src/gpu/gpu.cc index 17d32ee..cecf018 100644 --- a/src/gpu/gpu.cc +++ b/src/gpu/gpu.cc @@ -310,9 +310,9 @@ static void handle_request_device(WGPURequestDeviceStatus status, #endif /* defined(DEMO_CROSS_COMPILE_WIN32) */ #endif /* !defined(STRIP_ALL) */ -void gpu_init(GLFWwindow* window, int width, int height) { +void gpu_init(PlatformState* platform_state) { g_instance = wgpuCreateInstance(nullptr); - g_surface = platform_create_wgpu_surface(g_instance); + g_surface = platform_create_wgpu_surface(g_instance, platform_state); WGPURequestAdapterOptions adapter_opts = {}; adapter_opts.compatibleSurface = g_surface; @@ -364,13 +364,13 @@ void gpu_init(GLFWwindow* window, int width, int height) { g_config.device = g_device; g_config.format = swap_chain_format; g_config.usage = WGPUTextureUsage_RenderAttachment; - g_config.width = width; - g_config.height = height; + g_config.width = platform_state->width; + g_config.height = platform_state->height; g_config.presentMode = WGPUPresentMode_Fifo; g_config.alphaMode = WGPUCompositeAlphaMode_Opaque; wgpuSurfaceConfigure(g_surface, &g_config); - g_main_sequence.init(g_device, g_queue, g_config.format, width, height); + g_main_sequence.init(g_device, g_queue, g_config.format, platform_state->width, platform_state->height); LoadTimeline(g_main_sequence, g_device, g_queue, g_config.format); } |
