diff options
| author | 2020-02-16 09:51:37 -0400 | |
|---|---|---|
| committer | 2020-04-22 11:36:06 -0400 | |
| commit | da8f17715dbdc7eec92f5f0c11c968a51b86cab4 (patch) | |
| tree | a1604f3cf9abe9128d26834f9c68161ecab6e204 /src/video_core/engines | |
| parent | Texture Cache: Implement OnCPUWrite and SyncGuestHost (diff) | |
| download | yuzu-da8f17715dbdc7eec92f5f0c11c968a51b86cab4.tar.gz yuzu-da8f17715dbdc7eec92f5f0c11c968a51b86cab4.tar.xz yuzu-da8f17715dbdc7eec92f5f0c11c968a51b86cab4.zip | |
GPU: Refactor synchronization on Async GPU
Diffstat (limited to 'src/video_core/engines')
| -rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index baa74ad4c..2298a6273 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp | |||
| @@ -403,9 +403,13 @@ void Maxwell3D::ProcessQueryGet() { | |||
| 403 | "Units other than CROP are unimplemented"); | 403 | "Units other than CROP are unimplemented"); |
| 404 | 404 | ||
| 405 | switch (regs.query.query_get.operation) { | 405 | switch (regs.query.query_get.operation) { |
| 406 | case Regs::QueryOperation::Release: | 406 | case Regs::QueryOperation::Release: { |
| 407 | StampQueryResult(regs.query.query_sequence, regs.query.query_get.short_query == 0); | 407 | rasterizer.FlushCommands(); |
| 408 | rasterizer.SyncGuestHost(); | ||
| 409 | const u64 result = regs.query.query_sequence; | ||
| 410 | StampQueryResult(result, regs.query.query_get.short_query == 0); | ||
| 408 | break; | 411 | break; |
| 412 | } | ||
| 409 | case Regs::QueryOperation::Acquire: | 413 | case Regs::QueryOperation::Acquire: |
| 410 | // TODO(Blinkhawk): Under this operation, the GPU waits for the CPU to write a value that | 414 | // TODO(Blinkhawk): Under this operation, the GPU waits for the CPU to write a value that |
| 411 | // matches the current payload. | 415 | // matches the current payload. |