early-access version 2671
This commit is contained in:
parent
915c2ef167
commit
583a04f142
@ -1,7 +1,7 @@
|
|||||||
yuzu emulator early access
|
yuzu emulator early access
|
||||||
=============
|
=============
|
||||||
|
|
||||||
This is the source code for early-access 2670.
|
This is the source code for early-access 2671.
|
||||||
|
|
||||||
## Legal Notice
|
## Legal Notice
|
||||||
|
|
||||||
|
@ -26,6 +26,10 @@ void RendererBase::UpdateCurrentFramebufferLayout() {
|
|||||||
render_window.UpdateCurrentFramebufferLayout(layout.width, layout.height);
|
render_window.UpdateCurrentFramebufferLayout(layout.width, layout.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool RendererBase::IsScreenshotPending() const {
|
||||||
|
return renderer_settings.screenshot_requested;
|
||||||
|
}
|
||||||
|
|
||||||
void RendererBase::RequestScreenshot(void* data, std::function<void(bool)> callback,
|
void RendererBase::RequestScreenshot(void* data, std::function<void(bool)> callback,
|
||||||
const Layout::FramebufferLayout& layout) {
|
const Layout::FramebufferLayout& layout) {
|
||||||
if (renderer_settings.screenshot_requested) {
|
if (renderer_settings.screenshot_requested) {
|
||||||
|
@ -83,6 +83,9 @@ public:
|
|||||||
/// Refreshes the settings common to all renderers
|
/// Refreshes the settings common to all renderers
|
||||||
void RefreshBaseSettings();
|
void RefreshBaseSettings();
|
||||||
|
|
||||||
|
/// Returns true if a screenshot is being processed
|
||||||
|
bool IsScreenshotPending() const;
|
||||||
|
|
||||||
/// Request a screenshot of the next frame
|
/// Request a screenshot of the next frame
|
||||||
void RequestScreenshot(void* data, std::function<void(bool)> callback,
|
void RequestScreenshot(void* data, std::function<void(bool)> callback,
|
||||||
const Layout::FramebufferLayout& layout);
|
const Layout::FramebufferLayout& layout);
|
||||||
|
@ -933,6 +933,11 @@ void GRenderWindow::CaptureScreenshot(const QString& screenshot_path) {
|
|||||||
auto& renderer = system.Renderer();
|
auto& renderer = system.Renderer();
|
||||||
const f32 res_scale = Settings::values.resolution_info.up_factor;
|
const f32 res_scale = Settings::values.resolution_info.up_factor;
|
||||||
|
|
||||||
|
if (renderer.IsScreenshotPending()) {
|
||||||
|
LOG_ERROR(Render, "A screenshot is already requested or in progress, ignoring the request");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const Layout::FramebufferLayout layout{Layout::FrameLayoutFromResolutionScale(res_scale)};
|
const Layout::FramebufferLayout layout{Layout::FrameLayoutFromResolutionScale(res_scale)};
|
||||||
screenshot_image = QImage(QSize(layout.width, layout.height), QImage::Format_RGB32);
|
screenshot_image = QImage(QSize(layout.width, layout.height), QImage::Format_RGB32);
|
||||||
renderer.RequestScreenshot(
|
renderer.RequestScreenshot(
|
||||||
|
Loading…
Reference in New Issue
Block a user