OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
6 | 6 |
7 #include <stdio.h> | 7 #include <stdio.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <list> | 10 #include <list> |
(...skipping 2556 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2567 DoBindFramebuffer(GL_FRAMEBUFFER, 0); | 2567 DoBindFramebuffer(GL_FRAMEBUFFER, 0); |
2568 DoBindRenderbuffer(GL_RENDERBUFFER, 0); | 2568 DoBindRenderbuffer(GL_RENDERBUFFER, 0); |
2569 | 2569 |
2570 // AMD and Intel drivers on Mac OS apparently get gl_PointCoord | 2570 // AMD and Intel drivers on Mac OS apparently get gl_PointCoord |
2571 // backward from the spec and this setting makes them work | 2571 // backward from the spec and this setting makes them work |
2572 // correctly. rdar://problem/11883495 | 2572 // correctly. rdar://problem/11883495 |
2573 if (feature_info_->workarounds().reverse_point_sprite_coord_origin) { | 2573 if (feature_info_->workarounds().reverse_point_sprite_coord_origin) { |
2574 glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN, GL_LOWER_LEFT); | 2574 glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN, GL_LOWER_LEFT); |
2575 } | 2575 } |
2576 | 2576 |
| 2577 #if defined(OS_ANDROID) |
| 2578 if (feature_info_->workarounds().makecurrent_recreates_surfaces) { |
| 2579 context_->SetRecreateSurfaceOnMakeCurrent(); |
| 2580 } |
| 2581 #endif |
| 2582 |
2577 // Only compositor contexts are known to use only the subset of GL | 2583 // Only compositor contexts are known to use only the subset of GL |
2578 // that can be safely migrated between the iGPU and the dGPU. Mark | 2584 // that can be safely migrated between the iGPU and the dGPU. Mark |
2579 // those contexts as safe to forcibly transition between the GPUs. | 2585 // those contexts as safe to forcibly transition between the GPUs. |
2580 // http://crbug.com/180876, http://crbug.com/227228 | 2586 // http://crbug.com/180876, http://crbug.com/227228 |
2581 if (!offscreen) | 2587 if (!offscreen) |
2582 context_->SetSafeToForceGpuSwitch(); | 2588 context_->SetSafeToForceGpuSwitch(); |
2583 | 2589 |
2584 // Create a delegate to perform async pixel transfers. | 2590 // Create a delegate to perform async pixel transfers. |
2585 async_pixel_transfer_delegate_ = | 2591 async_pixel_transfer_delegate_ = |
2586 gfx::AsyncPixelTransferDelegate::Create(context.get()); | 2592 gfx::AsyncPixelTransferDelegate::Create(context.get()); |
(...skipping 7903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10490 return error::kNoError; | 10496 return error::kNoError; |
10491 } | 10497 } |
10492 | 10498 |
10493 // Include the auto-generated part of this file. We split this because it means | 10499 // Include the auto-generated part of this file. We split this because it means |
10494 // we can easily edit the non-auto generated parts right here in this file | 10500 // we can easily edit the non-auto generated parts right here in this file |
10495 // instead of having to edit some template or the code generator. | 10501 // instead of having to edit some template or the code generator. |
10496 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" | 10502 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" |
10497 | 10503 |
10498 } // namespace gles2 | 10504 } // namespace gles2 |
10499 } // namespace gpu | 10505 } // namespace gpu |
OLD | NEW |