early-access version 4163

This commit is contained in:
pineappleEA 2024-02-23 19:55:34 +01:00
parent 5443b3ef42
commit 7c89b1e372
4 changed files with 12 additions and 5 deletions

View file

@ -1,7 +1,7 @@
yuzu emulator early access yuzu emulator early access
============= =============
This is the source code for early-access 4162. This is the source code for early-access 4163.
## Legal Notice ## Legal Notice

View file

@ -67,11 +67,15 @@ public:
oboe::AudioStreamBuilder builder; oboe::AudioStreamBuilder builder;
const auto result = ConfigureBuilder(builder, direction)->openStream(temp_stream); const auto result = ConfigureBuilder(builder, direction)->openStream(temp_stream);
ASSERT(result == oboe::Result::OK); if (result == oboe::Result::OK) {
return temp_stream->getChannelCount() >= 6 ? 6 : 2; return temp_stream->getChannelCount() >= 6 ? 6 : 2;
} }
LOG_ERROR(Audio_Sink, "Failed to open {} stream. Using default channel count 2",
direction == oboe::Direction::Output ? "output" : "input");
return 2;
}
protected: protected:
oboe::DataCallbackResult onAudioReady(oboe::AudioStream*, void* audio_data, oboe::DataCallbackResult onAudioReady(oboe::AudioStream*, void* audio_data,
s32 num_buffer_frames) override { s32 num_buffer_frames) override {

View file

@ -10,6 +10,8 @@
#include "common/polyfill_thread.h" #include "common/polyfill_thread.h"
#include "common/thread.h" #include "common/thread.h"
#include "core/hle/service/vi/vsync_manager.h"
namespace Core { namespace Core {
class System; class System;
} }
@ -26,7 +28,6 @@ namespace Service::VI {
class Container; class Container;
class DisplayList; class DisplayList;
class VsyncManager;
class Conductor { class Conductor {
public: public:

View file

@ -125,9 +125,11 @@ VkRect2D GetScissorState(const Maxwell& regs, size_t index, u32 up_scale = 1, u3
return value < 0 ? std::min<s32>(converted_value - acumm, -1) return value < 0 ? std::min<s32>(converted_value - acumm, -1)
: std::max<s32>(converted_value + acumm, 1); : std::max<s32>(converted_value + acumm, 1);
}; };
const bool lower_left = regs.window_origin.mode != Maxwell::WindowOrigin::Mode::UpperLeft;
const s32 y_adj = lower_left ? scale_up(regs.surface_clip.height - (src.max_y - src.min_y)) : 0;
if (src.enable) { if (src.enable) {
scissor.offset.x = scale_up(static_cast<s32>(src.min_x)); scissor.offset.x = scale_up(static_cast<s32>(src.min_x));
scissor.offset.y = scale_up(static_cast<s32>(src.min_y)); scissor.offset.y = scale_up(static_cast<s32>(src.min_y)) + y_adj;
scissor.extent.width = scale_up(src.max_x - src.min_x); scissor.extent.width = scale_up(src.max_x - src.min_x);
scissor.extent.height = scale_up(src.max_y - src.min_y); scissor.extent.height = scale_up(src.max_y - src.min_y);
} else { } else {