Maxwell3D: Fix 3D semaphore counter type 0 handling

Counter type 0 actually releases the semaphore payload rather than a constant zero as was previously thought. This is required by Skyrim.
This commit is contained in:
Billy Laws 2022-06-02 21:45:22 +01:00
parent 5c0a31e29f
commit ea89cf8639
2 changed files with 3 additions and 3 deletions

View File

@ -595,8 +595,8 @@ void Maxwell3D::DrawArrays() {
std::optional<u64> Maxwell3D::GetQueryResult() {
switch (regs.query.query_get.select) {
case Regs::QuerySelect::Zero:
return 0;
case Regs::QuerySelect::Payload:
return regs.query.query_sequence;
case Regs::QuerySelect::SamplesPassed:
// Deferred.
rasterizer->Query(regs.query.QueryAddress(), QueryType::SamplesPassed,

View File

@ -93,7 +93,7 @@ public:
};
enum class QuerySelect : u32 {
Zero = 0,
Payload = 0,
TimeElapsed = 2,
TransformFeedbackPrimitivesGenerated = 11,
PrimitivesGenerated = 18,