gsp_gpu: Resolve sign conversion warnings

Resolves numerous warnings about signed/unsigned conversion warnings.
This commit is contained in:
Lioncash 2020-06-05 21:09:16 -04:00
parent 37861326ce
commit a17027783f
2 changed files with 12 additions and 10 deletions

View file

@ -109,9 +109,10 @@ static inline InterruptRelayQueue* GetInterruptRelayQueue(
}
void GSP_GPU::ClientDisconnected(std::shared_ptr<Kernel::ServerSession> server_session) {
SessionData* session_data = GetSessionData(server_session);
if (active_thread_id == session_data->thread_id)
const SessionData* session_data = GetSessionData(server_session);
if (active_thread_id == session_data->thread_id) {
ReleaseRight(session_data);
}
SessionRequestHandler::ClientDisconnected(server_session);
}
@ -470,8 +471,9 @@ void GSP_GPU::SignalInterrupt(InterruptId interrupt_id) {
}
// For normal interrupts, don't do anything if no process has acquired the GPU right.
if (active_thread_id == -1)
if (active_thread_id == UINT32_MAX) {
return;
}
SignalInterruptForThread(interrupt_id, active_thread_id);
}
@ -712,23 +714,23 @@ void GSP_GPU::AcquireRight(Kernel::HLERequestContext& ctx) {
}
// TODO(Subv): This case should put the caller thread to sleep until the right is released.
ASSERT_MSG(active_thread_id == -1, "GPU right has already been acquired");
ASSERT_MSG(active_thread_id == UINT32_MAX, "GPU right has already been acquired");
active_thread_id = session_data->thread_id;
rb.Push(RESULT_SUCCESS);
}
void GSP_GPU::ReleaseRight(SessionData* session_data) {
void GSP_GPU::ReleaseRight(const SessionData* session_data) {
ASSERT_MSG(active_thread_id == session_data->thread_id,
"Wrong thread tried to release GPU right");
active_thread_id = -1;
active_thread_id = UINT32_MAX;
}
void GSP_GPU::ReleaseRight(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x17, 0, 0);
SessionData* session_data = GetSessionData(ctx.Session());
const SessionData* session_data = GetSessionData(ctx.Session());
ReleaseRight(session_data);
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);

View file

@ -379,7 +379,7 @@ private:
* Releases rights to the GPU.
* Will fail if the session_data doesn't have the GPU right
*/
void ReleaseRight(SessionData* session_data);
void ReleaseRight(const SessionData* session_data);
/**
* GSP_GPU::ImportDisplayCaptureInfo service function
@ -433,8 +433,8 @@ private:
/// GSP shared memory
std::shared_ptr<Kernel::SharedMemory> shared_memory;
/// Thread id that currently has GPU rights or -1 if none.
int active_thread_id = -1;
/// Thread id that currently has GPU rights or UINT32_MAX if none.
u32 active_thread_id = UINT32_MAX;
bool first_initialization = true;