summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/core.cpp1
-rw-r--r--src/core/hle/service/sm/controller.cpp2
-rw-r--r--src/core/hle/service/sm/controller.h2
-rw-r--r--src/core/hle/service/sm/sm.cpp1
-rw-r--r--src/core/hle/service/sm/sm.h1
-rw-r--r--src/video_core/CMakeLists.txt1
-rw-r--r--src/video_core/renderer_opengl/gl_buffer_cache.cpp6
-rw-r--r--src/video_core/renderer_opengl/gl_buffer_cache.h12
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp6
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp6
-rw-r--r--src/yuzu/bootmanager.cpp1
-rw-r--r--src/yuzu_cmd/emu_window/emu_window_sdl2.cpp1
12 files changed, 25 insertions, 15 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index cbab80881..bf39ad689 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -24,7 +24,6 @@
24#include "core/hle/kernel/scheduler.h" 24#include "core/hle/kernel/scheduler.h"
25#include "core/hle/kernel/thread.h" 25#include "core/hle/kernel/thread.h"
26#include "core/hle/service/service.h" 26#include "core/hle/service/service.h"
27#include "core/hle/service/sm/controller.h"
28#include "core/hle/service/sm/sm.h" 27#include "core/hle/service/sm/sm.h"
29#include "core/loader/loader.h" 28#include "core/loader/loader.h"
30#include "core/perf_stats.h" 29#include "core/perf_stats.h"
diff --git a/src/core/hle/service/sm/controller.cpp b/src/core/hle/service/sm/controller.cpp
index 1cef73216..cdf328a26 100644
--- a/src/core/hle/service/sm/controller.cpp
+++ b/src/core/hle/service/sm/controller.cpp
@@ -57,4 +57,6 @@ Controller::Controller() : ServiceFramework("IpcController") {
57 RegisterHandlers(functions); 57 RegisterHandlers(functions);
58} 58}
59 59
60Controller::~Controller() = default;
61
60} // namespace Service::SM 62} // namespace Service::SM
diff --git a/src/core/hle/service/sm/controller.h b/src/core/hle/service/sm/controller.h
index a4de52cd2..dc66c9e37 100644
--- a/src/core/hle/service/sm/controller.h
+++ b/src/core/hle/service/sm/controller.h
@@ -11,7 +11,7 @@ namespace Service::SM {
11class Controller final : public ServiceFramework<Controller> { 11class Controller final : public ServiceFramework<Controller> {
12public: 12public:
13 Controller(); 13 Controller();
14 ~Controller() = default; 14 ~Controller() override;
15 15
16private: 16private:
17 void ConvertSessionToDomain(Kernel::HLERequestContext& ctx); 17 void ConvertSessionToDomain(Kernel::HLERequestContext& ctx);
diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp
index b240d7eed..18d1641b8 100644
--- a/src/core/hle/service/sm/sm.cpp
+++ b/src/core/hle/service/sm/sm.cpp
@@ -15,6 +15,7 @@
15 15
16namespace Service::SM { 16namespace Service::SM {
17 17
18ServiceManager::ServiceManager() = default;
18ServiceManager::~ServiceManager() = default; 19ServiceManager::~ServiceManager() = default;
19 20
20void ServiceManager::InvokeControlRequest(Kernel::HLERequestContext& context) { 21void ServiceManager::InvokeControlRequest(Kernel::HLERequestContext& context) {
diff --git a/src/core/hle/service/sm/sm.h b/src/core/hle/service/sm/sm.h
index e8ea62f08..a58d922a0 100644
--- a/src/core/hle/service/sm/sm.h
+++ b/src/core/hle/service/sm/sm.h
@@ -46,6 +46,7 @@ class ServiceManager {
46public: 46public:
47 static void InstallInterfaces(std::shared_ptr<ServiceManager> self); 47 static void InstallInterfaces(std::shared_ptr<ServiceManager> self);
48 48
49 ServiceManager();
49 ~ServiceManager(); 50 ~ServiceManager();
50 51
51 ResultVal<Kernel::SharedPtr<Kernel::ServerPort>> RegisterService(std::string name, 52 ResultVal<Kernel::SharedPtr<Kernel::ServerPort>> RegisterService(std::string name,
diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt
index 1982b76c4..65b5f57c3 100644
--- a/src/video_core/CMakeLists.txt
+++ b/src/video_core/CMakeLists.txt
@@ -23,6 +23,7 @@ add_library(video_core STATIC
23 renderer_base.cpp 23 renderer_base.cpp
24 renderer_base.h 24 renderer_base.h
25 renderer_opengl/gl_buffer_cache.cpp 25 renderer_opengl/gl_buffer_cache.cpp
26 renderer_opengl/gl_buffer_cache.h
26 renderer_opengl/gl_rasterizer.cpp 27 renderer_opengl/gl_rasterizer.cpp
27 renderer_opengl/gl_rasterizer.h 28 renderer_opengl/gl_rasterizer.h
28 renderer_opengl/gl_rasterizer_cache.cpp 29 renderer_opengl/gl_rasterizer_cache.cpp
diff --git a/src/video_core/renderer_opengl/gl_buffer_cache.cpp b/src/video_core/renderer_opengl/gl_buffer_cache.cpp
index c85fbd306..0b5d18bcb 100644
--- a/src/video_core/renderer_opengl/gl_buffer_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_buffer_cache.cpp
@@ -2,8 +2,10 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <cstring>
6#include <memory>
7
5#include "common/alignment.h" 8#include "common/alignment.h"
6#include "common/assert.h"
7#include "core/core.h" 9#include "core/core.h"
8#include "core/memory.h" 10#include "core/memory.h"
9#include "video_core/renderer_opengl/gl_buffer_cache.h" 11#include "video_core/renderer_opengl/gl_buffer_cache.h"
@@ -75,7 +77,7 @@ void OGLBufferCache::Unmap() {
75 stream_buffer.Unmap(buffer_offset - buffer_offset_base); 77 stream_buffer.Unmap(buffer_offset - buffer_offset_base);
76} 78}
77 79
78GLuint OGLBufferCache::GetHandle() { 80GLuint OGLBufferCache::GetHandle() const {
79 return stream_buffer.GetHandle(); 81 return stream_buffer.GetHandle();
80} 82}
81 83
diff --git a/src/video_core/renderer_opengl/gl_buffer_cache.h b/src/video_core/renderer_opengl/gl_buffer_cache.h
index 9c7ad27e6..6da862902 100644
--- a/src/video_core/renderer_opengl/gl_buffer_cache.h
+++ b/src/video_core/renderer_opengl/gl_buffer_cache.h
@@ -4,8 +4,8 @@
4 4
5#pragma once 5#pragma once
6 6
7#include <cstddef>
7#include <memory> 8#include <memory>
8#include <unordered_map>
9 9
10#include "common/common_types.h" 10#include "common/common_types.h"
11#include "video_core/rasterizer_cache.h" 11#include "video_core/rasterizer_cache.h"
@@ -31,7 +31,7 @@ struct CachedBufferEntry final {
31 31
32class OGLBufferCache final : public RasterizerCache<std::shared_ptr<CachedBufferEntry>> { 32class OGLBufferCache final : public RasterizerCache<std::shared_ptr<CachedBufferEntry>> {
33public: 33public:
34 OGLBufferCache(size_t size); 34 explicit OGLBufferCache(size_t size);
35 35
36 GLintptr UploadMemory(Tegra::GPUVAddr gpu_addr, size_t size, size_t alignment = 4, 36 GLintptr UploadMemory(Tegra::GPUVAddr gpu_addr, size_t size, size_t alignment = 4,
37 bool cache = true); 37 bool cache = true);
@@ -41,7 +41,7 @@ public:
41 void Map(size_t max_size); 41 void Map(size_t max_size);
42 void Unmap(); 42 void Unmap();
43 43
44 GLuint GetHandle(); 44 GLuint GetHandle() const;
45 45
46protected: 46protected:
47 void AlignBuffer(size_t alignment); 47 void AlignBuffer(size_t alignment);
@@ -49,9 +49,9 @@ protected:
49private: 49private:
50 OGLStreamBuffer stream_buffer; 50 OGLStreamBuffer stream_buffer;
51 51
52 u8* buffer_ptr; 52 u8* buffer_ptr = nullptr;
53 GLintptr buffer_offset; 53 GLintptr buffer_offset = 0;
54 GLintptr buffer_offset_base; 54 GLintptr buffer_offset_base = 0;
55}; 55};
56 56
57} // namespace OpenGL 57} // namespace OpenGL
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 5d493a2b2..6e89fa6e3 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -237,6 +237,8 @@ void RasterizerOpenGL::SetupShaders() {
237 } 237 }
238 } 238 }
239 239
240 state.Apply();
241
240 shader_program_manager->UseTrivialGeometryShader(); 242 shader_program_manager->UseTrivialGeometryShader();
241} 243}
242 244
@@ -666,8 +668,6 @@ u32 RasterizerOpenGL::SetupConstBuffers(Maxwell::ShaderStage stage, Shader& shad
666 current_bindpoint + bindpoint); 668 current_bindpoint + bindpoint);
667 } 669 }
668 670
669 state.Apply();
670
671 return current_bindpoint + static_cast<u32>(entries.size()); 671 return current_bindpoint + static_cast<u32>(entries.size());
672} 672}
673 673
@@ -714,8 +714,6 @@ u32 RasterizerOpenGL::SetupTextures(Maxwell::ShaderStage stage, Shader& shader,
714 } 714 }
715 } 715 }
716 716
717 state.Apply();
718
719 return current_unit + static_cast<u32>(entries.size()); 717 return current_unit + static_cast<u32>(entries.size());
720} 718}
721 719
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index 781ddb073..841647ebe 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -2197,11 +2197,15 @@ private:
2197 case OpCode::Id::IPA: { 2197 case OpCode::Id::IPA: {
2198 const auto& attribute = instr.attribute.fmt28; 2198 const auto& attribute = instr.attribute.fmt28;
2199 const auto& reg = instr.gpr0; 2199 const auto& reg = instr.gpr0;
2200 ASSERT_MSG(instr.ipa.saturate == 0, "IPA saturate not implemented"); 2200
2201 Tegra::Shader::IpaMode input_mode{instr.ipa.interp_mode.Value(), 2201 Tegra::Shader::IpaMode input_mode{instr.ipa.interp_mode.Value(),
2202 instr.ipa.sample_mode.Value()}; 2202 instr.ipa.sample_mode.Value()};
2203 regs.SetRegisterToInputAttibute(reg, attribute.element, attribute.index, 2203 regs.SetRegisterToInputAttibute(reg, attribute.element, attribute.index,
2204 input_mode); 2204 input_mode);
2205
2206 if (instr.ipa.saturate) {
2207 regs.SetRegisterToFloat(reg, 0, regs.GetRegisterAsFloat(reg), 1, 1, true);
2208 }
2205 break; 2209 break;
2206 } 2210 }
2207 case OpCode::Id::SSY: { 2211 case OpCode::Id::SSY: {
diff --git a/src/yuzu/bootmanager.cpp b/src/yuzu/bootmanager.cpp
index 159b2c32b..4a60f450a 100644
--- a/src/yuzu/bootmanager.cpp
+++ b/src/yuzu/bootmanager.cpp
@@ -256,6 +256,7 @@ void GRenderWindow::InitRenderTarget() {
256 QGLFormat fmt; 256 QGLFormat fmt;
257 fmt.setVersion(3, 3); 257 fmt.setVersion(3, 3);
258 fmt.setProfile(QGLFormat::CoreProfile); 258 fmt.setProfile(QGLFormat::CoreProfile);
259 fmt.setSwapInterval(false);
259 260
260 // Requests a forward-compatible context, which is required to get a 3.2+ context on OS X 261 // Requests a forward-compatible context, which is required to get a 3.2+ context on OS X
261 fmt.setOption(QGL::NoDeprecatedFunctions); 262 fmt.setOption(QGL::NoDeprecatedFunctions);
diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
index 351dd9225..e1f269d31 100644
--- a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
+++ b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
@@ -166,6 +166,7 @@ EmuWindow_SDL2::EmuWindow_SDL2(bool fullscreen) {
166 OnResize(); 166 OnResize();
167 OnMinimalClientAreaChangeRequest(GetActiveConfig().min_client_area_size); 167 OnMinimalClientAreaChangeRequest(GetActiveConfig().min_client_area_size);
168 SDL_PumpEvents(); 168 SDL_PumpEvents();
169 SDL_GL_SetSwapInterval(false);
169 LOG_INFO(Frontend, "yuzu Version: {} | {}-{}", Common::g_build_name, Common::g_scm_branch, 170 LOG_INFO(Frontend, "yuzu Version: {} | {}-{}", Common::g_build_name, Common::g_scm_branch,
170 Common::g_scm_desc); 171 Common::g_scm_desc);
171 172