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 = false; | 35 bool chromium_framebuffer_multisample; |
36 bool chromium_sync_query = false; | 36 bool chromium_sync_query; |
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 = false; | 40 bool use_core_framebuffer_multisample; |
41 bool multisampled_render_to_texture = false; | 41 bool multisampled_render_to_texture; |
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 = false; | 43 bool use_img_for_multisampled_render_to_texture; |
44 bool chromium_screen_space_antialiasing = false; | 44 bool chromium_screen_space_antialiasing; |
45 bool use_chromium_screen_space_antialiasing_via_shaders = false; | 45 bool use_chromium_screen_space_antialiasing_via_shaders; |
46 bool oes_standard_derivatives = false; | 46 bool oes_standard_derivatives; |
47 bool oes_egl_image_external = false; | 47 bool oes_egl_image_external; |
48 bool nv_egl_stream_consumer_external = false; | 48 bool nv_egl_stream_consumer_external; |
49 bool oes_depth24 = false; | 49 bool oes_depth24; |
50 bool oes_compressed_etc1_rgb8_texture = false; | 50 bool oes_compressed_etc1_rgb8_texture; |
51 bool packed_depth24_stencil8 = false; | 51 bool packed_depth24_stencil8; |
52 bool npot_ok = false; | 52 bool npot_ok; |
53 bool enable_texture_float_linear = false; | 53 bool enable_texture_float_linear; |
54 bool enable_texture_half_float_linear = false; | 54 bool enable_texture_half_float_linear; |
55 bool enable_color_buffer_float = false; | 55 bool angle_translated_shader_source; |
56 bool angle_translated_shader_source = false; | 56 bool angle_pack_reverse_row_order; |
57 bool angle_pack_reverse_row_order = false; | 57 bool arb_texture_rectangle; |
58 bool arb_texture_rectangle = false; | 58 bool angle_instanced_arrays; |
59 bool angle_instanced_arrays = false; | 59 bool occlusion_query; |
60 bool occlusion_query = false; | 60 bool occlusion_query_boolean; |
61 bool occlusion_query_boolean = false; | 61 bool use_arb_occlusion_query2_for_occlusion_query_boolean; |
62 bool use_arb_occlusion_query2_for_occlusion_query_boolean = false; | 62 bool use_arb_occlusion_query_for_occlusion_query_boolean; |
63 bool use_arb_occlusion_query_for_occlusion_query_boolean = false; | 63 bool native_vertex_array_object; |
64 bool native_vertex_array_object = false; | 64 bool ext_texture_format_astc; |
65 bool ext_texture_format_astc = false; | 65 bool ext_texture_format_atc; |
66 bool ext_texture_format_atc = false; | 66 bool ext_texture_format_bgra8888; |
67 bool ext_texture_format_bgra8888 = false; | 67 bool ext_texture_format_dxt1; |
68 bool ext_texture_format_dxt1 = false; | 68 bool ext_texture_format_dxt5; |
69 bool ext_texture_format_dxt5 = false; | 69 bool enable_shader_name_hashing; |
70 bool enable_shader_name_hashing = false; | 70 bool enable_samplers; |
71 bool enable_samplers = false; | 71 bool ext_draw_buffers; |
72 bool ext_draw_buffers = false; | 72 bool nv_draw_buffers; |
73 bool nv_draw_buffers = false; | 73 bool ext_frag_depth; |
74 bool ext_frag_depth = false; | 74 bool ext_shader_texture_lod; |
75 bool ext_shader_texture_lod = false; | 75 bool use_async_readpixels; |
76 bool use_async_readpixels = false; | 76 bool map_buffer_range; |
77 bool map_buffer_range = false; | 77 bool ext_discard_framebuffer; |
78 bool ext_discard_framebuffer = false; | 78 bool angle_depth_texture; |
79 bool angle_depth_texture = false; | 79 bool is_swiftshader; |
80 bool is_swiftshader = false; | 80 bool angle_texture_usage; |
81 bool angle_texture_usage = false; | 81 bool ext_texture_storage; |
82 bool ext_texture_storage = false; | 82 bool chromium_path_rendering; |
83 bool chromium_path_rendering = false; | 83 bool chromium_framebuffer_mixed_samples; |
84 bool chromium_framebuffer_mixed_samples = false; | 84 bool blend_equation_advanced; |
85 bool blend_equation_advanced = false; | 85 bool blend_equation_advanced_coherent; |
86 bool blend_equation_advanced_coherent = false; | 86 bool ext_texture_rg; |
87 bool ext_texture_rg = false; | 87 bool chromium_image_ycbcr_420v; |
88 bool chromium_image_ycbcr_420v = false; | 88 bool chromium_image_ycbcr_422; |
89 bool chromium_image_ycbcr_422 = false; | 89 bool emulate_primitive_restart_fixed_index; |
90 bool emulate_primitive_restart_fixed_index = false; | 90 bool ext_render_buffer_format_bgra8888; |
91 bool ext_render_buffer_format_bgra8888 = false; | 91 bool ext_multisample_compatibility; |
92 bool ext_multisample_compatibility = false; | 92 bool ext_blend_func_extended; |
93 bool ext_blend_func_extended = false; | 93 bool ext_read_format_bgra; |
94 bool ext_read_format_bgra = false; | 94 bool desktop_srgb_support; |
95 bool desktop_srgb_support = false; | 95 bool arb_es3_compatibility; |
96 bool arb_es3_compatibility = false; | |
97 bool chromium_color_buffer_float_rgb = false; | 96 bool chromium_color_buffer_float_rgb = false; |
98 bool chromium_color_buffer_float_rgba = false; | 97 bool chromium_color_buffer_float_rgba = false; |
99 bool angle_robust_client_memory = false; | 98 bool angle_robust_client_memory = false; |
100 bool khr_debug = false; | 99 bool khr_debug = false; |
101 bool chromium_bind_generates_resource = false; | 100 bool chromium_bind_generates_resource = false; |
102 bool angle_webgl_compatibility = false; | 101 bool angle_webgl_compatibility = false; |
103 bool ext_srgb_write_control = false; | 102 bool ext_srgb_write_control = false; |
104 bool ext_srgb = false; | 103 bool ext_srgb = false; |
105 }; | 104 }; |
106 | 105 |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 bool disable_shader_translator_; | 204 bool disable_shader_translator_; |
206 std::unique_ptr<gl::GLVersionInfo> gl_version_info_; | 205 std::unique_ptr<gl::GLVersionInfo> gl_version_info_; |
207 | 206 |
208 DISALLOW_COPY_AND_ASSIGN(FeatureInfo); | 207 DISALLOW_COPY_AND_ASSIGN(FeatureInfo); |
209 }; | 208 }; |
210 | 209 |
211 } // namespace gles2 | 210 } // namespace gles2 |
212 } // namespace gpu | 211 } // namespace gpu |
213 | 212 |
214 #endif // GPU_COMMAND_BUFFER_SERVICE_FEATURE_INFO_H_ | 213 #endif // GPU_COMMAND_BUFFER_SERVICE_FEATURE_INFO_H_ |
OLD | NEW |