зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1341959: Part 1. Allow WebGL2 to be blocked separately from WebGL overall. r=mchang
MozReview-Commit-ID: ABpjtMSTA8L --HG-- extra : rebase_source : f6bd8b11d11c259951f483af0e999d0e90e25442
This commit is contained in:
Родитель
c423bdbe47
Коммит
09461fd1e5
|
@ -285,6 +285,21 @@
|
||||||
<driverVersionComparator> BETWEEN_INCLUSIVE_START </driverVersionComparator>
|
<driverVersionComparator> BETWEEN_INCLUSIVE_START </driverVersionComparator>
|
||||||
</gfxBlacklistEntry>
|
</gfxBlacklistEntry>
|
||||||
|
|
||||||
|
<gfxBlacklistEntry>
|
||||||
|
<os>All</os>
|
||||||
|
<vendor>0xdcdc</vendor>
|
||||||
|
<devices>
|
||||||
|
<device>0x2783</device>
|
||||||
|
<device>0x1234</device>
|
||||||
|
<device>0x2782</device>
|
||||||
|
</devices>
|
||||||
|
<feature> WEBGL2 </feature>
|
||||||
|
<featureStatus> BLOCKED_DRIVER_VERSION </featureStatus>
|
||||||
|
<driverVersion> 8.52.322.1000 </driverVersion>
|
||||||
|
<driverVersionMax> 8.52.322.1112 </driverVersionMax>
|
||||||
|
<driverVersionComparator> BETWEEN_INCLUSIVE_START </driverVersionComparator>
|
||||||
|
</gfxBlacklistEntry>
|
||||||
|
|
||||||
<gfxBlacklistEntry>
|
<gfxBlacklistEntry>
|
||||||
<os>All</os>
|
<os>All</os>
|
||||||
<vendor>0xdcdc</vendor>
|
<vendor>0xdcdc</vendor>
|
||||||
|
|
|
@ -93,6 +93,18 @@
|
||||||
<featureStatus> BLOCKED_DRIVER_VERSION </featureStatus>
|
<featureStatus> BLOCKED_DRIVER_VERSION </featureStatus>
|
||||||
</gfxBlacklistEntry>
|
</gfxBlacklistEntry>
|
||||||
|
|
||||||
|
<gfxBlacklistEntry>
|
||||||
|
<os>All</os>
|
||||||
|
<vendor>0xabcd</vendor>
|
||||||
|
<devices>
|
||||||
|
<device>0x2783</device>
|
||||||
|
<device>0x1234</device>
|
||||||
|
<device>0x2782</device>
|
||||||
|
</devices>
|
||||||
|
<feature> WEBGL2 </feature>
|
||||||
|
<featureStatus> BLOCKED_DRIVER_VERSION </featureStatus>
|
||||||
|
</gfxBlacklistEntry>
|
||||||
|
|
||||||
<gfxBlacklistEntry>
|
<gfxBlacklistEntry>
|
||||||
<os>All</os>
|
<os>All</os>
|
||||||
<vendor>0xabcd</vendor>
|
<vendor>0xabcd</vendor>
|
||||||
|
@ -287,6 +299,18 @@
|
||||||
<featureStatus> BLOCKED_DRIVER_VERSION </featureStatus>
|
<featureStatus> BLOCKED_DRIVER_VERSION </featureStatus>
|
||||||
</gfxBlacklistEntry>
|
</gfxBlacklistEntry>
|
||||||
|
|
||||||
|
<gfxBlacklistEntry>
|
||||||
|
<os>Darwin 13</os>
|
||||||
|
<vendor>0xabcd</vendor>
|
||||||
|
<devices>
|
||||||
|
<device>0x2783</device>
|
||||||
|
<device>0x1234</device>
|
||||||
|
<device>0x2782</device>
|
||||||
|
</devices>
|
||||||
|
<feature> WEBGL2 </feature>
|
||||||
|
<featureStatus> BLOCKED_DRIVER_VERSION </featureStatus>
|
||||||
|
</gfxBlacklistEntry>
|
||||||
|
|
||||||
<gfxBlacklistEntry>
|
<gfxBlacklistEntry>
|
||||||
<os>Darwin 13</os>
|
<os>Darwin 13</os>
|
||||||
<vendor>0xabcd</vendor>
|
<vendor>0xabcd</vendor>
|
||||||
|
@ -481,6 +505,18 @@
|
||||||
<featureStatus> BLOCKED_DRIVER_VERSION </featureStatus>
|
<featureStatus> BLOCKED_DRIVER_VERSION </featureStatus>
|
||||||
</gfxBlacklistEntry>
|
</gfxBlacklistEntry>
|
||||||
|
|
||||||
|
<gfxBlacklistEntry>
|
||||||
|
<os>Linux</os>
|
||||||
|
<vendor>0xabcd</vendor>
|
||||||
|
<devices>
|
||||||
|
<device>0x2783</device>
|
||||||
|
<device>0x1234</device>
|
||||||
|
<device>0x2782</device>
|
||||||
|
</devices>
|
||||||
|
<feature> WEBGL2 </feature>
|
||||||
|
<featureStatus> BLOCKED_DRIVER_VERSION </featureStatus>
|
||||||
|
</gfxBlacklistEntry>
|
||||||
|
|
||||||
<gfxBlacklistEntry>
|
<gfxBlacklistEntry>
|
||||||
<os>Linux</os>
|
<os>Linux</os>
|
||||||
<vendor>0xabcd</vendor>
|
<vendor>0xabcd</vendor>
|
||||||
|
@ -675,6 +711,18 @@
|
||||||
<featureStatus> BLOCKED_DRIVER_VERSION </featureStatus>
|
<featureStatus> BLOCKED_DRIVER_VERSION </featureStatus>
|
||||||
</gfxBlacklistEntry>
|
</gfxBlacklistEntry>
|
||||||
|
|
||||||
|
<gfxBlacklistEntry>
|
||||||
|
<os>Android</os>
|
||||||
|
<vendor>0xabcd</vendor>
|
||||||
|
<devices>
|
||||||
|
<device>0x2783</device>
|
||||||
|
<device>0x1234</device>
|
||||||
|
<device>0x2782</device>
|
||||||
|
</devices>
|
||||||
|
<feature> WEBGL2 </feature>
|
||||||
|
<featureStatus> BLOCKED_DRIVER_VERSION </featureStatus>
|
||||||
|
</gfxBlacklistEntry>
|
||||||
|
|
||||||
<gfxBlacklistEntry>
|
<gfxBlacklistEntry>
|
||||||
<os>Android</os>
|
<os>Android</os>
|
||||||
<vendor>0xabcd</vendor>
|
<vendor>0xabcd</vendor>
|
||||||
|
|
|
@ -104,6 +104,10 @@ function run_test() {
|
||||||
do_check_eq(status, Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION);
|
do_check_eq(status, Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION);
|
||||||
do_check_eq(failureId.value, "FEATURE_FAILURE_DL_BLACKLIST_NO_ID");
|
do_check_eq(failureId.value, "FEATURE_FAILURE_DL_BLACKLIST_NO_ID");
|
||||||
|
|
||||||
|
status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_WEBGL2, failureId);
|
||||||
|
do_check_eq(status, Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION);
|
||||||
|
do_check_eq(failureId.value, "FEATURE_FAILURE_DL_BLACKLIST_NO_ID");
|
||||||
|
|
||||||
status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_WEBGL_MSAA, failureId);
|
status = gfxInfo.getFeatureStatus(Ci.nsIGfxInfo.FEATURE_WEBGL_MSAA, failureId);
|
||||||
do_check_eq(status, Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION);
|
do_check_eq(status, Ci.nsIGfxInfo.FEATURE_BLOCKED_DRIVER_VERSION);
|
||||||
|
|
||||||
|
|
|
@ -166,6 +166,9 @@ GetPrefNameForFeature(int32_t aFeature)
|
||||||
case nsIGfxInfo::FEATURE_CANVAS2D_ACCELERATION:
|
case nsIGfxInfo::FEATURE_CANVAS2D_ACCELERATION:
|
||||||
name = BLACKLIST_PREF_BRANCH "canvas2d.acceleration";
|
name = BLACKLIST_PREF_BRANCH "canvas2d.acceleration";
|
||||||
break;
|
break;
|
||||||
|
case nsIGfxInfo::FEATURE_WEBGL2:
|
||||||
|
name = BLACKLIST_PREF_BRANCH "webgl2";
|
||||||
|
break;
|
||||||
case nsIGfxInfo::FEATURE_VP8_HW_DECODE:
|
case nsIGfxInfo::FEATURE_VP8_HW_DECODE:
|
||||||
case nsIGfxInfo::FEATURE_VP9_HW_DECODE:
|
case nsIGfxInfo::FEATURE_VP9_HW_DECODE:
|
||||||
case nsIGfxInfo::FEATURE_DX_INTEROP2:
|
case nsIGfxInfo::FEATURE_DX_INTEROP2:
|
||||||
|
@ -344,6 +347,8 @@ BlacklistFeatureToGfxFeature(const nsAString& aFeature)
|
||||||
return nsIGfxInfo::FEATURE_WEBRTC_HW_ACCELERATION;
|
return nsIGfxInfo::FEATURE_WEBRTC_HW_ACCELERATION;
|
||||||
else if (aFeature.EqualsLiteral("CANVAS2D_ACCELERATION"))
|
else if (aFeature.EqualsLiteral("CANVAS2D_ACCELERATION"))
|
||||||
return nsIGfxInfo::FEATURE_CANVAS2D_ACCELERATION;
|
return nsIGfxInfo::FEATURE_CANVAS2D_ACCELERATION;
|
||||||
|
else if (aFeature.EqualsLiteral("WEBGL2"))
|
||||||
|
return nsIGfxInfo::FEATURE_WEBGL2;
|
||||||
|
|
||||||
// If we don't recognize the feature, it may be new, and something
|
// If we don't recognize the feature, it may be new, and something
|
||||||
// this version doesn't understand. So, nothing to do. This is
|
// this version doesn't understand. So, nothing to do. This is
|
||||||
|
@ -973,6 +978,7 @@ GfxInfoBase::EvaluateDownloadedBlacklist(nsTArray<GfxDriverInfo>& aDriverInfo)
|
||||||
nsIGfxInfo::FEATURE_STAGEFRIGHT,
|
nsIGfxInfo::FEATURE_STAGEFRIGHT,
|
||||||
nsIGfxInfo::FEATURE_WEBRTC_HW_ACCELERATION,
|
nsIGfxInfo::FEATURE_WEBRTC_HW_ACCELERATION,
|
||||||
nsIGfxInfo::FEATURE_CANVAS2D_ACCELERATION,
|
nsIGfxInfo::FEATURE_CANVAS2D_ACCELERATION,
|
||||||
|
nsIGfxInfo::FEATURE_WEBGL2,
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -313,6 +313,7 @@ GfxInfo::GetFeatureStatusImpl(int32_t aFeature,
|
||||||
// Only check features relevant to Linux.
|
// Only check features relevant to Linux.
|
||||||
if (aFeature == nsIGfxInfo::FEATURE_OPENGL_LAYERS ||
|
if (aFeature == nsIGfxInfo::FEATURE_OPENGL_LAYERS ||
|
||||||
aFeature == nsIGfxInfo::FEATURE_WEBGL_OPENGL ||
|
aFeature == nsIGfxInfo::FEATURE_WEBGL_OPENGL ||
|
||||||
|
aFeature == nsIGfxInfo::FEATURE_WEBGL2 ||
|
||||||
aFeature == nsIGfxInfo::FEATURE_WEBGL_MSAA) {
|
aFeature == nsIGfxInfo::FEATURE_WEBGL_MSAA) {
|
||||||
|
|
||||||
// whitelist the linux test slaves' current configuration.
|
// whitelist the linux test slaves' current configuration.
|
||||||
|
|
|
@ -121,8 +121,10 @@ interface nsIGfxInfo : nsISupports
|
||||||
const long FEATURE_DX_INTEROP2 = 19;
|
const long FEATURE_DX_INTEROP2 = 19;
|
||||||
/* Whether the GPU process is supported, starting in 52. */
|
/* Whether the GPU process is supported, starting in 52. */
|
||||||
const long FEATURE_GPU_PROCESS = 20;
|
const long FEATURE_GPU_PROCESS = 20;
|
||||||
|
/* Whether the WebGL2 is supported, starting in 54 */
|
||||||
|
const long FEATURE_WEBGL2 = 21;
|
||||||
/* the maximum feature value. */
|
/* the maximum feature value. */
|
||||||
const long FEATURE_MAX_VALUE = FEATURE_GPU_PROCESS;
|
const long FEATURE_MAX_VALUE = FEATURE_WEBGL2;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* A set of return values from GetFeatureStatus
|
* A set of return values from GetFeatureStatus
|
||||||
|
|
Загрузка…
Ссылка в новой задаче