Add control of manual mipmapping to GrContextOptions
BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2054623003 Review-Url: https://codereview.chromium.org/2054623003
This commit is contained in:
parent
7ccbc1ad04
commit
97e398d989
@ -67,6 +67,11 @@ struct GrContextOptions {
|
|||||||
/** Force us to do all swizzling manually in the shader and don't rely on extensions to do
|
/** Force us to do all swizzling manually in the shader and don't rely on extensions to do
|
||||||
swizzling. */
|
swizzling. */
|
||||||
bool fUseShaderSwizzling;
|
bool fUseShaderSwizzling;
|
||||||
|
|
||||||
|
/** Construct mipmaps manually, via repeated downsampling draw-calls. This is used when
|
||||||
|
the driver's implementation (glGenerateMipmap) contains bugs. This requires mipmap
|
||||||
|
level and LOD control (ie desktop or ES3). */
|
||||||
|
bool fDoManualMipmapping;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -551,7 +551,8 @@ void GrGLCaps::init(const GrContextOptions& contextOptions,
|
|||||||
// glGenerateMipmap. Our implementation requires mip-level sampling control. Additionally,
|
// glGenerateMipmap. Our implementation requires mip-level sampling control. Additionally,
|
||||||
// it can be much slower (especially on mobile GPUs), so we opt-in only when necessary:
|
// it can be much slower (especially on mobile GPUs), so we opt-in only when necessary:
|
||||||
if (fMipMapLevelAndLodControlSupport &&
|
if (fMipMapLevelAndLodControlSupport &&
|
||||||
((kIntel_GrGLVendor == ctxInfo.vendor()) ||
|
(contextOptions.fDoManualMipmapping ||
|
||||||
|
(kIntel_GrGLVendor == ctxInfo.vendor()) ||
|
||||||
(kNVIDIA_GrGLDriver == ctxInfo.driver() && isMAC) ||
|
(kNVIDIA_GrGLDriver == ctxInfo.driver() && isMAC) ||
|
||||||
(kATI_GrGLVendor == ctxInfo.vendor()))) {
|
(kATI_GrGLVendor == ctxInfo.vendor()))) {
|
||||||
fDoManualMipmapping = true;
|
fDoManualMipmapping = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user