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

Side by Side Diff: gpu/command_buffer/client/cmd_buffer_helper.h

Issue 822713002: Update from https://crrev.com/309415 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 12 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
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 // This file contains the command buffer helper class. 5 // This file contains the command buffer helper class.
6 6
7 #ifndef GPU_COMMAND_BUFFER_CLIENT_CMD_BUFFER_HELPER_H_ 7 #ifndef GPU_COMMAND_BUFFER_CLIENT_CMD_BUFFER_HELPER_H_
8 #define GPU_COMMAND_BUFFER_CLIENT_CMD_BUFFER_HELPER_H_ 8 #define GPU_COMMAND_BUFFER_CLIENT_CMD_BUFFER_HELPER_H_
9 9
10 #include <string.h> 10 #include <string.h>
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 // TODO(jbauman): Remove once we're on VC2015, http://crbug.com/412902 145 // TODO(jbauman): Remove once we're on VC2015, http://crbug.com/412902
146 if (data) 146 if (data)
147 static_cast<volatile T*>(data)->header; 147 static_cast<volatile T*>(data)->header;
148 #endif 148 #endif
149 } 149 }
150 150
151 // Typed version of GetSpace. Gets enough room for the given type and returns 151 // Typed version of GetSpace. Gets enough room for the given type and returns
152 // a reference to it. 152 // a reference to it.
153 template <typename T> 153 template <typename T>
154 T* GetCmdSpace() { 154 T* GetCmdSpace() {
155 COMPILE_ASSERT(T::kArgFlags == cmd::kFixed, Cmd_kArgFlags_not_kFixed); 155 static_assert(T::kArgFlags == cmd::kFixed,
156 "T::kArgFlags should equal cmd::kFixed");
156 int32 space_needed = ComputeNumEntries(sizeof(T)); 157 int32 space_needed = ComputeNumEntries(sizeof(T));
157 T* data = static_cast<T*>(GetSpace(space_needed)); 158 T* data = static_cast<T*>(GetSpace(space_needed));
158 ForceNullCheck(data); 159 ForceNullCheck(data);
159 return data; 160 return data;
160 } 161 }
161 162
162 // Typed version of GetSpace for immediate commands. 163 // Typed version of GetSpace for immediate commands.
163 template <typename T> 164 template <typename T>
164 T* GetImmediateCmdSpace(size_t data_space) { 165 T* GetImmediateCmdSpace(size_t data_space) {
165 COMPILE_ASSERT(T::kArgFlags == cmd::kAtLeastN, Cmd_kArgFlags_not_kAtLeastN); 166 static_assert(T::kArgFlags == cmd::kAtLeastN,
167 "T::kArgFlags should equal cmd::kAtLeastN");
166 int32 space_needed = ComputeNumEntries(sizeof(T) + data_space); 168 int32 space_needed = ComputeNumEntries(sizeof(T) + data_space);
167 T* data = static_cast<T*>(GetSpace(space_needed)); 169 T* data = static_cast<T*>(GetSpace(space_needed));
168 ForceNullCheck(data); 170 ForceNullCheck(data);
169 return data; 171 return data;
170 } 172 }
171 173
172 // Typed version of GetSpace for immediate commands. 174 // Typed version of GetSpace for immediate commands.
173 template <typename T> 175 template <typename T>
174 T* GetImmediateCmdSpaceTotalSize(size_t total_space) { 176 T* GetImmediateCmdSpaceTotalSize(size_t total_space) {
175 COMPILE_ASSERT(T::kArgFlags == cmd::kAtLeastN, Cmd_kArgFlags_not_kAtLeastN); 177 static_assert(T::kArgFlags == cmd::kAtLeastN,
178 "T::kArgFlags should equal cmd::kAtLeastN");
176 int32 space_needed = ComputeNumEntries(total_space); 179 int32 space_needed = ComputeNumEntries(total_space);
177 T* data = static_cast<T*>(GetSpace(space_needed)); 180 T* data = static_cast<T*>(GetSpace(space_needed));
178 ForceNullCheck(data); 181 ForceNullCheck(data);
179 return data; 182 return data;
180 } 183 }
181 184
182 int32 last_token_read() const { 185 int32 last_token_read() const {
183 return command_buffer_->GetLastToken(); 186 return command_buffer_->GetLastToken();
184 } 187 }
185 188
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 // Can be used to track when prior commands have been flushed. 337 // Can be used to track when prior commands have been flushed.
335 uint32 flush_generation_; 338 uint32 flush_generation_;
336 339
337 friend class CommandBufferHelperTest; 340 friend class CommandBufferHelperTest;
338 DISALLOW_COPY_AND_ASSIGN(CommandBufferHelper); 341 DISALLOW_COPY_AND_ASSIGN(CommandBufferHelper);
339 }; 342 };
340 343
341 } // namespace gpu 344 } // namespace gpu
342 345
343 #endif // GPU_COMMAND_BUFFER_CLIENT_CMD_BUFFER_HELPER_H_ 346 #endif // GPU_COMMAND_BUFFER_CLIENT_CMD_BUFFER_HELPER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698