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

Side by Side Diff: gpu/command_buffer/client/gles2_implementation.cc

Issue 205193006: gpu: Remove map_image field from gpu::Capabilities. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: move TODO Created 6 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 // A class to emulate GLES2 over command buffers. 5 // A class to emulate GLES2 over command buffers.
6 6
7 #include "gpu/command_buffer/client/gles2_implementation.h" 7 #include "gpu/command_buffer/client/gles2_implementation.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <map> 10 #include <map>
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 GLES2Implementation::SingleThreadChecker::~SingleThreadChecker() { 79 GLES2Implementation::SingleThreadChecker::~SingleThreadChecker() {
80 --gles2_implementation_->use_count_; 80 --gles2_implementation_->use_count_;
81 CHECK_EQ(0, gles2_implementation_->use_count_); 81 CHECK_EQ(0, gles2_implementation_->use_count_);
82 } 82 }
83 83
84 GLES2Implementation::GLES2Implementation( 84 GLES2Implementation::GLES2Implementation(
85 GLES2CmdHelper* helper, 85 GLES2CmdHelper* helper,
86 ShareGroup* share_group, 86 ShareGroup* share_group,
87 TransferBufferInterface* transfer_buffer, 87 TransferBufferInterface* transfer_buffer,
88 bool bind_generates_resource, 88 bool bind_generates_resource,
89 GpuControl* gpu_control) 89 GpuControl* gpu_control,
90 const Capabilities& capabilities)
90 : helper_(helper), 91 : helper_(helper),
91 transfer_buffer_(transfer_buffer), 92 transfer_buffer_(transfer_buffer),
92 angle_pack_reverse_row_order_status_(kUnknownExtensionStatus), 93 angle_pack_reverse_row_order_status_(kUnknownExtensionStatus),
93 chromium_framebuffer_multisample_(kUnknownExtensionStatus), 94 chromium_framebuffer_multisample_(kUnknownExtensionStatus),
94 pack_alignment_(4), 95 pack_alignment_(4),
95 unpack_alignment_(4), 96 unpack_alignment_(4),
96 unpack_flip_y_(false), 97 unpack_flip_y_(false),
97 unpack_row_length_(0), 98 unpack_row_length_(0),
98 unpack_skip_rows_(0), 99 unpack_skip_rows_(0),
99 unpack_skip_pixels_(0), 100 unpack_skip_pixels_(0),
100 pack_reverse_row_order_(false), 101 pack_reverse_row_order_(false),
101 active_texture_unit_(0), 102 active_texture_unit_(0),
102 bound_framebuffer_(0), 103 bound_framebuffer_(0),
103 bound_read_framebuffer_(0), 104 bound_read_framebuffer_(0),
104 bound_renderbuffer_(0), 105 bound_renderbuffer_(0),
105 current_program_(0), 106 current_program_(0),
106 bound_array_buffer_id_(0), 107 bound_array_buffer_id_(0),
107 bound_pixel_pack_transfer_buffer_id_(0), 108 bound_pixel_pack_transfer_buffer_id_(0),
108 bound_pixel_unpack_transfer_buffer_id_(0), 109 bound_pixel_unpack_transfer_buffer_id_(0),
109 error_bits_(0), 110 error_bits_(0),
110 debug_(false), 111 debug_(false),
111 use_count_(0), 112 use_count_(0),
112 error_message_callback_(NULL), 113 error_message_callback_(NULL),
113 gpu_control_(gpu_control), 114 gpu_control_(gpu_control),
114 capabilities_(gpu_control->GetCapabilities()), 115 capabilities_(capabilities),
115 weak_ptr_factory_(this) { 116 weak_ptr_factory_(this) {
116 DCHECK(helper); 117 DCHECK(helper);
117 DCHECK(transfer_buffer); 118 DCHECK(transfer_buffer);
118 DCHECK(gpu_control); 119 DCHECK(gpu_control);
119 120
120 std::stringstream ss; 121 std::stringstream ss;
121 ss << std::hex << this; 122 ss << std::hex << this;
122 this_in_hex_ = ss.str(); 123 this_in_hex_ = ss.str();
123 124
124 GPU_CLIENT_LOG_CODE_BLOCK({ 125 GPU_CLIENT_LOG_CODE_BLOCK({
(...skipping 2010 matching lines...) Expand 10 before | Expand all | Expand 10 after
2135 // Clears the bucket so if the command fails nothing will be in it. 2136 // Clears the bucket so if the command fails nothing will be in it.
2136 helper_->SetBucketSize(kResultBucketId, 0); 2137 helper_->SetBucketSize(kResultBucketId, 0);
2137 helper_->GetString(name, kResultBucketId); 2138 helper_->GetString(name, kResultBucketId);
2138 std::string str; 2139 std::string str;
2139 if (GetBucketAsString(kResultBucketId, &str)) { 2140 if (GetBucketAsString(kResultBucketId, &str)) {
2140 // Adds extensions implemented on client side only. 2141 // Adds extensions implemented on client side only.
2141 switch (name) { 2142 switch (name) {
2142 case GL_EXTENSIONS: 2143 case GL_EXTENSIONS:
2143 str += std::string(str.empty() ? "" : " ") + 2144 str += std::string(str.empty() ? "" : " ") +
2144 "GL_CHROMIUM_flipy " 2145 "GL_CHROMIUM_flipy "
2146 "GL_CHROMIUM_map_image "
2145 "GL_EXT_unpack_subimage"; 2147 "GL_EXT_unpack_subimage";
2146 if (capabilities_.map_image) {
2147 // The first space character is intentional.
2148 str += " GL_CHROMIUM_map_image";
2149 }
2150 break; 2148 break;
2151 default: 2149 default:
2152 break; 2150 break;
2153 } 2151 }
2154 2152
2155 // Because of WebGL the extensions can change. We have to cache each unique 2153 // Because of WebGL the extensions can change. We have to cache each unique
2156 // result since we don't know when the client will stop referring to a 2154 // result since we don't know when the client will stop referring to a
2157 // previous one it queries. 2155 // previous one it queries.
2158 GLStringMap::iterator it = gl_strings_.find(name); 2156 GLStringMap::iterator it = gl_strings_.find(name);
2159 if (it == gl_strings_.end()) { 2157 if (it == gl_strings_.end()) {
(...skipping 1761 matching lines...) Expand 10 before | Expand all | Expand 10 after
3921 CheckGLError(); 3919 CheckGLError();
3922 } 3920 }
3923 3921
3924 // Include the auto-generated part of this file. We split this because it means 3922 // Include the auto-generated part of this file. We split this because it means
3925 // we can easily edit the non-auto generated parts right here in this file 3923 // we can easily edit the non-auto generated parts right here in this file
3926 // instead of having to edit some template or the code generator. 3924 // instead of having to edit some template or the code generator.
3927 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h" 3925 #include "gpu/command_buffer/client/gles2_implementation_impl_autogen.h"
3928 3926
3929 } // namespace gles2 3927 } // namespace gles2
3930 } // namespace gpu 3928 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/client/gles2_implementation.h ('k') | gpu/command_buffer/client/gles2_implementation_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698