mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-09-10 06:02:40 +00:00
ad2e1cc554
Since the launch of the steam controller I think it's only best to push towards updating to SDL3 allowing for a wider range of controller support I went ahead and started on getting it working. Everything here should be functional, I've personally tested it all on Arch Linux. Still untested on windows, so looking for feedback on that Any feedback and help would be appreciated! Main changes: - Bump everything to SDL3 - Handle SDL3 audio and input - Add steam controller support, including HD Rumble - Improved battery reporting via the status icon by using real % rather than state alone Co-authored-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3952 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: Lizzie <lizzie@eden-emu.dev>
40 lines
1.1 KiB
C++
40 lines
1.1 KiB
C++
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include <memory>
|
|
#include <SDL3/SDL.h>
|
|
#include "core/frontend/emu_window.h"
|
|
#include "yuzu_cmd/emu_window/emu_window_sdl3.h"
|
|
|
|
namespace Core {
|
|
class System;
|
|
}
|
|
|
|
namespace InputCommon {
|
|
class InputSubsystem;
|
|
}
|
|
|
|
class EmuWindow_SDL3_GL final : public EmuWindow_SDL3 {
|
|
public:
|
|
explicit EmuWindow_SDL3_GL(InputCommon::InputSubsystem* input_subsystem_, Core::System& system_,
|
|
bool fullscreen);
|
|
~EmuWindow_SDL3_GL();
|
|
|
|
std::unique_ptr<Core::Frontend::GraphicsContext> CreateSharedContext() const override;
|
|
|
|
private:
|
|
/// Whether the GPU and driver supports the OpenGL extension required
|
|
bool SupportsRequiredGLExtensions();
|
|
|
|
/// The OpenGL context associated with the window
|
|
SDL_GLContext window_context;
|
|
|
|
/// The OpenGL context associated with the core
|
|
std::unique_ptr<Core::Frontend::GraphicsContext> core_context;
|
|
};
|