early-access version 2148
This commit is contained in:
@@ -592,7 +592,8 @@ void RasterizerVulkan::EndTransformFeedback() {
|
||||
}
|
||||
|
||||
void RasterizerVulkan::UpdateViewportsState(Tegra::Engines::Maxwell3D::Regs& regs) {
|
||||
if (!state_tracker.TouchViewports()) {
|
||||
if (!state_tracker.TouchViewports() &&
|
||||
!state_tracker.ChangedYNegate(regs.screen_y_control.y_negate)) {
|
||||
return;
|
||||
}
|
||||
const std::array viewports{
|
||||
|
@@ -137,6 +137,12 @@ public:
|
||||
return has_changed;
|
||||
}
|
||||
|
||||
bool ChangedYNegate(u32 new_y_negate) {
|
||||
const bool has_changed = current_y_negate != new_y_negate;
|
||||
current_y_negate = new_y_negate;
|
||||
return has_changed;
|
||||
}
|
||||
|
||||
private:
|
||||
static constexpr auto INVALID_TOPOLOGY = static_cast<Maxwell::PrimitiveTopology>(~0u);
|
||||
|
||||
@@ -149,6 +155,7 @@ private:
|
||||
Tegra::Engines::Maxwell3D::DirtyState::Flags& flags;
|
||||
Tegra::Engines::Maxwell3D::DirtyState::Flags invalidation_flags;
|
||||
Maxwell::PrimitiveTopology current_topology = INVALID_TOPOLOGY;
|
||||
u32 current_y_negate{};
|
||||
};
|
||||
|
||||
} // namespace Vulkan
|
||||
|
Reference in New Issue
Block a user