OLD | NEW |
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 #ifndef GPU_COMMAND_BUFFER_SERVICE_FEATURE_INFO_H_ | 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_FEATURE_INFO_H_ |
6 #define GPU_COMMAND_BUFFER_SERVICE_FEATURE_INFO_H_ | 6 #define GPU_COMMAND_BUFFER_SERVICE_FEATURE_INFO_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 14 matching lines...) Expand all Loading... |
25 | 25 |
26 namespace gpu { | 26 namespace gpu { |
27 namespace gles2 { | 27 namespace gles2 { |
28 | 28 |
29 // FeatureInfo records the features that are available for a ContextGroup. | 29 // FeatureInfo records the features that are available for a ContextGroup. |
30 class GPU_EXPORT FeatureInfo : public base::RefCounted<FeatureInfo> { | 30 class GPU_EXPORT FeatureInfo : public base::RefCounted<FeatureInfo> { |
31 public: | 31 public: |
32 struct FeatureFlags { | 32 struct FeatureFlags { |
33 FeatureFlags(); | 33 FeatureFlags(); |
34 | 34 |
35 bool chromium_framebuffer_multisample; | 35 bool chromium_framebuffer_multisample = false; |
36 bool chromium_sync_query; | 36 bool chromium_sync_query = false; |
37 // Use glBlitFramebuffer() and glRenderbufferStorageMultisample() with | 37 // Use glBlitFramebuffer() and glRenderbufferStorageMultisample() with |
38 // GL_EXT_framebuffer_multisample-style semantics, since they are exposed | 38 // GL_EXT_framebuffer_multisample-style semantics, since they are exposed |
39 // as core GL functions on this implementation. | 39 // as core GL functions on this implementation. |
40 bool use_core_framebuffer_multisample; | 40 bool use_core_framebuffer_multisample = false; |
41 bool multisampled_render_to_texture; | 41 bool multisampled_render_to_texture = false; |
42 // Use the IMG GLenum values and functions rather than EXT. | 42 // Use the IMG GLenum values and functions rather than EXT. |
43 bool use_img_for_multisampled_render_to_texture; | 43 bool use_img_for_multisampled_render_to_texture = false; |
44 bool chromium_screen_space_antialiasing; | 44 bool chromium_screen_space_antialiasing = false; |
45 bool use_chromium_screen_space_antialiasing_via_shaders; | 45 bool use_chromium_screen_space_antialiasing_via_shaders = false; |
46 bool oes_standard_derivatives; | 46 bool oes_standard_derivatives = false; |
47 bool oes_egl_image_external; | 47 bool oes_egl_image_external = false; |
48 bool nv_egl_stream_consumer_external; | 48 bool nv_egl_stream_consumer_external = false; |
49 bool oes_depth24; | 49 bool oes_depth24 = false; |
50 bool oes_compressed_etc1_rgb8_texture; | 50 bool oes_compressed_etc1_rgb8_texture = false; |
51 bool packed_depth24_stencil8; | 51 bool packed_depth24_stencil8 = false; |
52 bool npot_ok; | 52 bool npot_ok = false; |
53 bool enable_texture_float_linear; | 53 bool enable_texture_float_linear = false; |
54 bool enable_texture_half_float_linear; | 54 bool enable_texture_half_float_linear = false; |
55 bool angle_translated_shader_source; | 55 bool enable_color_buffer_float = false; |
56 bool angle_pack_reverse_row_order; | 56 bool angle_translated_shader_source = false; |
57 bool arb_texture_rectangle; | 57 bool angle_pack_reverse_row_order = false; |
58 bool angle_instanced_arrays; | 58 bool arb_texture_rectangle = false; |
59 bool occlusion_query; | 59 bool angle_instanced_arrays = false; |
60 bool occlusion_query_boolean; | 60 bool occlusion_query = false; |
61 bool use_arb_occlusion_query2_for_occlusion_query_boolean; | 61 bool occlusion_query_boolean = false; |
62 bool use_arb_occlusion_query_for_occlusion_query_boolean; | 62 bool use_arb_occlusion_query2_for_occlusion_query_boolean = false; |
63 bool native_vertex_array_object; | 63 bool use_arb_occlusion_query_for_occlusion_query_boolean = false; |
64 bool ext_texture_format_astc; | 64 bool native_vertex_array_object = false; |
65 bool ext_texture_format_atc; | 65 bool ext_texture_format_astc = false; |
66 bool ext_texture_format_bgra8888; | 66 bool ext_texture_format_atc = false; |
67 bool ext_texture_format_dxt1; | 67 bool ext_texture_format_bgra8888 = false; |
68 bool ext_texture_format_dxt5; | 68 bool ext_texture_format_dxt1 = false; |
69 bool enable_shader_name_hashing; | 69 bool ext_texture_format_dxt5 = false; |
70 bool enable_samplers; | 70 bool enable_shader_name_hashing = false; |
71 bool ext_draw_buffers; | 71 bool enable_samplers = false; |
72 bool nv_draw_buffers; | 72 bool ext_draw_buffers = false; |
73 bool ext_frag_depth; | 73 bool nv_draw_buffers = false; |
74 bool ext_shader_texture_lod; | 74 bool ext_frag_depth = false; |
75 bool use_async_readpixels; | 75 bool ext_shader_texture_lod = false; |
76 bool map_buffer_range; | 76 bool use_async_readpixels = false; |
77 bool ext_discard_framebuffer; | 77 bool map_buffer_range = false; |
78 bool angle_depth_texture; | 78 bool ext_discard_framebuffer = false; |
79 bool is_swiftshader; | 79 bool angle_depth_texture = false; |
80 bool angle_texture_usage; | 80 bool is_swiftshader = false; |
81 bool ext_texture_storage; | 81 bool angle_texture_usage = false; |
82 bool chromium_path_rendering; | 82 bool ext_texture_storage = false; |
83 bool chromium_framebuffer_mixed_samples; | 83 bool chromium_path_rendering = false; |
84 bool blend_equation_advanced; | 84 bool chromium_framebuffer_mixed_samples = false; |
85 bool blend_equation_advanced_coherent; | 85 bool blend_equation_advanced = false; |
86 bool ext_texture_rg; | 86 bool blend_equation_advanced_coherent = false; |
87 bool chromium_image_ycbcr_420v; | 87 bool ext_texture_rg = false; |
88 bool chromium_image_ycbcr_422; | 88 bool chromium_image_ycbcr_420v = false; |
89 bool emulate_primitive_restart_fixed_index; | 89 bool chromium_image_ycbcr_422 = false; |
90 bool ext_render_buffer_format_bgra8888; | 90 bool emulate_primitive_restart_fixed_index = false; |
91 bool ext_multisample_compatibility; | 91 bool ext_render_buffer_format_bgra8888 = false; |
92 bool ext_blend_func_extended; | 92 bool ext_multisample_compatibility = false; |
93 bool ext_read_format_bgra; | 93 bool ext_blend_func_extended = false; |
94 bool desktop_srgb_support; | 94 bool ext_read_format_bgra = false; |
95 bool arb_es3_compatibility; | 95 bool desktop_srgb_support = false; |
| 96 bool arb_es3_compatibility = false; |
96 bool chromium_color_buffer_float_rgb = false; | 97 bool chromium_color_buffer_float_rgb = false; |
97 bool chromium_color_buffer_float_rgba = false; | 98 bool chromium_color_buffer_float_rgba = false; |
98 bool angle_robust_client_memory = false; | 99 bool angle_robust_client_memory = false; |
99 bool khr_debug = false; | 100 bool khr_debug = false; |
100 bool chromium_bind_generates_resource = false; | 101 bool chromium_bind_generates_resource = false; |
101 bool angle_webgl_compatibility = false; | 102 bool angle_webgl_compatibility = false; |
102 bool ext_srgb_write_control = false; | 103 bool ext_srgb_write_control = false; |
103 bool ext_srgb = false; | 104 bool ext_srgb = false; |
104 }; | 105 }; |
105 | 106 |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 bool disable_shader_translator_; | 205 bool disable_shader_translator_; |
205 std::unique_ptr<gl::GLVersionInfo> gl_version_info_; | 206 std::unique_ptr<gl::GLVersionInfo> gl_version_info_; |
206 | 207 |
207 DISALLOW_COPY_AND_ASSIGN(FeatureInfo); | 208 DISALLOW_COPY_AND_ASSIGN(FeatureInfo); |
208 }; | 209 }; |
209 | 210 |
210 } // namespace gles2 | 211 } // namespace gles2 |
211 } // namespace gpu | 212 } // namespace gpu |
212 | 213 |
213 #endif // GPU_COMMAND_BUFFER_SERVICE_FEATURE_INFO_H_ | 214 #endif // GPU_COMMAND_BUFFER_SERVICE_FEATURE_INFO_H_ |
OLD | NEW |