Add scope acquire context to simplify MakeCurrent and DoneCurrent calls
This commit is contained in:
parent
4f19d380f5
commit
db7a627a2e
|
@ -106,6 +106,8 @@ add_library(core STATIC
|
||||||
frontend/input.h
|
frontend/input.h
|
||||||
frontend/mic.h
|
frontend/mic.h
|
||||||
frontend/mic.cpp
|
frontend/mic.cpp
|
||||||
|
frontend/scope_acquire_context.cpp
|
||||||
|
frontend/scope_acquire_context.h
|
||||||
gdbstub/gdbstub.cpp
|
gdbstub/gdbstub.cpp
|
||||||
gdbstub/gdbstub.h
|
gdbstub/gdbstub.h
|
||||||
hle/applets/applet.cpp
|
hle/applets/applet.cpp
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
// Copyright 2019 yuzu Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "core/frontend/emu_window.h"
|
||||||
|
#include "core/frontend/scope_acquire_context.h"
|
||||||
|
|
||||||
|
namespace Frontend {
|
||||||
|
|
||||||
|
ScopeAcquireContext::ScopeAcquireContext(Frontend::GraphicsContext& context) : context{context} {
|
||||||
|
context.MakeCurrent();
|
||||||
|
}
|
||||||
|
ScopeAcquireContext::~ScopeAcquireContext() {
|
||||||
|
context.DoneCurrent();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Frontend
|
|
@ -0,0 +1,23 @@
|
||||||
|
// Copyright 2019 yuzu Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "common/common_types.h"
|
||||||
|
|
||||||
|
namespace Frontend {
|
||||||
|
|
||||||
|
class GraphicsContext;
|
||||||
|
|
||||||
|
/// Helper class to acquire/release window context within a given scope
|
||||||
|
class ScopeAcquireContext : NonCopyable {
|
||||||
|
public:
|
||||||
|
explicit ScopeAcquireContext(Frontend::GraphicsContext& context);
|
||||||
|
~ScopeAcquireContext();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Frontend::GraphicsContext& context;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Frontend
|
Reference in New Issue