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

Side by Side Diff: command_buffer/service/win/d3d9/gapi_d3d9.cc

Issue 212018: Change command buffer client code to use structures.... (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
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 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 // Converts an unsigned int RGBA color into an unsigned int ARGB (DirectX) 210 // Converts an unsigned int RGBA color into an unsigned int ARGB (DirectX)
211 // color. 211 // color.
212 static unsigned int RGBAToARGB(unsigned int rgba) { 212 static unsigned int RGBAToARGB(unsigned int rgba) {
213 return (rgba >> 8) | (rgba << 24); 213 return (rgba >> 8) | (rgba << 24);
214 } 214 }
215 215
216 // Sets the current VertexStruct. Just keep track of the ID. 216 // Sets the current VertexStruct. Just keep track of the ID.
217 BufferSyncInterface::ParseError GAPID3D9::SetVertexStruct(ResourceID id) { 217 BufferSyncInterface::ParseError GAPID3D9::SetVertexStruct(ResourceID id) {
218 current_vertex_struct_ = id; 218 current_vertex_struct_ = id;
219 validate_streams_ = true; 219 validate_streams_ = true;
220 return BufferSyncInterface::PARSE_NO_ERROR; 220 return BufferSyncInterface::kParseNoError;
221 } 221 }
222 222
223 // Sets in D3D the input streams of the current vertex struct. 223 // Sets in D3D the input streams of the current vertex struct.
224 bool GAPID3D9::ValidateStreams() { 224 bool GAPID3D9::ValidateStreams() {
225 DCHECK(validate_streams_); 225 DCHECK(validate_streams_);
226 VertexStructD3D9 *vertex_struct = vertex_structs_.Get(current_vertex_struct_); 226 VertexStructD3D9 *vertex_struct = vertex_structs_.Get(current_vertex_struct_);
227 if (!vertex_struct) { 227 if (!vertex_struct) {
228 LOG(ERROR) << "Drawing with invalid streams."; 228 LOG(ERROR) << "Drawing with invalid streams.";
229 return false; 229 return false;
230 } 230 }
(...skipping 23 matching lines...) Expand all
254 } 254 }
255 } 255 }
256 256
257 // Draws with the current vertex struct. 257 // Draws with the current vertex struct.
258 BufferSyncInterface::ParseError GAPID3D9::Draw( 258 BufferSyncInterface::ParseError GAPID3D9::Draw(
259 PrimitiveType primitive_type, 259 PrimitiveType primitive_type,
260 unsigned int first, 260 unsigned int first,
261 unsigned int count) { 261 unsigned int count) {
262 if (validate_streams_ && !ValidateStreams()) { 262 if (validate_streams_ && !ValidateStreams()) {
263 // TODO: add proper error management 263 // TODO: add proper error management
264 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 264 return BufferSyncInterface::kParseInvalidArguments;
265 } 265 }
266 if (validate_effect_ && !ValidateEffect()) { 266 if (validate_effect_ && !ValidateEffect()) {
267 // TODO: add proper error management 267 // TODO: add proper error management
268 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 268 return BufferSyncInterface::kParseInvalidArguments;
269 } 269 }
270 DCHECK(current_effect_); 270 DCHECK(current_effect_);
271 if (!current_effect_->CommitParameters(this)) { 271 if (!current_effect_->CommitParameters(this)) {
272 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 272 return BufferSyncInterface::kParseInvalidArguments;
273 } 273 }
274 if (first + count > max_vertices_) { 274 if (first + count > max_vertices_) {
275 // TODO: add proper error management 275 // TODO: add proper error management
276 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 276 return BufferSyncInterface::kParseInvalidArguments;
277 } 277 }
278 HR(d3d_device_->DrawPrimitive(D3DPrimitive(primitive_type), first, count)); 278 HR(d3d_device_->DrawPrimitive(D3DPrimitive(primitive_type), first, count));
279 return BufferSyncInterface::PARSE_NO_ERROR; 279 return BufferSyncInterface::kParseNoError;
280 } 280 }
281 281
282 // Draws with the current vertex struct. 282 // Draws with the current vertex struct.
283 BufferSyncInterface::ParseError GAPID3D9::DrawIndexed( 283 BufferSyncInterface::ParseError GAPID3D9::DrawIndexed(
284 PrimitiveType primitive_type, 284 PrimitiveType primitive_type,
285 ResourceID index_buffer_id, 285 ResourceID index_buffer_id,
286 unsigned int first, 286 unsigned int first,
287 unsigned int count, 287 unsigned int count,
288 unsigned int min_index, 288 unsigned int min_index,
289 unsigned int max_index) { 289 unsigned int max_index) {
290 IndexBufferD3D9 *index_buffer = index_buffers_.Get(index_buffer_id); 290 IndexBufferD3D9 *index_buffer = index_buffers_.Get(index_buffer_id);
291 if (!index_buffer) return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 291 if (!index_buffer) return BufferSyncInterface::kParseInvalidArguments;
292 if (validate_streams_ && !ValidateStreams()) { 292 if (validate_streams_ && !ValidateStreams()) {
293 // TODO: add proper error management 293 // TODO: add proper error management
294 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 294 return BufferSyncInterface::kParseInvalidArguments;
295 } 295 }
296 if (validate_effect_ && !ValidateEffect()) { 296 if (validate_effect_ && !ValidateEffect()) {
297 // TODO: add proper error management 297 // TODO: add proper error management
298 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 298 return BufferSyncInterface::kParseInvalidArguments;
299 } 299 }
300 DCHECK(current_effect_); 300 DCHECK(current_effect_);
301 if (!current_effect_->CommitParameters(this)) { 301 if (!current_effect_->CommitParameters(this)) {
302 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 302 return BufferSyncInterface::kParseInvalidArguments;
303 } 303 }
304 if ((min_index >= max_vertices_) || (max_index > max_vertices_)) { 304 if ((min_index >= max_vertices_) || (max_index > max_vertices_)) {
305 // TODO: add proper error management 305 // TODO: add proper error management
306 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 306 return BufferSyncInterface::kParseInvalidArguments;
307 } 307 }
308 308
309 HR(d3d_device_->SetIndices(index_buffer->d3d_index_buffer())); 309 HR(d3d_device_->SetIndices(index_buffer->d3d_index_buffer()));
310 HR(d3d_device_->DrawIndexedPrimitive(D3DPrimitive(primitive_type), 0, 310 HR(d3d_device_->DrawIndexedPrimitive(D3DPrimitive(primitive_type), 0,
311 min_index, max_index - min_index + 1, 311 min_index, max_index - min_index + 1,
312 first, count)); 312 first, count));
313 return BufferSyncInterface::PARSE_NO_ERROR; 313 return BufferSyncInterface::kParseNoError;
314 } 314 }
315 315
316 } // namespace command_buffer 316 } // namespace command_buffer
317 } // namespace o3d 317 } // namespace o3d
OLDNEW
« no previous file with comments | « command_buffer/service/win/d3d9/effect_d3d9.cc ('k') | command_buffer/service/win/d3d9/geometry_d3d9.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698