summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/hle/service/gsp_gpu.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/hle/service/gsp_gpu.cpp b/src/core/hle/service/gsp_gpu.cpp
index 9fb4962d8..d254fdd2e 100644
--- a/src/core/hle/service/gsp_gpu.cpp
+++ b/src/core/hle/service/gsp_gpu.cpp
@@ -376,7 +376,14 @@ void SignalInterrupt(InterruptId interrupt_id) {
if (!gpu_right_acquired) {
return;
}
-
+ if (nullptr == g_interrupt_event) {
+ LOG_WARNING(Service_GSP, "cannot synchronize until GSP event has been created!");
+ return;
+ }
+ if (nullptr == g_shared_memory) {
+ LOG_WARNING(Service_GSP, "cannot synchronize until GSP shared memory has been created!");
+ return;
+ }
for (int thread_id = 0; thread_id < 0x4; ++thread_id) {
InterruptRelayQueue* interrupt_relay_queue = GetInterruptRelayQueue(thread_id);
u8 next = interrupt_relay_queue->index;