remove workaround for dx9 angle slow rgba pixel ops
TBR=robertphillips@google.com Review URL: https://codereview.chromium.org/1207003002
This commit is contained in:
parent
4760f32f2a
commit
1e1adc33ba
@ -65,10 +65,6 @@
|
||||
* The GrGLInterface field fCallback specifies the function ptr and there is an
|
||||
* additional field fCallbackData of type intptr_t for client data.
|
||||
*
|
||||
* GR_GL_RGBA_8888_PIXEL_OPS_SLOW: Set this to 1 if it is known that performing
|
||||
* glReadPixels / glTex(Sub)Image with format=GL_RGBA, type=GL_UNISIGNED_BYTE is
|
||||
* significantly slower than format=GL_BGRA, type=GL_UNISIGNED_BYTE.
|
||||
*
|
||||
* GR_GL_FULL_READPIXELS_FASTER_THAN_PARTIAL: Set this to 1 if calling
|
||||
* glReadPixels to read the entire framebuffer is faster than calling it with
|
||||
* the same sized rectangle but with a framebuffer bound that is larger than
|
||||
@ -128,10 +124,6 @@
|
||||
#define GR_GL_PER_GL_FUNC_CALLBACK 0
|
||||
#endif
|
||||
|
||||
#if !defined(GR_GL_RGBA_8888_PIXEL_OPS_SLOW)
|
||||
#define GR_GL_RGBA_8888_PIXEL_OPS_SLOW 0
|
||||
#endif
|
||||
|
||||
#if !defined(GR_GL_FULL_READPIXELS_FASTER_THAN_PARTIAL)
|
||||
#define GR_GL_FULL_READPIXELS_FASTER_THAN_PARTIAL 0
|
||||
#endif
|
||||
|
@ -12,13 +12,9 @@
|
||||
#define GR_GL_CHECK_ERROR_START 0
|
||||
|
||||
#if defined(SK_BUILD_FOR_WIN32)
|
||||
// For RGBA teximage/readpixels ANGLE will sw-convert to/from BGRA.
|
||||
#define GR_GL_RGBA_8888_PIXEL_OPS_SLOW 1
|
||||
|
||||
// ANGLE can go faster if the entire fbo is read rather than a subrect
|
||||
#define GR_GL_FULL_READPIXELS_FASTER_THAN_PARTIAL 1
|
||||
#else
|
||||
#define GR_GL_RGBA_8888_PIXEL_OPS_SLOW 0
|
||||
#define GR_GL_FULL_READPIXELS_FASTER_THAN_PARTIAL 0
|
||||
#endif
|
||||
|
||||
@ -43,8 +39,4 @@
|
||||
// (const char* const instead of char**).
|
||||
#define GR_GL_USE_NEW_SHADER_SOURCE_SIGNATURE 1
|
||||
|
||||
#if !defined(GR_GL_IGNORE_ES3_MSAA)
|
||||
#define GR_GL_IGNORE_ES3_MSAA 1
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -148,8 +148,7 @@ public:
|
||||
}
|
||||
|
||||
/**
|
||||
* Called before uploading writing pixels to a GrTexture when the src pixel config doesn't
|
||||
* match the texture's config.
|
||||
* Called before uploading writing pixels to a GrTexture.
|
||||
*/
|
||||
virtual bool canWriteTexturePixels(const GrTexture*, GrPixelConfig srcConfig) const = 0;
|
||||
|
||||
|
@ -270,21 +270,14 @@ void GrGLGpu::contextAbandoned() {
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
GrPixelConfig GrGLGpu::preferredReadPixelsConfig(GrPixelConfig readConfig,
|
||||
GrPixelConfig surfaceConfig) const {
|
||||
if (GR_GL_RGBA_8888_PIXEL_OPS_SLOW && kRGBA_8888_GrPixelConfig == readConfig) {
|
||||
return kBGRA_8888_GrPixelConfig;
|
||||
} else if (kMesa_GrGLDriver == this->glContext().driver() &&
|
||||
GrBytesPerPixel(readConfig) == 4 &&
|
||||
GrPixelConfigSwapRAndB(readConfig) == surfaceConfig) {
|
||||
// Mesa 3D takes a slow path on when reading back BGRA from an RGBA surface and vice-versa.
|
||||
// Perhaps this should be guarded by some compiletime or runtime check.
|
||||
if (kMesa_GrGLDriver == this->glContext().driver() &&
|
||||
GrBytesPerPixel(readConfig) == 4 && GrPixelConfigSwapRAndB(readConfig) == surfaceConfig) {
|
||||
// Mesa 3D takes a slow path on when reading back BGRA from an RGBA surface and vice-versa.
|
||||
// Perhaps this should be guarded by some compile-time or runtime check.
|
||||
return surfaceConfig;
|
||||
} else if (readConfig == kBGRA_8888_GrPixelConfig
|
||||
&& !this->glCaps().readPixelsSupported(
|
||||
this->glInterface(),
|
||||
GR_GL_BGRA,
|
||||
GR_GL_UNSIGNED_BYTE,
|
||||
surfaceConfig
|
||||
)) {
|
||||
} else if (readConfig == kBGRA_8888_GrPixelConfig &&
|
||||
!this->glCaps().readPixelsSupported(this->glInterface(), GR_GL_BGRA,
|
||||
GR_GL_UNSIGNED_BYTE, surfaceConfig)) {
|
||||
return kRGBA_8888_GrPixelConfig;
|
||||
} else {
|
||||
return readConfig;
|
||||
@ -293,11 +286,7 @@ GrPixelConfig GrGLGpu::preferredReadPixelsConfig(GrPixelConfig readConfig,
|
||||
|
||||
GrPixelConfig GrGLGpu::preferredWritePixelsConfig(GrPixelConfig writeConfig,
|
||||
GrPixelConfig surfaceConfig) const {
|
||||
if (GR_GL_RGBA_8888_PIXEL_OPS_SLOW && kRGBA_8888_GrPixelConfig == writeConfig) {
|
||||
return kBGRA_8888_GrPixelConfig;
|
||||
} else {
|
||||
return writeConfig;
|
||||
}
|
||||
return writeConfig;
|
||||
}
|
||||
|
||||
bool GrGLGpu::canWriteTexturePixels(const GrTexture* texture, GrPixelConfig srcConfig) const {
|
||||
|
Loading…
Reference in New Issue
Block a user