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

Side by Side Diff: core/cross/command_buffer/render_surface_cb.cc

Issue 176026: C++ Readability (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/o3d/
Patch Set: '' Created 11 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « core/cross/command_buffer/render_surface_cb.h ('k') | core/cross/render_surface_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2009, Google Inc. 2 * Copyright 2009, Google Inc.
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 RenderSurfaceCB::RenderSurfaceCB(ServiceLocator *service_locator, 43 RenderSurfaceCB::RenderSurfaceCB(ServiceLocator *service_locator,
44 int width, 44 int width,
45 int height, 45 int height,
46 int mip_level, 46 int mip_level,
47 int side, 47 int side,
48 Texture *texture, 48 Texture *texture,
49 RendererCB *renderer) 49 RendererCB *renderer)
50 : RenderSurface(service_locator, width, height, texture), 50 : RenderSurface(service_locator, width, height, texture),
51 resource_id_(command_buffer::kInvalidResource), 51 resource_id_(command_buffer::kInvalidResource),
52 renderer_(renderer) { 52 renderer_(renderer) {
53 DCHECK_GT(width, 0);
54 DCHECK_GT(height, 0);
55 DCHECK_GT(mip_level, -1);
53 DCHECK(texture); 56 DCHECK(texture);
57 DCHECK(renderer);
54 58
55 ResourceID id = renderer_->render_surface_ids().AllocateID(); 59 ResourceID id = renderer_->render_surface_ids().AllocateID();
56 resource_id_ = id; 60 resource_id_ = id;
57 CommandBufferHelper *helper = renderer_->helper(); 61 CommandBufferHelper *helper = renderer_->helper();
58 CommandBufferEntry args[4]; 62 CommandBufferEntry args[4];
59 args[0].value_uint32 = id; 63 args[0].value_uint32 = id;
60 args[1].value_uint32 = 64 args[1].value_uint32 =
61 create_render_surface_cmd::Width::MakeValue(width) | 65 create_render_surface_cmd::Width::MakeValue(width) |
62 create_render_surface_cmd::Height::MakeValue(height); 66 create_render_surface_cmd::Height::MakeValue(height);
63 args[2].value_uint32 = 67 args[2].value_uint32 =
64 create_render_surface_cmd::Levels::MakeValue(mip_level) | 68 create_render_surface_cmd::Levels::MakeValue(mip_level) |
65 create_render_surface_cmd::Side::MakeValue(side); 69 create_render_surface_cmd::Side::MakeValue(side);
66 args[3].value_uint32 = 70 args[3].value_uint32 =
67 reinterpret_cast<ResourceID>(texture->GetTextureHandle()); 71 reinterpret_cast<ResourceID>(texture->GetTextureHandle());
68 helper->AddCommand(command_buffer::CREATE_RENDER_SURFACE, 4, args); 72 helper->AddCommand(command_buffer::CREATE_RENDER_SURFACE, 4, args);
69 } 73 }
70 74
71 RenderSurfaceCB::~RenderSurfaceCB() { 75 RenderSurfaceCB::~RenderSurfaceCB() {
72 Destroy(); 76 Destroy();
73 } 77 }
74 78
75 void RenderSurfaceCB::Destroy() { 79 void RenderSurfaceCB::Destroy() {
76 // This should never get called during rendering. 80 // This should never be called during rendering.
77 if (resource_id_ != command_buffer::kInvalidResource) { 81 if (resource_id_ != command_buffer::kInvalidResource) {
78 CommandBufferHelper *helper = renderer_->helper(); 82 CommandBufferHelper *helper = renderer_->helper();
79 CommandBufferEntry args[1]; 83 CommandBufferEntry args[1];
80 args[0].value_uint32 = resource_id_; 84 args[0].value_uint32 = resource_id_;
81 helper->AddCommand(command_buffer::DESTROY_RENDER_SURFACE, 1, args); 85 helper->AddCommand(command_buffer::DESTROY_RENDER_SURFACE, 1, args);
82 renderer_->render_surface_ids().FreeID(resource_id_); 86 renderer_->render_surface_ids().FreeID(resource_id_);
83 resource_id_ = command_buffer::kInvalidResource; 87 resource_id_ = command_buffer::kInvalidResource;
84 } 88 }
85 } 89 }
86 90
87 RenderDepthStencilSurfaceCB::RenderDepthStencilSurfaceCB( 91 RenderDepthStencilSurfaceCB::RenderDepthStencilSurfaceCB(
88 ServiceLocator *service_locator, 92 ServiceLocator *service_locator,
89 int width, 93 int width,
90 int height, 94 int height,
91 RendererCB *renderer) 95 RendererCB *renderer)
92 : RenderDepthStencilSurface(service_locator, width, height), 96 : RenderDepthStencilSurface(service_locator, width, height),
93 resource_id_(command_buffer::kInvalidResource), 97 resource_id_(command_buffer::kInvalidResource),
94 renderer_(renderer) { 98 renderer_(renderer) {
99 DCHECK_GT(width, 0);
100 DCHECK_GT(height, 0);
101 DCHECK(renderer);
95 ResourceID id = renderer_->depth_surface_ids().AllocateID(); 102 ResourceID id = renderer_->depth_surface_ids().AllocateID();
96 resource_id_ = id; 103 resource_id_ = id;
97 CommandBufferHelper *helper = renderer_->helper(); 104 CommandBufferHelper *helper = renderer_->helper();
98 CommandBufferEntry args[2]; 105 CommandBufferEntry args[2];
99 args[0].value_uint32 = id; 106 args[0].value_uint32 = id;
100 args[1].value_uint32 = 107 args[1].value_uint32 =
101 create_render_surface_cmd::Width::MakeValue(width) | 108 create_render_surface_cmd::Width::MakeValue(width) |
102 create_render_surface_cmd::Height::MakeValue(height); 109 create_render_surface_cmd::Height::MakeValue(height);
103 helper->AddCommand(command_buffer::CREATE_DEPTH_SURFACE, 2, args); 110 helper->AddCommand(command_buffer::CREATE_DEPTH_SURFACE, 2, args);
104 } 111 }
105 112
106 void RenderDepthStencilSurfaceCB::Destroy() { 113 void RenderDepthStencilSurfaceCB::Destroy() {
107 if (resource_id_ != command_buffer::kInvalidResource) { 114 if (resource_id_ != command_buffer::kInvalidResource) {
108 CommandBufferHelper *helper = renderer_->helper(); 115 CommandBufferHelper *helper = renderer_->helper();
109 CommandBufferEntry args[1]; 116 CommandBufferEntry args[1];
110 args[0].value_uint32 = resource_id_; 117 args[0].value_uint32 = resource_id_;
111 helper->AddCommand(command_buffer::DESTROY_DEPTH_SURFACE, 1, args); 118 helper->AddCommand(command_buffer::DESTROY_DEPTH_SURFACE, 1, args);
112 renderer_->depth_surface_ids().FreeID(resource_id_); 119 renderer_->depth_surface_ids().FreeID(resource_id_);
113 resource_id_ = command_buffer::kInvalidResource; 120 resource_id_ = command_buffer::kInvalidResource;
114 } 121 }
115 } 122 }
116 123
117 } // namespace o3d 124 } // namespace o3d
118 125
OLDNEW
« no previous file with comments | « core/cross/command_buffer/render_surface_cb.h ('k') | core/cross/render_surface_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698