| Index: gpu/command_buffer/service/context_group.cc
|
| diff --git a/gpu/command_buffer/service/context_group.cc b/gpu/command_buffer/service/context_group.cc
|
| index aeae5c65b64755c10b67555bfd9c4034c85ab078..cdda09f4adac7d81d58be85134a2eaeface2c890 100644
|
| --- a/gpu/command_buffer/service/context_group.cc
|
| +++ b/gpu/command_buffer/service/context_group.cc
|
| @@ -67,6 +67,7 @@ ContextGroup::ContextGroup(
|
| max_vertex_uniform_vectors_(0u),
|
| max_color_attachments_(1u),
|
| max_draw_buffers_(1u),
|
| + max_dual_source_draw_buffers_(0u),
|
| program_cache_(NULL),
|
| feature_info_(feature_info) {
|
| {
|
| @@ -139,6 +140,11 @@ bool ContextGroup::Initialize(GLES2Decoder* decoder,
|
| if (max_draw_buffers_ < 1)
|
| max_draw_buffers_ = 1;
|
| }
|
| + if (feature_info_->feature_flags().ext_blend_func_extended) {
|
| + GetIntegerv(GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT,
|
| + &max_dual_source_draw_buffers_);
|
| + DCHECK(max_dual_source_draw_buffers_ >= 1);
|
| + }
|
|
|
| buffer_manager_.reset(
|
| new BufferManager(memory_tracker_.get(), feature_info_.get()));
|
| @@ -285,8 +291,9 @@ bool ContextGroup::Initialize(GLES2Decoder* decoder,
|
|
|
| path_manager_.reset(new PathManager());
|
|
|
| - program_manager_.reset(new ProgramManager(
|
| - program_cache_, max_varying_vectors_, feature_info_.get()));
|
| + program_manager_.reset(
|
| + new ProgramManager(program_cache_, max_varying_vectors_,
|
| + max_dual_source_draw_buffers_, feature_info_.get()));
|
|
|
| if (!texture_manager_->Initialize()) {
|
| LOG(ERROR) << "Context::Group::Initialize failed because texture manager "
|
|
|