| Index: gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| index 908fbda052b65b547a0d9b54d42eba1857da2f9c..c4b16990ac78e1d979c254c23ca223b087900b56 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| @@ -1977,13 +1977,6 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
|
| GLuint* source_texture_service_id,
|
| GLenum* source_texture_target);
|
|
|
| - // On Mac OS X, calling glReadPixels() against an FBO whose color attachment
|
| - // is an IOSurface-backed texture causes corruption of future glReadPixels()
|
| - // calls, even those on different OpenGL contexts. It is believed that this
|
| - // is the root cause of top crasher
|
| - // http://crbug.com/99393. <rdar://problem/10949687>
|
| - bool NeedsIOSurfaceReadbackWorkaround();
|
| -
|
| bool InitializeCopyTextureCHROMIUM(const char* function_name);
|
| // Generate a member function prototype for each command in an automated and
|
| // typesafe way.
|
| @@ -3485,8 +3478,6 @@ bool GLES2DecoderImpl::InitializeShaderTranslator() {
|
| driver_bug_workarounds |= SH_UNFOLD_SHORT_CIRCUIT;
|
| if (workarounds().init_varyings_without_static_use)
|
| driver_bug_workarounds |= SH_INIT_VARYINGS_WITHOUT_STATIC_USE;
|
| - if (workarounds().unroll_for_loop_with_sampler_array_index)
|
| - driver_bug_workarounds |= SH_UNROLL_FOR_LOOP_WITH_SAMPLER_ARRAY_INDEX;
|
| if (workarounds().scalarize_vec_and_mat_constructor_args)
|
| driver_bug_workarounds |= SH_SCALARIZE_VEC_AND_MAT_CONSTRUCTOR_ARGS;
|
| if (workarounds().regenerate_struct_names)
|
| @@ -10024,8 +10015,6 @@ error::Error GLES2DecoderImpl::HandleReadPixels(uint32_t immediate_data_size,
|
|
|
| ScopedResolvedFrameBufferBinder binder(this, false, true);
|
| std::unique_ptr<ScopedFrameBufferReadPixelHelper> helper;
|
| - if (NeedsIOSurfaceReadbackWorkaround())
|
| - helper.reset(new ScopedFrameBufferReadPixelHelper(&state_, this));
|
|
|
| gfx::Rect rect(x, y, width, height); // Safe before we checked above.
|
| gfx::Rect max_rect(max_size);
|
| @@ -16611,28 +16600,6 @@ bool GLES2DecoderImpl::NeedsCopyTextureImageWorkaround(
|
| return true;
|
| }
|
|
|
| -bool GLES2DecoderImpl::NeedsIOSurfaceReadbackWorkaround() {
|
| - if (!workarounds().iosurface_readback_workaround)
|
| - return false;
|
| -
|
| - Framebuffer* framebuffer =
|
| - GetFramebufferInfoForTarget(GL_READ_FRAMEBUFFER_EXT);
|
| - if (!framebuffer)
|
| - return false;
|
| -
|
| - const Framebuffer::Attachment* attachment =
|
| - framebuffer->GetReadBufferAttachment();
|
| - if (!attachment)
|
| - return false;
|
| -
|
| - if (!attachment->IsTextureAttachment())
|
| - return false;
|
| -
|
| - TextureRef* texture =
|
| - texture_manager()->GetTexture(attachment->object_name());
|
| - return texture->texture()->HasImages();
|
| -}
|
| -
|
| error::Error GLES2DecoderImpl::HandleBindFragmentInputLocationCHROMIUMBucket(
|
| uint32_t immediate_data_size,
|
| const void* cmd_data) {
|
|
|