summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-01-05 04:09:39 -0300
committerGravatar ReinUsesLisp2021-02-13 02:16:19 -0300
commit75ccd9959ca7aa78b71fbb800ed2127d8613e9dc (patch)
tree3b9b5c0779cff69ef135bb3394ae70a0d3a9804d /src/video_core/engines
parenttests/buffer_base: Add cached CPU writes tests (diff)
downloadyuzu-75ccd9959ca7aa78b71fbb800ed2127d8613e9dc.tar.gz
yuzu-75ccd9959ca7aa78b71fbb800ed2127d8613e9dc.tar.xz
yuzu-75ccd9959ca7aa78b71fbb800ed2127d8613e9dc.zip
gpu: Report renderer errors with exceptions
Instead of using a two step initialization to report errors, initialize the GPU renderer and rasterizer on the constructor and report errors through std::runtime_error.
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/fermi_2d.cpp4
-rw-r--r--src/video_core/engines/fermi_2d.h2
-rw-r--r--src/video_core/engines/kepler_compute.cpp4
-rw-r--r--src/video_core/engines/kepler_compute.h2
-rw-r--r--src/video_core/engines/maxwell_3d.cpp4
-rw-r--r--src/video_core/engines/maxwell_3d.h2
6 files changed, 9 insertions, 9 deletions
diff --git a/src/video_core/engines/fermi_2d.cpp b/src/video_core/engines/fermi_2d.cpp
index a01d334ad..0f640fdae 100644
--- a/src/video_core/engines/fermi_2d.cpp
+++ b/src/video_core/engines/fermi_2d.cpp
@@ -18,8 +18,8 @@ Fermi2D::Fermi2D() {
18 18
19Fermi2D::~Fermi2D() = default; 19Fermi2D::~Fermi2D() = default;
20 20
21void Fermi2D::BindRasterizer(VideoCore::RasterizerInterface& rasterizer_) { 21void Fermi2D::BindRasterizer(VideoCore::RasterizerInterface* rasterizer_) {
22 rasterizer = &rasterizer_; 22 rasterizer = rasterizer_;
23} 23}
24 24
25void Fermi2D::CallMethod(u32 method, u32 method_argument, bool is_last_call) { 25void Fermi2D::CallMethod(u32 method, u32 method_argument, bool is_last_call) {
diff --git a/src/video_core/engines/fermi_2d.h b/src/video_core/engines/fermi_2d.h
index 0de3280a2..c808a577d 100644
--- a/src/video_core/engines/fermi_2d.h
+++ b/src/video_core/engines/fermi_2d.h
@@ -38,7 +38,7 @@ public:
38 ~Fermi2D(); 38 ~Fermi2D();
39 39
40 /// Binds a rasterizer to this engine. 40 /// Binds a rasterizer to this engine.
41 void BindRasterizer(VideoCore::RasterizerInterface& rasterizer); 41 void BindRasterizer(VideoCore::RasterizerInterface* rasterizer);
42 42
43 /// Write the value to the register identified by method. 43 /// Write the value to the register identified by method.
44 void CallMethod(u32 method, u32 method_argument, bool is_last_call) override; 44 void CallMethod(u32 method, u32 method_argument, bool is_last_call) override;
diff --git a/src/video_core/engines/kepler_compute.cpp b/src/video_core/engines/kepler_compute.cpp
index ba387506e..ed29fc7ac 100644
--- a/src/video_core/engines/kepler_compute.cpp
+++ b/src/video_core/engines/kepler_compute.cpp
@@ -21,8 +21,8 @@ KeplerCompute::KeplerCompute(Core::System& system_, MemoryManager& memory_manage
21 21
22KeplerCompute::~KeplerCompute() = default; 22KeplerCompute::~KeplerCompute() = default;
23 23
24void KeplerCompute::BindRasterizer(VideoCore::RasterizerInterface& rasterizer_) { 24void KeplerCompute::BindRasterizer(VideoCore::RasterizerInterface* rasterizer_) {
25 rasterizer = &rasterizer_; 25 rasterizer = rasterizer_;
26} 26}
27 27
28void KeplerCompute::CallMethod(u32 method, u32 method_argument, bool is_last_call) { 28void KeplerCompute::CallMethod(u32 method, u32 method_argument, bool is_last_call) {
diff --git a/src/video_core/engines/kepler_compute.h b/src/video_core/engines/kepler_compute.h
index 9f0a7b76d..7c40cba38 100644
--- a/src/video_core/engines/kepler_compute.h
+++ b/src/video_core/engines/kepler_compute.h
@@ -46,7 +46,7 @@ public:
46 ~KeplerCompute(); 46 ~KeplerCompute();
47 47
48 /// Binds a rasterizer to this engine. 48 /// Binds a rasterizer to this engine.
49 void BindRasterizer(VideoCore::RasterizerInterface& rasterizer); 49 void BindRasterizer(VideoCore::RasterizerInterface* rasterizer);
50 50
51 static constexpr std::size_t NumConstBuffers = 8; 51 static constexpr std::size_t NumConstBuffers = 8;
52 52
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp
index 116ad1722..d6ba9da5c 100644
--- a/src/video_core/engines/maxwell_3d.cpp
+++ b/src/video_core/engines/maxwell_3d.cpp
@@ -30,8 +30,8 @@ Maxwell3D::Maxwell3D(Core::System& system_, MemoryManager& memory_manager_)
30 30
31Maxwell3D::~Maxwell3D() = default; 31Maxwell3D::~Maxwell3D() = default;
32 32
33void Maxwell3D::BindRasterizer(VideoCore::RasterizerInterface& rasterizer_) { 33void Maxwell3D::BindRasterizer(VideoCore::RasterizerInterface* rasterizer_) {
34 rasterizer = &rasterizer_; 34 rasterizer = rasterizer_;
35} 35}
36 36
37void Maxwell3D::InitializeRegisterDefaults() { 37void Maxwell3D::InitializeRegisterDefaults() {
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index 002d1b3f9..cc94d2678 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -55,7 +55,7 @@ public:
55 ~Maxwell3D(); 55 ~Maxwell3D();
56 56
57 /// Binds a rasterizer to this engine. 57 /// Binds a rasterizer to this engine.
58 void BindRasterizer(VideoCore::RasterizerInterface& rasterizer); 58 void BindRasterizer(VideoCore::RasterizerInterface* rasterizer);
59 59
60 /// Register structure of the Maxwell3D engine. 60 /// Register structure of the Maxwell3D engine.
61 /// TODO(Subv): This structure will need to be made bigger as more registers are discovered. 61 /// TODO(Subv): This structure will need to be made bigger as more registers are discovered.