Align model appearance#65310
Conversation
|
EWS run on previous version of this PR (hash c798a61) Details
|
| #if HAVE(SUPPORT_HDR_DISPLAY) && ENABLE(PIXEL_FORMAT_RGBA16F) | ||
| , m_screenPropertiesChangedObserver(ScreenPropertiesChangedObserver::create([weakThis = ThreadSafeWeakPtr { *this }](WebCore::PlatformDisplayID displayID) { | ||
| RefPtr protectedThis = weakThis.get(); |
There was a problem hiding this comment.
Nit: having the observer creation inside the initializer list is a little messy, and since the type is a RefPtr we could just assign it in the body of the constructor. Also would be better than creating it and then destroying it again if document is null.
There was a problem hiding this comment.
Model always requires a document so deleting it is not needed, I will move into the constructor body and add an assertion
c798a61 to
295f6e3
Compare
|
EWS run on previous version of this PR (hash 295f6e3) Details
|
295f6e3 to
90e3ef3
Compare
|
EWS run on current version of this PR (hash 90e3ef3) Details
|
|
|
||
| func setBackgroundColor(_ color: simd_float3) { | ||
| clearColor = MTLClearColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0) | ||
| clearColor = MTLClearColor(red: Double(color.x), green: Double(color.y), blue: Double(color.z), alpha: 1.0) |
There was a problem hiding this comment.
fyi @etiennesegonzac I restored the opaque background colors since it seems to more closely match visionOS to restrict image headroom but otherwise skip RCR's tone mapping pipeline
https://bugs.webkit.org/show_bug.cgi?id=315210 rdar://177195829 Reviewed by Cameron McCormack. More closely align to visionOS appearance via the following: * Limit high range to 2.0 which matches EDR headroom on visionPro * Restore background color by disabling RE's tonemapping but limiting excessive EDR values * Fix flash on model reload * generate mip levels in all environment maps if they are not otherwise present in the USD * correctly observe display headroom change events in WebModelPlayer.mm * update headroom from the display upon IOSurface creation * Source/WebCore/Modules/model-element/HTMLModelElement.cpp: (WebCore::HTMLModelElement::~HTMLModelElement): (WebCore::HTMLModelElement::setSourceURL): (WebCore::HTMLModelElement::didFinishLoading): (WebCore::HTMLModelElement::didFailLoading): (WebCore::HTMLModelElement::didConvertModelData): (WebCore::HTMLModelElement::didUpdate): (WebCore::HTMLModelElement::logWarning): (WebCore::HTMLModelElement::createModelPlayer): (WebCore::HTMLModelElement::deletePendingModelPlayer): (WebCore::HTMLModelElement::virtualHasPendingActivity const): (WebCore::HTMLModelElement::stop): (WebCore::HTMLModelElement::removingSteps): * Source/WebCore/Modules/model-element/HTMLModelElement.h: * Source/WebCore/css/html.css: (#if defined(ENABLE_GPU_PROCESS_MODEL) && ENABLE_GPU_PROCESS_MODEL): Deleted. * Source/WebCore/dom/Document.h: * Source/WebCore/rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateConfiguration): * Source/WebKit/GPUProcess/graphics/Model/ModelRenderer.swift: (Renderer.createMaterialCompiler(_:rasterSampleCount:colorSpace:)): (Renderer.setBackgroundColor(_:)): * Source/WebKit/GPUProcess/graphics/Model/USDModel.swift: (setEnvironmentMap(_:)): * Source/WebKit/WebProcess/Model/WebModelPlayer.h: * Source/WebKit/WebProcess/Model/WebModelPlayer.mm: (WebKit::m_screenPropertiesChangedObserver): (WebKit::WebModelPlayer::load): (WebKit::disableReloading): (WebKit::WebModelPlayer::visibilityStateDidChange): (WebKit::WebModelPlayer::reload): (WebKit::WebModelPlayer::updateContentsHeadroom): (WebKit::WebModelPlayer::updateScreenHeadroom): (WebKit::m_page): Deleted. Canonical link: https://commits.webkit.org/313703@main
90e3ef3 to
3191f12
Compare
|
Committed 313703@main (3191f12): https://commits.webkit.org/313703@main Reviewed commits have been landed. Closing PR #65310 and removing active labels. |
3191f12
90e3ef3
🛠 win🧪 win-tests🧪 ios-wk2-wpt🧪 mac-AS-debug-wk2