| Index: gpu/command_buffer/service/feature_info.cc
|
| ===================================================================
|
| --- gpu/command_buffer/service/feature_info.cc (revision 195901)
|
| +++ gpu/command_buffer/service/feature_info.cc (working copy)
|
| @@ -95,6 +95,7 @@
|
| use_current_program_after_successful_link(false),
|
| restore_scissor_on_fbo_change(false),
|
| flush_on_context_switch(false),
|
| + makecurrent_recreates_surfaces(false),
|
| delete_instead_of_resize_fbo(false),
|
| use_client_side_arrays_for_stream_buffers(false),
|
| max_texture_size(0),
|
| @@ -172,6 +173,7 @@
|
| bool is_qualcomm = false;
|
| bool is_imagination = false;
|
| bool is_arm = false;
|
| + bool is_hisilicon = false;
|
| for (size_t ii = 0; ii < arraysize(string_ids); ++ii) {
|
| const char* str = reinterpret_cast<const char*>(
|
| glGetString(string_ids[ii]));
|
| @@ -185,6 +187,7 @@
|
| is_qualcomm |= string_set.Contains("qualcomm");
|
| is_imagination |= string_set.Contains("imagination");
|
| is_arm |= string_set.Contains("arm");
|
| + is_hisilicon |= string_set.Contains("hisilicon");
|
| }
|
| }
|
|
|
| @@ -656,6 +659,10 @@
|
| workarounds_.delete_instead_of_resize_fbo = true;
|
| }
|
|
|
| + if (is_hisilicon) {
|
| + workarounds_.makecurrent_recreates_surfaces = true;
|
| + }
|
| +
|
| #if defined(OS_MACOSX)
|
| workarounds_.needs_offscreen_buffer_workaround = is_nvidia;
|
| workarounds_.needs_glsl_built_in_function_emulation = is_amd;
|
|
|