state_tracker: workaround channel setup for homebrew
This commit is contained in:
		| @@ -135,8 +135,10 @@ public: | ||||
|     /// Updates counters from GPU state. Expected to be called once per draw, clear or dispatch. | ||||
|     void UpdateCounters() { | ||||
|         std::unique_lock lock{mutex}; | ||||
|         const auto& regs = maxwell3d->regs; | ||||
|         Stream(VideoCore::QueryType::SamplesPassed).Update(regs.samplecnt_enable); | ||||
|         if (maxwell3d) { | ||||
|             const auto& regs = maxwell3d->regs; | ||||
|             Stream(VideoCore::QueryType::SamplesPassed).Update(regs.samplecnt_enable); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /// Resets a counter to zero. It doesn't disable the query after resetting. | ||||
|   | ||||
| @@ -237,6 +237,6 @@ void StateTracker::InvalidateState() { | ||||
|     flags->set(); | ||||
| } | ||||
|  | ||||
| StateTracker::StateTracker() : flags{} {} | ||||
| StateTracker::StateTracker() : flags{&default_flags} {} | ||||
|  | ||||
| } // namespace OpenGL | ||||
|   | ||||
| @@ -223,6 +223,7 @@ public: | ||||
|  | ||||
| private: | ||||
|     Tegra::Engines::Maxwell3D::DirtyState::Flags* flags; | ||||
|     Tegra::Engines::Maxwell3D::DirtyState::Flags default_flags{}; | ||||
|  | ||||
|     GLuint framebuffer = 0; | ||||
|     GLuint index_buffer = 0; | ||||
|   | ||||
| @@ -206,6 +206,7 @@ void StateTracker::InvalidateState() { | ||||
|     flags->set(); | ||||
| } | ||||
|  | ||||
| StateTracker::StateTracker() : flags{}, invalidation_flags{MakeInvalidationFlags()} {} | ||||
| StateTracker::StateTracker() | ||||
|     : flags{&default_flags}, default_flags{}, invalidation_flags{MakeInvalidationFlags()} {} | ||||
|  | ||||
| } // namespace Vulkan | ||||
|   | ||||
| @@ -161,6 +161,7 @@ private: | ||||
|     } | ||||
|  | ||||
|     Tegra::Engines::Maxwell3D::DirtyState::Flags* flags; | ||||
|     Tegra::Engines::Maxwell3D::DirtyState::Flags default_flags; | ||||
|     Tegra::Engines::Maxwell3D::DirtyState::Flags invalidation_flags; | ||||
|     Maxwell::PrimitiveTopology current_topology = INVALID_TOPOLOGY; | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user