Bug 1787293 - Revert Bug 1780138 r=jrmuizel

Differential Revision: https://phabricator.services.mozilla.com/D155833
This commit is contained in:
sotaro 2022-08-29 13:54:48 +00:00
parent 5677d6f202
commit c0fbba3837
3 changed files with 43 additions and 3 deletions

View File

@ -2759,7 +2759,7 @@ void gfxPlatform::InitWebRenderConfig() {
"FEATURE_FAILURE_WR_NO_GFX_INFO"_ns);
useHwVideoZeroCopy = false;
} else {
if (status != nsIGfxInfo::FEATURE_STATUS_OK) {
if (status != nsIGfxInfo::FEATURE_ALLOW_ALWAYS) {
FeatureState& feature =
gfxConfig::GetFeature(Feature::HW_DECODED_VIDEO_ZERO_COPY);
feature.DisableByDefault(FeatureStatus::Blocked,
@ -2796,7 +2796,7 @@ void gfxPlatform::InitWebRenderConfig() {
"FEATURE_FAILURE_WR_NO_GFX_INFO"_ns);
reuseDecoderDevice = false;
} else {
if (status != nsIGfxInfo::FEATURE_STATUS_OK) {
if (status != nsIGfxInfo::FEATURE_ALLOW_ALWAYS) {
FeatureState& feature =
gfxConfig::GetFeature(Feature::REUSE_DECODER_DEVICE);
feature.DisableByDefault(FeatureStatus::Blocked,

View File

@ -1263,7 +1263,9 @@ bool GfxInfoBase::DoesDriverVendorMatch(const nsAString& aBlocklistVendor,
bool GfxInfoBase::IsFeatureAllowlisted(int32_t aFeature) const {
return aFeature == nsIGfxInfo::FEATURE_WEBRENDER ||
aFeature == nsIGfxInfo::FEATURE_VIDEO_OVERLAY;
aFeature == nsIGfxInfo::FEATURE_VIDEO_OVERLAY ||
aFeature == nsIGfxInfo::FEATURE_HW_DECODED_VIDEO_ZERO_COPY ||
aFeature == nsIGfxInfo::FEATURE_REUSE_DECODER_DEVICE;
}
nsresult GfxInfoBase::GetFeatureStatusImpl(

View File

@ -1792,6 +1792,44 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() {
nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION, DRIVER_LESS_THAN,
V(26, 20, 15000, 37), "FEATURE_FAILURE_BUG_1767212");
////////////////////////////////////
// FEATURE_HW_DECODED_VIDEO_ZERO_COPY - ALLOWLIST
#ifdef EARLY_BETA_OR_EARLIER
APPEND_TO_DRIVER_BLOCKLIST2(OperatingSystem::Windows, DeviceFamily::All,
nsIGfxInfo::FEATURE_HW_DECODED_VIDEO_ZERO_COPY,
nsIGfxInfo::FEATURE_ALLOW_ALWAYS,
DRIVER_COMPARISON_IGNORED, V(0, 0, 0, 0),
"FEATURE_ROLLOUT_ALL");
#else
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows, DeviceFamily::IntelAll,
nsIGfxInfo::FEATURE_HW_DECODED_VIDEO_ZERO_COPY,
nsIGfxInfo::FEATURE_ALLOW_ALWAYS, DRIVER_COMPARISON_IGNORED,
V(0, 0, 0, 0), "FEATURE_ROLLOUT_ALL");
#endif
////////////////////////////////////
// FEATURE_REUSE_DECODER_DEVICE - ALLOWLIST
#ifdef EARLY_BETA_OR_EARLIER
APPEND_TO_DRIVER_BLOCKLIST2(OperatingSystem::Windows, DeviceFamily::All,
nsIGfxInfo::FEATURE_REUSE_DECODER_DEVICE,
nsIGfxInfo::FEATURE_ALLOW_ALWAYS,
DRIVER_COMPARISON_IGNORED, V(0, 0, 0, 0),
"FEATURE_ROLLOUT_ALL");
#else
APPEND_TO_DRIVER_BLOCKLIST2(
OperatingSystem::Windows, DeviceFamily::IntelAll,
nsIGfxInfo::FEATURE_REUSE_DECODER_DEVICE,
nsIGfxInfo::FEATURE_ALLOW_ALWAYS, DRIVER_COMPARISON_IGNORED,
V(0, 0, 0, 0), "FEATURE_ROLLOUT_INTEL");
// ATI/AMD always requires reuse decoder device.
APPEND_TO_DRIVER_BLOCKLIST2(OperatingSystem::Windows, DeviceFamily::AtiAll,
nsIGfxInfo::FEATURE_REUSE_DECODER_DEVICE,
nsIGfxInfo::FEATURE_ALLOW_ALWAYS,
DRIVER_COMPARISON_IGNORED, V(0, 0, 0, 0),
"FEATURE_ROLLOUT_INTEL");
#endif
////////////////////////////////////
// FEATURE_WEBRENDER
// Block 8.56.1.15/16