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

Side by Side Diff: gpu/command_buffer/common/gles2_cmd_format.h

Issue 2257533007: Autogenerate CreateAndConsumeTextureCHROMIUM handler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 defines the GLES2 command buffer commands. 5 // This file defines the GLES2 command buffer commands.
6 6
7 #ifndef GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_ 7 #ifndef GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_
8 #define GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_ 8 #define GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_
9 9
10 10
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 // TODO(gman): Attempt to make these auto-generated. 314 // TODO(gman): Attempt to make these auto-generated.
315 315
316 struct GenMailboxCHROMIUM { 316 struct GenMailboxCHROMIUM {
317 typedef GenMailboxCHROMIUM ValueType; 317 typedef GenMailboxCHROMIUM ValueType;
318 static const CommandId kCmdId = kGenMailboxCHROMIUM; 318 static const CommandId kCmdId = kGenMailboxCHROMIUM;
319 static const cmd::ArgFlags kArgFlags = cmd::kFixed; 319 static const cmd::ArgFlags kArgFlags = cmd::kFixed;
320 static const uint8_t cmd_flags = CMD_FLAG_SET_TRACE_LEVEL(3); 320 static const uint8_t cmd_flags = CMD_FLAG_SET_TRACE_LEVEL(3);
321 CommandHeader header; 321 CommandHeader header;
322 }; 322 };
323 323
324 struct CreateAndConsumeTextureCHROMIUMImmediate {
325 typedef CreateAndConsumeTextureCHROMIUMImmediate ValueType;
326 static const CommandId kCmdId = kCreateAndConsumeTextureCHROMIUMImmediate;
327 static const cmd::ArgFlags kArgFlags = cmd::kAtLeastN;
328 static const uint8_t cmd_flags = CMD_FLAG_SET_TRACE_LEVEL(1);
329
330 static uint32_t ComputeDataSize() {
331 return static_cast<uint32_t>(sizeof(GLbyte) * 64); // NOLINT
332 }
333
334 static uint32_t ComputeSize() {
335 return static_cast<uint32_t>(sizeof(ValueType) +
336 ComputeDataSize()); // NOLINT
337 }
338
339 void SetHeader(uint32_t size_in_bytes) {
340 header.SetCmdByTotalSize<ValueType>(size_in_bytes);
341 }
342
343 void Init(GLenum _target, uint32_t _client_id, const GLbyte* _mailbox) {
344 SetHeader(ComputeSize());
345 target = _target;
346 client_id = _client_id;
347 memcpy(ImmediateDataAddress(this), _mailbox, ComputeDataSize());
348 }
349
350 void* Set(void* cmd,
351 GLenum _target,
352 uint32_t _client_id,
353 const GLbyte* _mailbox) {
354 static_cast<ValueType*>(cmd)->Init(_target, _client_id, _mailbox);
355 const uint32_t size = ComputeSize();
356 return NextImmediateCmdAddressTotalSize<ValueType>(cmd, size);
357 }
358
359 gpu::CommandHeader header;
360 uint32_t target;
361 uint32_t client_id;
362 };
363
364 static_assert(sizeof(CreateAndConsumeTextureCHROMIUMImmediate) == 12,
365 "size of CreateAndConsumeTextureCHROMIUMImmediate should be 12");
366 static_assert(offsetof(CreateAndConsumeTextureCHROMIUMImmediate, header) == 0,
367 "offset of CreateAndConsumeTextureCHROMIUMImmediate.header "
368 "should be 0");
369 static_assert(offsetof(CreateAndConsumeTextureCHROMIUMImmediate, target) == 4,
370 "offset of CreateAndConsumeTextureCHROMIUMImmediate.target "
371 "should be 4");
372 static_assert(
373 offsetof(CreateAndConsumeTextureCHROMIUMImmediate, client_id) == 8,
374 "offset of CreateAndConsumeTextureCHROMIUMImmediate.client_id should be 8");
375
376
377 #pragma pack(pop) 324 #pragma pack(pop)
378 325
379 } // namespace cmd 326 } // namespace cmd
380 } // namespace gles2 327 } // namespace gles2
381 } // namespace gpu 328 } // namespace gpu
382 329
383 #endif // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_ 330 #endif // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_
OLDNEW
« no previous file with comments | « gpu/command_buffer/cmd_buffer_functions.txt ('k') | gpu/command_buffer/common/gles2_cmd_format_autogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698