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 <string> | 8 #include <string> |
9 #include "base/hash_tables.h" | 9 #include "base/hash_tables.h" |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
11 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 11 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
12 #include "gpu/command_buffer/service/gles2_cmd_validation.h" | 12 #include "gpu/command_buffer/service/gles2_cmd_validation.h" |
13 #include "gpu/gpu_export.h" | 13 #include "gpu/gpu_export.h" |
14 | 14 |
15 namespace gpu { | 15 namespace gpu { |
16 namespace gles2 { | 16 namespace gles2 { |
17 | 17 |
18 // FeatureInfo records the features that are available for a ContextGroup. | 18 // FeatureInfo records the features that are available for a ContextGroup. |
19 class GPU_EXPORT FeatureInfo : public base::RefCounted<FeatureInfo> { | 19 class GPU_EXPORT FeatureInfo : public base::RefCounted<FeatureInfo> { |
20 public: | 20 public: |
21 typedef scoped_refptr<FeatureInfo> Ref; | 21 typedef scoped_refptr<FeatureInfo> Ref; |
22 | 22 |
23 struct FeatureFlags { | 23 struct FeatureFlags { |
24 FeatureFlags() | 24 FeatureFlags(); |
25 : chromium_framebuffer_multisample(false), | |
26 oes_standard_derivatives(false), | |
27 oes_egl_image_external(false), | |
28 npot_ok(false), | |
29 enable_texture_float_linear(false), | |
30 enable_texture_half_float_linear(false), | |
31 chromium_webglsl(false), | |
32 chromium_stream_texture(false), | |
33 angle_translated_shader_source(false), | |
34 angle_pack_reverse_row_order(false), | |
35 arb_texture_rectangle(false), | |
36 angle_instanced_arrays(false), | |
37 occlusion_query_boolean(false), | |
38 use_arb_occlusion_query2_for_occlusion_query_boolean(false), | |
39 use_arb_occlusion_query_for_occlusion_query_boolean(false), | |
40 disable_workarounds(false), | |
41 is_intel(false), | |
42 is_nvidia(false), | |
43 is_amd(false) { | |
44 } | |
45 | 25 |
46 bool chromium_framebuffer_multisample; | 26 bool chromium_framebuffer_multisample; |
47 bool oes_standard_derivatives; | 27 bool oes_standard_derivatives; |
48 bool oes_egl_image_external; | 28 bool oes_egl_image_external; |
49 bool npot_ok; | 29 bool npot_ok; |
50 bool enable_texture_float_linear; | 30 bool enable_texture_float_linear; |
51 bool enable_texture_half_float_linear; | 31 bool enable_texture_half_float_linear; |
52 bool chromium_webglsl; | 32 bool chromium_webglsl; |
53 bool chromium_stream_texture; | 33 bool chromium_stream_texture; |
54 bool angle_translated_shader_source; | 34 bool angle_translated_shader_source; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 // Flags for some features | 92 // Flags for some features |
113 FeatureFlags feature_flags_; | 93 FeatureFlags feature_flags_; |
114 | 94 |
115 DISALLOW_COPY_AND_ASSIGN(FeatureInfo); | 95 DISALLOW_COPY_AND_ASSIGN(FeatureInfo); |
116 }; | 96 }; |
117 | 97 |
118 } // namespace gles2 | 98 } // namespace gles2 |
119 } // namespace gpu | 99 } // namespace gpu |
120 | 100 |
121 #endif // GPU_COMMAND_BUFFER_SERVICE_FEATURE_INFO_H_ | 101 #endif // GPU_COMMAND_BUFFER_SERVICE_FEATURE_INFO_H_ |
122 | |
123 | |
OLD | NEW |