aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xREADME.md2
-rwxr-xr-xsrc/audio_core/sink/oboe_sink.cpp8
-rwxr-xr-xsrc/core/hle/service/vi/conductor.h3
-rwxr-xr-xsrc/video_core/renderer_vulkan/vk_rasterizer.cpp4
4 files changed, 12 insertions, 5 deletions
diff --git a/README.md b/README.md
index 18f973c4c..c14f3ad71 100755
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
1yuzu emulator early access 1yuzu emulator early access
2============= 2=============
3 3
4This is the source code for early-access 4162. 4This is the source code for early-access 4163.
5 5
6## Legal Notice 6## Legal Notice
7 7
diff --git a/src/audio_core/sink/oboe_sink.cpp b/src/audio_core/sink/oboe_sink.cpp
index e61841172..466a9cc8e 100755
--- a/src/audio_core/sink/oboe_sink.cpp
+++ b/src/audio_core/sink/oboe_sink.cpp
@@ -67,9 +67,13 @@ public:
67 oboe::AudioStreamBuilder builder; 67 oboe::AudioStreamBuilder builder;
68 68
69 const auto result = ConfigureBuilder(builder, direction)->openStream(temp_stream); 69 const auto result = ConfigureBuilder(builder, direction)->openStream(temp_stream);
70 ASSERT(result == oboe::Result::OK); 70 if (result == oboe::Result::OK) {
71 return temp_stream->getChannelCount() >= 6 ? 6 : 2;
72 }
71 73
72 return temp_stream->getChannelCount() >= 6 ? 6 : 2; 74 LOG_ERROR(Audio_Sink, "Failed to open {} stream. Using default channel count 2",
75 direction == oboe::Direction::Output ? "output" : "input");
76 return 2;
73 } 77 }
74 78
75protected: 79protected:
diff --git a/src/core/hle/service/vi/conductor.h b/src/core/hle/service/vi/conductor.h
index 52e3595d2..6dd105dd4 100755
--- a/src/core/hle/service/vi/conductor.h
+++ b/src/core/hle/service/vi/conductor.h
@@ -10,6 +10,8 @@
10#include "common/polyfill_thread.h" 10#include "common/polyfill_thread.h"
11#include "common/thread.h" 11#include "common/thread.h"
12 12
13#include "core/hle/service/vi/vsync_manager.h"
14
13namespace Core { 15namespace Core {
14class System; 16class System;
15} 17}
@@ -26,7 +28,6 @@ namespace Service::VI {
26 28
27class Container; 29class Container;
28class DisplayList; 30class DisplayList;
29class VsyncManager;
30 31
31class Conductor { 32class Conductor {
32public: 33public:
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index b11cf9acd..90b91f0be 100755
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -125,9 +125,11 @@ VkRect2D GetScissorState(const Maxwell& regs, size_t index, u32 up_scale = 1, u3
125 return value < 0 ? std::min<s32>(converted_value - acumm, -1) 125 return value < 0 ? std::min<s32>(converted_value - acumm, -1)
126 : std::max<s32>(converted_value + acumm, 1); 126 : std::max<s32>(converted_value + acumm, 1);
127 }; 127 };
128 const bool lower_left = regs.window_origin.mode != Maxwell::WindowOrigin::Mode::UpperLeft;
129 const s32 y_adj = lower_left ? scale_up(regs.surface_clip.height - (src.max_y - src.min_y)) : 0;
128 if (src.enable) { 130 if (src.enable) {
129 scissor.offset.x = scale_up(static_cast<s32>(src.min_x)); 131 scissor.offset.x = scale_up(static_cast<s32>(src.min_x));
130 scissor.offset.y = scale_up(static_cast<s32>(src.min_y)); 132 scissor.offset.y = scale_up(static_cast<s32>(src.min_y)) + y_adj;
131 scissor.extent.width = scale_up(src.max_x - src.min_x); 133 scissor.extent.width = scale_up(src.max_x - src.min_x);
132 scissor.extent.height = scale_up(src.max_y - src.min_y); 134 scissor.extent.height = scale_up(src.max_y - src.min_y);
133 } else { 135 } else {