summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
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,