renderer: Fix CM for DS and SDR passthrough (#11503)
This commit is contained in:
parent
790e544689
commit
05a1c0aa73
7 changed files with 186 additions and 83 deletions
|
|
@ -423,6 +423,10 @@ SP<CWLSurfaceResource> CWLSurfaceResource::findFirstPreorder(std::function<bool(
|
|||
return findFirstPreorderHelper(m_self.lock(), fn);
|
||||
}
|
||||
|
||||
SP<CWLSurfaceResource> CWLSurfaceResource::findWithCM() {
|
||||
return findFirstPreorder([this](SP<CWLSurfaceResource> surf) { return surf->m_colorManagement.valid() && surf->extends() == extends(); });
|
||||
}
|
||||
|
||||
std::pair<SP<CWLSurfaceResource>, Vector2D> CWLSurfaceResource::at(const Vector2D& localCoords, bool allowsInput) {
|
||||
std::vector<std::pair<SP<CWLSurfaceResource>, Vector2D>> surfs;
|
||||
breadthfirst([&surfs](SP<CWLSurfaceResource> surf, const Vector2D& offset, void* data) { surfs.emplace_back(std::make_pair<>(surf, offset)); }, &surfs);
|
||||
|
|
|
|||
|
|
@ -108,6 +108,7 @@ class CWLSurfaceResource {
|
|||
|
||||
void breadthfirst(std::function<void(SP<CWLSurfaceResource>, const Vector2D&, void*)> fn, void* data);
|
||||
SP<CWLSurfaceResource> findFirstPreorder(std::function<bool(SP<CWLSurfaceResource>)> fn);
|
||||
SP<CWLSurfaceResource> findWithCM();
|
||||
void presentFeedback(const Time::steady_tp& when, PHLMONITOR pMonitor, bool discarded = false);
|
||||
void commitState(SSurfaceState& state);
|
||||
NColorManagement::SImageDescription getPreferredImageDescription();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue