| Index: gpu/command_buffer/service/feature_info.cc
|
| diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc
|
| index ff83e018b3293f0ca74c4fddbfdd39d9c0fc691c..1e03130b89b166cb4c076840e2af7405fca3a6c9 100644
|
| --- a/gpu/command_buffer/service/feature_info.cc
|
| +++ b/gpu/command_buffer/service/feature_info.cc
|
| @@ -108,64 +108,7 @@ class ScopedPixelUnpackBufferOverride {
|
|
|
| } // anonymous namespace.
|
|
|
| -FeatureInfo::FeatureFlags::FeatureFlags()
|
| - : chromium_framebuffer_multisample(false),
|
| - chromium_sync_query(false),
|
| - use_core_framebuffer_multisample(false),
|
| - multisampled_render_to_texture(false),
|
| - use_img_for_multisampled_render_to_texture(false),
|
| - chromium_screen_space_antialiasing(false),
|
| - use_chromium_screen_space_antialiasing_via_shaders(false),
|
| - oes_standard_derivatives(false),
|
| - oes_egl_image_external(false),
|
| - nv_egl_stream_consumer_external(false),
|
| - oes_depth24(false),
|
| - oes_compressed_etc1_rgb8_texture(false),
|
| - packed_depth24_stencil8(false),
|
| - npot_ok(false),
|
| - enable_texture_float_linear(false),
|
| - enable_texture_half_float_linear(false),
|
| - angle_translated_shader_source(false),
|
| - angle_pack_reverse_row_order(false),
|
| - arb_texture_rectangle(false),
|
| - angle_instanced_arrays(false),
|
| - occlusion_query(false),
|
| - occlusion_query_boolean(false),
|
| - use_arb_occlusion_query2_for_occlusion_query_boolean(false),
|
| - use_arb_occlusion_query_for_occlusion_query_boolean(false),
|
| - native_vertex_array_object(false),
|
| - ext_texture_format_astc(false),
|
| - ext_texture_format_atc(false),
|
| - ext_texture_format_bgra8888(false),
|
| - ext_texture_format_dxt1(false),
|
| - ext_texture_format_dxt5(false),
|
| - enable_shader_name_hashing(false),
|
| - enable_samplers(false),
|
| - ext_draw_buffers(false),
|
| - nv_draw_buffers(false),
|
| - ext_frag_depth(false),
|
| - ext_shader_texture_lod(false),
|
| - use_async_readpixels(false),
|
| - map_buffer_range(false),
|
| - ext_discard_framebuffer(false),
|
| - angle_depth_texture(false),
|
| - is_swiftshader(false),
|
| - angle_texture_usage(false),
|
| - ext_texture_storage(false),
|
| - chromium_path_rendering(false),
|
| - chromium_framebuffer_mixed_samples(false),
|
| - blend_equation_advanced(false),
|
| - blend_equation_advanced_coherent(false),
|
| - ext_texture_rg(false),
|
| - chromium_image_ycbcr_420v(false),
|
| - chromium_image_ycbcr_422(false),
|
| - emulate_primitive_restart_fixed_index(false),
|
| - ext_render_buffer_format_bgra8888(false),
|
| - ext_multisample_compatibility(false),
|
| - ext_blend_func_extended(false),
|
| - ext_read_format_bgra(false),
|
| - desktop_srgb_support(false),
|
| - arb_es3_compatibility(false) {}
|
| +FeatureInfo::FeatureFlags::FeatureFlags() {}
|
|
|
| FeatureInfo::FeatureInfo() {
|
| InitializeBasicState(base::CommandLine::InitializedForCurrentProcess()
|
| @@ -289,6 +232,7 @@ void FeatureInfo::EnableEXTColorBufferFloat() {
|
| GL_RGBA32F);
|
| validators_.texture_sized_color_renderable_internal_format.AddValue(
|
| GL_R11F_G11F_B10F);
|
| + feature_flags_.enable_color_buffer_float = true;
|
| }
|
|
|
| void FeatureInfo::EnableCHROMIUMColorBufferFloatRGBA() {
|
| @@ -786,6 +730,9 @@ void FeatureInfo::InitializeFeatures() {
|
| bool enable_texture_half_float_linear = false;
|
| bool enable_ext_color_buffer_float = false;
|
|
|
| + // Do not expose EXT_color_buffer_float to WebGL 1.
|
| + const bool allow_ext_color_buffer_float =
|
| + context_type_ != CONTEXT_TYPE_WEBGL1;
|
| bool may_enable_chromium_color_buffer_float = false;
|
|
|
| // This extension allows a variety of floating point formats to be
|
| @@ -886,7 +833,8 @@ void FeatureInfo::InitializeFeatures() {
|
|
|
| // For desktop systems, check to see if we support rendering to the full
|
| // range of formats supported by EXT_color_buffer_float
|
| - if (status_rgba == GL_FRAMEBUFFER_COMPLETE && enable_es3) {
|
| + if (status_rgba == GL_FRAMEBUFFER_COMPLETE &&
|
| + allow_ext_color_buffer_float) {
|
| bool full_float_support = true;
|
|
|
| glTexImage2D(GL_TEXTURE_2D, 0, GL_R16F, width, width, 0, GL_RED,
|
| @@ -938,7 +886,7 @@ void FeatureInfo::InitializeFeatures() {
|
| }
|
|
|
| // Enable the GL_EXT_color_buffer_float extension for WebGL 2.0
|
| - if (enable_ext_color_buffer_float && enable_es3) {
|
| + if (enable_ext_color_buffer_float && allow_ext_color_buffer_float) {
|
| ext_color_buffer_float_available_ = true;
|
| if (!disallowed_features_.ext_color_buffer_float)
|
| EnableEXTColorBufferFloat();
|
|
|