| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
The 3D engine's sync method and the puller's fence action take a
syncpoint id from the command list and signal it, but the syncpoint
manager has 192 syncpoints and does not check the index. Command words
read wrong (Splatoon Raiders on Linux runs 3D engine commands as puller
methods 0x10-0x3F just before) made Maxwell3D signal a syncpoint past
the table: SyncpointManager::Increment walked memory after its action
lists as a list and crashed on a null link (SIGSEGV reading 0x10).
Builds 49 and 50 both crashed this way under WSL. FenceManager now drops
such signals with an error, for every engine that signals.
|
| |
|
|
|
| |
We can just pass the function object through, and if it's a valid
function, then it will automatically be converted.
|
| |
|
|
|
|
|
|
|
| |
The handle is only compared against and not modified in any way, so we
can pass it by const reference.
This also allows us to mark the respective parameters for
DeregisterGuestAction() and DeregisterHostAction() as const references
as well.
|
| | |
|
| | |
|
| | |
|
| |
|