Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1121)

Side by Side Diff: gpu/command_buffer/service/feature_info.cc

Issue 2519603002: Add command buffer support for EXT_sRGB_write_control (Closed)
Patch Set: And more cleanup Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/feature_info.h" 5 #include "gpu/command_buffer/service/feature_info.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <set> 9 #include <set>
10 #include <vector> 10 #include <vector>
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after
592 AddExtensionString("GL_EXT_sRGB"); 592 AddExtensionString("GL_EXT_sRGB");
593 validators_.texture_internal_format.AddValue(GL_SRGB_EXT); 593 validators_.texture_internal_format.AddValue(GL_SRGB_EXT);
594 validators_.texture_internal_format.AddValue(GL_SRGB_ALPHA_EXT); 594 validators_.texture_internal_format.AddValue(GL_SRGB_ALPHA_EXT);
595 validators_.texture_format.AddValue(GL_SRGB_EXT); 595 validators_.texture_format.AddValue(GL_SRGB_EXT);
596 validators_.texture_format.AddValue(GL_SRGB_ALPHA_EXT); 596 validators_.texture_format.AddValue(GL_SRGB_ALPHA_EXT);
597 validators_.render_buffer_format.AddValue(GL_SRGB8_ALPHA8_EXT); 597 validators_.render_buffer_format.AddValue(GL_SRGB8_ALPHA8_EXT);
598 validators_.framebuffer_parameter.AddValue( 598 validators_.framebuffer_parameter.AddValue(
599 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT); 599 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT);
600 validators_.texture_unsized_internal_format.AddValue(GL_SRGB_EXT); 600 validators_.texture_unsized_internal_format.AddValue(GL_SRGB_EXT);
601 validators_.texture_unsized_internal_format.AddValue(GL_SRGB_ALPHA_EXT); 601 validators_.texture_unsized_internal_format.AddValue(GL_SRGB_ALPHA_EXT);
602
603 // GL_FRAMEBUFFER_SRGB_EXT is exposed by the GLES extension
604 // GL_EXT_sRGB_write_control (which is not part of the core, even in GLES3),
605 // and the desktop extension GL_ARB_framebuffer_sRGB (part of the core in
606 // 3.0).
607 if (feature_flags_.desktop_srgb_support ||
608 extensions.Contains("GL_EXT_sRGB_write_control")) {
Zhenyao Mo 2016/11/30 19:31:11 Don't does this if IsWebGLContext(). Otherwise you
ccameron 2016/11/30 23:59:44 Updated to track if we support srgb framebuffers,
609 feature_flags_.ext_srgb_write_control = true;
610 AddExtensionString("GL_EXT_sRGB_write_control");
611 validators_.capability.AddValue(GL_FRAMEBUFFER_SRGB_EXT);
612 }
602 } 613 }
603 614
604 // On desktop, GL_EXT_texture_sRGB is required regardless of GL version, 615 // On desktop, GL_EXT_texture_sRGB is required regardless of GL version,
605 // since the sRGB formats in OpenGL 3.0 Core do not support S3TC. 616 // since the sRGB formats in OpenGL 3.0 Core do not support S3TC.
606 // TODO(kainino): Support GL_EXT_texture_compression_s3tc_srgb once ratified. 617 // TODO(kainino): Support GL_EXT_texture_compression_s3tc_srgb once ratified.
607 if ((gl_version_info_->is_es && extensions.Contains("GL_NV_sRGB_formats")) || 618 if ((gl_version_info_->is_es && extensions.Contains("GL_NV_sRGB_formats")) ||
608 (!gl_version_info_->is_es && 619 (!gl_version_info_->is_es &&
609 extensions.Contains("GL_EXT_texture_sRGB") && 620 extensions.Contains("GL_EXT_texture_sRGB") &&
610 extensions.Contains("GL_EXT_texture_compression_s3tc"))) { 621 extensions.Contains("GL_EXT_texture_compression_s3tc"))) {
611 AddExtensionString("GL_EXT_texture_compression_s3tc_srgb"); 622 AddExtensionString("GL_EXT_texture_compression_s3tc_srgb");
(...skipping 927 matching lines...) Expand 10 before | Expand all | Expand 10 after
1539 if (pos == std::string::npos) { 1550 if (pos == std::string::npos) {
1540 extensions_ += (extensions_.empty() ? "" : " ") + str; 1551 extensions_ += (extensions_.empty() ? "" : " ") + str;
1541 } 1552 }
1542 } 1553 }
1543 1554
1544 FeatureInfo::~FeatureInfo() { 1555 FeatureInfo::~FeatureInfo() {
1545 } 1556 }
1546 1557
1547 } // namespace gles2 1558 } // namespace gles2
1548 } // namespace gpu 1559 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698