Limit clear as draw workaround to Adreno 3xx.
This causes more problems than it fixes on the Nexus 6. Review URL: https://codereview.chromium.org/917313005
This commit is contained in:
parent
e36914cb20
commit
a8fcea0cd0
@ -403,7 +403,7 @@ bool GrGLCaps::init(const GrGLContextInfo& ctxInfo, const GrGLInterface* gli) {
|
||||
|
||||
if (kPowerVR54x_GrGLRenderer == ctxInfo.renderer() ||
|
||||
kPowerVRRogue_GrGLRenderer == ctxInfo.renderer() ||
|
||||
kQualcomm_GrGLVendor == ctxInfo.vendor()) {
|
||||
kAdreno3xx_GrGLRenderer == ctxInfo.renderer()) {
|
||||
fUseDrawInsteadOfClear = true;
|
||||
}
|
||||
|
||||
|
@ -214,6 +214,18 @@ GrGLRenderer GrGLGetRendererFromString(const char* rendererString) {
|
||||
SK_ARRAY_COUNT(kPowerVRRogueStr)-1)) {
|
||||
return kPowerVRRogue_GrGLRenderer;
|
||||
}
|
||||
int adrenoNumber;
|
||||
n = sscanf(rendererString, "Adreno (TM) %d", &adrenoNumber);
|
||||
if (1 == n) {
|
||||
if (adrenoNumber >= 300) {
|
||||
if (adrenoNumber < 400) {
|
||||
return kAdreno3xx_GrGLRenderer;
|
||||
}
|
||||
if (adrenoNumber < 500) {
|
||||
return kAdreno4xx_GrGLRenderer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return kOther_GrGLRenderer;
|
||||
}
|
||||
|
@ -45,6 +45,8 @@ enum GrGLRenderer {
|
||||
kTegra3_GrGLRenderer,
|
||||
kPowerVR54x_GrGLRenderer,
|
||||
kPowerVRRogue_GrGLRenderer,
|
||||
kAdreno3xx_GrGLRenderer,
|
||||
kAdreno4xx_GrGLRenderer,
|
||||
kOther_GrGLRenderer
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user