Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Unified Diff: gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc

Issue 2319373004: Query the GL limits for the passthrough command buffer. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
index 61683bd4a7b47303f92a62ab7daaf7601dfe3654..f3a19dc7527d93446ccadc38cbbb9e8ac4fbca2c 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
@@ -4,6 +4,10 @@
#include "gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h"
+#include "gpu/command_buffer/service/feature_info.h"
+#include "gpu/command_buffer/service/gl_utils.h"
+#include "ui/gl/gl_version_info.h"
+
namespace gpu {
namespace gles2 {
@@ -181,6 +185,63 @@ const FeatureInfo* GLES2DecoderPassthroughImpl::GetFeatureInfo() const {
gpu::Capabilities GLES2DecoderPassthroughImpl::GetCapabilities() {
DCHECK(initialized());
Capabilities caps;
+
+ PopulateNumericCapabilities(&caps, feature_info_.get());
+
+ caps.bind_generates_resource_chromium = group_->bind_generates_resource();
+ caps.egl_image_external =
+ feature_info_->feature_flags().oes_egl_image_external;
+ caps.texture_format_astc =
+ feature_info_->feature_flags().ext_texture_format_astc;
+ caps.texture_format_atc =
+ feature_info_->feature_flags().ext_texture_format_atc;
+ caps.texture_format_bgra8888 =
+ feature_info_->feature_flags().ext_texture_format_bgra8888;
+ caps.texture_format_dxt1 =
+ feature_info_->feature_flags().ext_texture_format_dxt1;
+ caps.texture_format_dxt5 =
+ feature_info_->feature_flags().ext_texture_format_dxt5;
+ caps.texture_format_etc1 =
+ feature_info_->feature_flags().oes_compressed_etc1_rgb8_texture;
+ caps.texture_format_etc1_npot = caps.texture_format_etc1;
+ caps.texture_rectangle = feature_info_->feature_flags().arb_texture_rectangle;
+ caps.texture_usage = feature_info_->feature_flags().angle_texture_usage;
+ caps.texture_storage = feature_info_->feature_flags().ext_texture_storage;
+ caps.discard_framebuffer =
+ feature_info_->feature_flags().ext_discard_framebuffer;
+ caps.sync_query = feature_info_->feature_flags().chromium_sync_query;
+#if defined(OS_MACOSX)
+ // This is unconditionally true on mac, no need to test for it at runtime.
+ caps.iosurface = true;
+#endif
+ caps.image = true;
+ caps.flips_vertically = surface_->FlipsVertically();
+ caps.blend_equation_advanced =
+ feature_info_->feature_flags().blend_equation_advanced;
+ caps.blend_equation_advanced_coherent =
+ feature_info_->feature_flags().blend_equation_advanced_coherent;
+ caps.texture_rg = feature_info_->feature_flags().ext_texture_rg;
+ caps.texture_half_float_linear =
+ feature_info_->feature_flags().enable_texture_half_float_linear;
+ caps.image_ycbcr_422 =
+ feature_info_->feature_flags().chromium_image_ycbcr_422;
+ caps.image_ycbcr_420v =
+ feature_info_->feature_flags().chromium_image_ycbcr_420v;
+ caps.max_copy_texture_chromium_size =
+ feature_info_->workarounds().max_copy_texture_chromium_size;
+ caps.render_buffer_format_bgra8888 =
+ feature_info_->feature_flags().ext_render_buffer_format_bgra8888;
+ caps.occlusion_query_boolean =
+ feature_info_->feature_flags().occlusion_query_boolean;
+
+ // TODO:
+ // caps.timer_queries
+ // caps.post_sub_buffer
+ // caps.commit_overlay_planes
+ // caps.surfaceless
+ // caps.is_offscreen
+ // caps.flips_vertically
+
return caps;
}
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698