|
|
|
@ -457,8 +457,9 @@ void Maxwell3D::StampQueryResult(u64 payload, bool long_query) {
|
|
|
|
|
|
|
|
|
|
void Maxwell3D::ProcessQueryGet() {
|
|
|
|
|
// TODO(Subv): Support the other query units.
|
|
|
|
|
ASSERT_MSG(regs.query.query_get.unit == Regs::QueryUnit::Crop,
|
|
|
|
|
"Units other than CROP are unimplemented");
|
|
|
|
|
if (regs.query.query_get.unit != Regs::QueryUnit::Crop) {
|
|
|
|
|
LOG_DEBUG(HW_GPU, "Units other than CROP are unimplemented");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch (regs.query.query_get.operation) {
|
|
|
|
|
case Regs::QueryOperation::Release:
|
|
|
|
@ -534,8 +535,8 @@ void Maxwell3D::ProcessCounterReset() {
|
|
|
|
|
rasterizer.ResetCounter(QueryType::SamplesPassed);
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
LOG_WARNING(Render_OpenGL, "Unimplemented counter reset={}",
|
|
|
|
|
static_cast<int>(regs.counter_reset));
|
|
|
|
|
LOG_DEBUG(Render_OpenGL, "Unimplemented counter reset={}",
|
|
|
|
|
static_cast<int>(regs.counter_reset));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -592,8 +593,8 @@ std::optional<u64> Maxwell3D::GetQueryResult() {
|
|
|
|
|
system.GPU().GetTicks());
|
|
|
|
|
return {};
|
|
|
|
|
default:
|
|
|
|
|
UNIMPLEMENTED_MSG("Unimplemented query select type {}",
|
|
|
|
|
static_cast<u32>(regs.query.query_get.select.Value()));
|
|
|
|
|
LOG_DEBUG(HW_GPU, "Unimplemented query select type {}",
|
|
|
|
|
static_cast<u32>(regs.query.query_get.select.Value()));
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|