mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-08-20 06:23:48 -07:00
Renderer: rewrite render scheduling (#8683)
This rewrites renderer scheduling. Occlusion is now unified in a new Pass type.
This commit is contained in:
18
src/render/pass/PassElement.hpp
Normal file
18
src/render/pass/PassElement.hpp
Normal file
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#include "../../defines.hpp"
|
||||
#include <optional>
|
||||
|
||||
class IPassElement {
|
||||
public:
|
||||
virtual ~IPassElement() = default;
|
||||
|
||||
virtual void draw(const CRegion& damage) = 0;
|
||||
virtual bool needsLiveBlur() = 0;
|
||||
virtual bool needsPrecomputeBlur() = 0;
|
||||
virtual const char* passName() = 0;
|
||||
virtual void discard();
|
||||
virtual std::optional<CBox> boundingBox();
|
||||
virtual CRegion opaqueRegion();
|
||||
virtual bool disableSimplification();
|
||||
};
|
Reference in New Issue
Block a user