summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authorepenner@chromium.org <epenner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-13 02:02:52 +0000
committerepenner@chromium.org <epenner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-13 02:02:52 +0000
commitbf5b3a03c2e353721a629a4fde119d1e1fdc8484 (patch)
treee4593c87193131ba89373860758c17da6995218e /gpu
parentb9a1cd10f43c03cd5d429a97b1debb4698c561af (diff)
downloadchromium_src-bf5b3a03c2e353721a629a4fde119d1e1fdc8484.zip
chromium_src-bf5b3a03c2e353721a629a4fde119d1e1fdc8484.tar.gz
chromium_src-bf5b3a03c2e353721a629a4fde119d1e1fdc8484.tar.bz2
cc: Avoid power of two textures.
After rounding up to 64, it becomes more likely to hit power-of-two textures which are also bad for IMG. So, this avoids powers-of-two for IMG, through a fast-path extension. BUG=175319 No try, since it only failed win_rel full-screen tests, but this only has any effect on Android Imagination devices. NOTRY=true Review URL: https://chromiumcodereview.appspot.com/12217102 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182087 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r--gpu/command_buffer/service/feature_info.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc
index 30c82d7..06d8444 100644
--- a/gpu/command_buffer/service/feature_info.cc
+++ b/gpu/command_buffer/service/feature_info.cc
@@ -166,6 +166,7 @@ void FeatureInfo::AddFeatures() {
bool is_amd = false;
bool is_mesa = false;
bool is_qualcomm = false;
+ bool is_imagination = false;
for (size_t ii = 0; ii < arraysize(string_ids); ++ii) {
const char* str = reinterpret_cast<const char*>(
glGetString(string_ids[ii]));
@@ -177,6 +178,7 @@ void FeatureInfo::AddFeatures() {
is_amd |= string_set.Contains("amd") || string_set.Contains("ati");
is_mesa |= string_set.Contains("mesa");
is_qualcomm |= string_set.Contains("qualcomm");
+ is_imagination |= string_set.Contains("imagination");
}
}
@@ -210,6 +212,12 @@ void FeatureInfo::AddFeatures() {
AddExtensionString("GL_CHROMIUM_texture_mailbox");
AddExtensionString("GL_EXT_debug_marker");
+ // Add extension to indicate fast-path texture uploads. This is
+ // for IMG, where everything except async + non-power-of-two +
+ // multiple-of-eight textures are brutally slow.
+ if (is_imagination)
+ AddExtensionString("GL_CHROMIUM_fast_NPOT_MO8_textures");
+
feature_flags_.chromium_stream_texture = true;
// OES_vertex_array_object is emulated if not present natively,