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

Side by Side Diff: command_buffer/service/cross/gapi_decoder.cc

Issue 200127: Made gyp file for command buffer libraries.... (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 | « command_buffer/common/cross/rpc_imc.cc ('k') | command_buffer/service/cross/texture_utils.h » ('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 454 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 return BufferSyncInterface::PARSE_NO_ERROR; 465 return BufferSyncInterface::PARSE_NO_ERROR;
466 } else { 466 } else {
467 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 467 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS;
468 } 468 }
469 case SET_POINT_LINE_RASTER: 469 case SET_POINT_LINE_RASTER:
470 if (arg_count == 2) { 470 if (arg_count == 2) {
471 namespace cmd = set_point_line_raster; 471 namespace cmd = set_point_line_raster;
472 Uint32 enables = args[0].value_uint32; 472 Uint32 enables = args[0].value_uint32;
473 if (cmd::Unused::Get(enables) != 0) 473 if (cmd::Unused::Get(enables) != 0)
474 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 474 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS;
475 bool line_smooth = cmd::LineSmoothEnable::Get(enables); 475 bool line_smooth = !!cmd::LineSmoothEnable::Get(enables);
476 bool point_sprite = cmd::PointSpriteEnable::Get(enables); 476 bool point_sprite = !!cmd::PointSpriteEnable::Get(enables);
477 float point_size = args[1].value_float; 477 float point_size = args[1].value_float;
478 gapi_->SetPointLineRaster(line_smooth, point_sprite, point_size); 478 gapi_->SetPointLineRaster(line_smooth, point_sprite, point_size);
479 return BufferSyncInterface::PARSE_NO_ERROR; 479 return BufferSyncInterface::PARSE_NO_ERROR;
480 } else { 480 } else {
481 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 481 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS;
482 } 482 }
483 case SET_POLYGON_RASTER: 483 case SET_POLYGON_RASTER:
484 if (arg_count == 1) { 484 if (arg_count == 1) {
485 namespace cmd = set_polygon_raster; 485 namespace cmd = set_polygon_raster;
486 Uint32 fill_cull = args[0].value_uint32; 486 Uint32 fill_cull = args[0].value_uint32;
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
666 unsigned int levels = cmd::Levels::Get(levels_format_flags); 666 unsigned int levels = cmd::Levels::Get(levels_format_flags);
667 unsigned int unused = cmd::Unused::Get(levels_format_flags); 667 unsigned int unused = cmd::Unused::Get(levels_format_flags);
668 unsigned int format = cmd::Format::Get(levels_format_flags); 668 unsigned int format = cmd::Format::Get(levels_format_flags);
669 unsigned int flags = cmd::Flags::Get(levels_format_flags); 669 unsigned int flags = cmd::Flags::Get(levels_format_flags);
670 unsigned int max_levels = 670 unsigned int max_levels =
671 1 + base::bits::Log2Ceiling(std::max(width, height)); 671 1 + base::bits::Log2Ceiling(std::max(width, height));
672 if ((width == 0) || (height == 0) || (levels > max_levels) || 672 if ((width == 0) || (height == 0) || (levels > max_levels) ||
673 (unused != 0) || (format >= texture::NUM_FORMATS)) 673 (unused != 0) || (format >= texture::NUM_FORMATS))
674 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 674 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS;
675 if (levels == 0) levels = max_levels; 675 if (levels == 0) levels = max_levels;
676 bool enable_render_surfaces = flags; 676 bool enable_render_surfaces = !!flags;
677 return gapi_->CreateTexture2D(id, width, height, levels, 677 return gapi_->CreateTexture2D(id, width, height, levels,
678 static_cast<texture::Format>(format), flags, 678 static_cast<texture::Format>(format), flags,
679 enable_render_surfaces); 679 enable_render_surfaces);
680 } else { 680 } else {
681 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 681 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS;
682 } 682 }
683 } 683 }
684 684
685 // Decodes the CREATE_TEXTURE_3D command. 685 // Decodes the CREATE_TEXTURE_3D command.
686 BufferSyncInterface::ParseError GAPIDecoder::DecodeCreateTexture3D( 686 BufferSyncInterface::ParseError GAPIDecoder::DecodeCreateTexture3D(
(...skipping 13 matching lines...) Expand all
700 unsigned int unused2 = cmd::Unused2::Get(levels_format_flags); 700 unsigned int unused2 = cmd::Unused2::Get(levels_format_flags);
701 unsigned int format = cmd::Format::Get(levels_format_flags); 701 unsigned int format = cmd::Format::Get(levels_format_flags);
702 unsigned int flags = cmd::Flags::Get(levels_format_flags); 702 unsigned int flags = cmd::Flags::Get(levels_format_flags);
703 unsigned int max_levels = 703 unsigned int max_levels =
704 1 + base::bits::Log2Ceiling(std::max(depth, std::max(width, height))); 704 1 + base::bits::Log2Ceiling(std::max(depth, std::max(width, height)));
705 if ((width == 0) || (height == 0) || (depth == 0) || 705 if ((width == 0) || (height == 0) || (depth == 0) ||
706 (levels > max_levels) || (unused1 != 0) || (unused2 != 0) || 706 (levels > max_levels) || (unused1 != 0) || (unused2 != 0) ||
707 (format >= texture::NUM_FORMATS)) 707 (format >= texture::NUM_FORMATS))
708 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 708 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS;
709 if (levels == 0) levels = max_levels; 709 if (levels == 0) levels = max_levels;
710 bool enable_render_surfaces = flags; 710 bool enable_render_surfaces = !!flags;
711 return gapi_->CreateTexture3D(id, width, height, depth, levels, 711 return gapi_->CreateTexture3D(id, width, height, depth, levels,
712 static_cast<texture::Format>(format), flags, 712 static_cast<texture::Format>(format), flags,
713 enable_render_surfaces); 713 enable_render_surfaces);
714 } else { 714 } else {
715 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 715 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS;
716 } 716 }
717 } 717 }
718 718
719 // Decodes the CREATE_TEXTURE_CUBE command. 719 // Decodes the CREATE_TEXTURE_CUBE command.
720 BufferSyncInterface::ParseError GAPIDecoder::DecodeCreateTextureCube( 720 BufferSyncInterface::ParseError GAPIDecoder::DecodeCreateTextureCube(
721 unsigned int arg_count, 721 unsigned int arg_count,
722 CommandBufferEntry *args) { 722 CommandBufferEntry *args) {
723 if (arg_count == 3) { 723 if (arg_count == 3) {
724 namespace cmd = create_texture_cube_cmd; 724 namespace cmd = create_texture_cube_cmd;
725 unsigned int id = args[0].value_uint32; 725 unsigned int id = args[0].value_uint32;
726 unsigned int side_unused = args[1].value_uint32; 726 unsigned int side_unused = args[1].value_uint32;
727 unsigned int levels_format_flags = args[2].value_uint32; 727 unsigned int levels_format_flags = args[2].value_uint32;
728 unsigned int side = cmd::Side::Get(side_unused); 728 unsigned int side = cmd::Side::Get(side_unused);
729 unsigned int unused1 = cmd::Unused1::Get(side_unused); 729 unsigned int unused1 = cmd::Unused1::Get(side_unused);
730 unsigned int levels = cmd::Levels::Get(levels_format_flags); 730 unsigned int levels = cmd::Levels::Get(levels_format_flags);
731 unsigned int unused2 = cmd::Unused2::Get(levels_format_flags); 731 unsigned int unused2 = cmd::Unused2::Get(levels_format_flags);
732 unsigned int format = cmd::Format::Get(levels_format_flags); 732 unsigned int format = cmd::Format::Get(levels_format_flags);
733 unsigned int flags = cmd::Flags::Get(levels_format_flags); 733 unsigned int flags = cmd::Flags::Get(levels_format_flags);
734 unsigned int max_levels = 1 + base::bits::Log2Ceiling(side); 734 unsigned int max_levels = 1 + base::bits::Log2Ceiling(side);
735 if ((side == 0) || (levels > max_levels) || (unused1 != 0) || 735 if ((side == 0) || (levels > max_levels) || (unused1 != 0) ||
736 (unused2 != 0) || (format >= texture::NUM_FORMATS)) 736 (unused2 != 0) || (format >= texture::NUM_FORMATS))
737 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 737 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS;
738 if (levels == 0) levels = max_levels; 738 if (levels == 0) levels = max_levels;
739 bool enable_render_surfaces = flags; 739 bool enable_render_surfaces = !!flags;
740 return gapi_->CreateTextureCube(id, side, levels, 740 return gapi_->CreateTextureCube(id, side, levels,
741 static_cast<texture::Format>(format), 741 static_cast<texture::Format>(format),
742 flags, enable_render_surfaces); 742 flags, enable_render_surfaces);
743 } else { 743 } else {
744 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS; 744 return BufferSyncInterface::PARSE_INVALID_ARGUMENTS;
745 } 745 }
746 } 746 }
747 747
748 // Decodes the SET_TEXTURE_DATA command. 748 // Decodes the SET_TEXTURE_DATA command.
749 BufferSyncInterface::ParseError GAPIDecoder::DecodeSetTextureData( 749 BufferSyncInterface::ParseError GAPIDecoder::DecodeSetTextureData(
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
958 unsigned int size) { 958 unsigned int size) {
959 void * shm_addr = engine_->GetSharedMemoryAddress(shm_id); 959 void * shm_addr = engine_->GetSharedMemoryAddress(shm_id);
960 if (!shm_addr) return NULL; 960 if (!shm_addr) return NULL;
961 size_t shm_size = engine_->GetSharedMemorySize(shm_id); 961 size_t shm_size = engine_->GetSharedMemorySize(shm_id);
962 if (offset + size > shm_size) return NULL; 962 if (offset + size > shm_size) return NULL;
963 return static_cast<char *>(shm_addr) + offset; 963 return static_cast<char *>(shm_addr) + offset;
964 } 964 }
965 965
966 } // namespace command_buffer 966 } // namespace command_buffer
967 } // namespace o3d 967 } // namespace o3d
OLDNEW
« no previous file with comments | « command_buffer/common/cross/rpc_imc.cc ('k') | command_buffer/service/cross/texture_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698