summaryrefslogtreecommitdiffstats
path: root/o3d/command_buffer/service
Commit message (Collapse)AuthorAgeFilesLines
* Added command buffer unit tests to gyp.apatrick@google.com2009-09-242-3/+1
| | | | | | | | | | | | | | | | | | | Can optionally override default renderer with environment variable. One of: GYP_DEFINES = "renderer=d3d9" GYP_DEFINES = "renderer=gl" GYP_DEFINES = "renderer=cb cb_service=d3d9" GYP_DEFINES = "renderer=cb cb_service=gl" Fixed some warnings. Works on windows with D3D9 but not GL, mac or linux yet. TEST=none BUG=none Review URL: http://codereview.chromium.org/208037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27125 0039d316-1c4b-4281-b951-d872f2087c98
* GPUProcessor uses O3D command buffer service to render to a window.apatrick@google.com2009-09-243-4/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added libraries that contain a subset of the O3D command buffer code independent on NaCl. Extracted Upcall interface from CommandBufferEngine. Now this works in JavaScript to clear the GPU plugin element to a random color: // BEGIN_FRAME sharedMemory.setInt32(putOffset++, 0x00000201); // CLEAR sharedMemory.setInt32(putOffset++, 0x00000408); sharedMemory.setInt32(putOffset++, 7); sharedMemory.setFloat(putOffset++, Math.random()); sharedMemory.setFloat(putOffset++, Math.random()); sharedMemory.setFloat(putOffset++, Math.random()); sharedMemory.setFloat(putOffset++, 1); sharedMemory.setFloat(putOffset++, 0.5); sharedMemory.setInt32(putOffset++, 0); // END_FRAME sharedMemory.setInt32(putOffset++, 0x00000301); TEST=none BUG=none Review URL: http://codereview.chromium.org/234001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27098 0039d316-1c4b-4281-b951-d872f2087c98
* fix for gl cbgman@google.com2009-09-231-16/+16
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26892 0039d316-1c4b-4281-b951-d872f2087c98
* Change command buffer client code to use structures.gman@google.com2009-09-2321-897/+727
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I didn't update the big_test although I'm happy to do that in another CL. I changed the CB renderer code to use this. The only place I didn't is the state handling code. I'll consider changing that in another CL. I changed DoCommand so it gets passed the entire command data including the command itself where as it used to get passed the command buffer entry after the command. I wanted to put the commands into the structures as I think it makes them easier to use since they can then correctly set their header. I could have left DoCommand as is but there would have been a lot of funky pointer math and I thought this change made it cleaner. Some questions I had while doing this. There are a few places in the code that use unsigned int instead of uint32. It seems we should use uint32 because unsigned int is not guarnteed to be 32bits. So for example ResourceID is unsigned int right now. The CMD::Set/CMD::Init/CommandBufferHelper commands are currently fairly untyped. For example DESTROY_TEXTURE takes a uint32 id. Should it take a ResourceID instead? DRAW should maybe take an enum for primitive_type? If we decide to do that I'd like to do it in another CL. There's no checking for overflow. We could add a bunch of DCHECK like DCHECK_LE(width, 65536) or DCHECK_LE(semantic_index, 16). I'd like to do those in another CL as well as I think we need to discuss what commands we want to change. All the code is in .h files because we want all of this code to inline. Theoretically this should be just as efficient as poking values into arrays in the opt builds. Review URL: http://codereview.chromium.org/212018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26886 0039d316-1c4b-4281-b951-d872f2087c98
* Added render surfaces in command buffer service opengl version.petersont@google.com2009-09-2110-48/+601
| | | | | | Review URL: http://codereview.chromium.org/211020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26760 0039d316-1c4b-4281-b951-d872f2087c98
* This updates the DEPS for V8, Chrome and NaCl.gspencer@google.com2009-09-171-2/+3
| | | | | | | | | It also fixes two other minor problems: a signed/unsigned mismatch in the gapi_decoder, and a switch from sys.argv[0] to __file__ in codegen.py. Review URL: http://codereview.chromium.org/208015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26504 0039d316-1c4b-4281-b951-d872f2087c98
* Add missing gclient dependencies to .gitignore.maruel@chromium.org2009-09-174-282/+282
| | | | | | | | | | | | | | Fix the format of many directories so they don't show up in git status anymore. Run dos2unix on *.cc, caught many inconsistent and CRLF files. TBR=evan TEST=still build, git status shows nothing BUG=none Review URL: http://codereview.chromium.org/211010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26441 0039d316-1c4b-4281-b951-d872f2087c98
* Changing command buffer to use structs instead ofgman@google.com2009-09-174-582/+691
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arrays, step 1 I hope I'm not stepping on any toes here. I wanted to write some command buffer code but I didn't want to go poking values into arrays so I thought I'd attempt to refactor a little. I hope I'm not steping on any toes. Some answers to possible questions. O3D_COMMAND_ARGS_FLAG_AT_LEAST_N is a macro because it needs to be a compile time constant so I can generate the table. All the commands with a FixMe are to be done in another CL. The Structs don't follow the style guide because it's just busy work to match up SET_TOKEN and SetToken. It seems like a reasonable exception to me. This way the functions, IDs and structs all match easily and therefore lists that use them be automatically generated and kept in sync. The next step is I want to uncompress some of the commands. As an example, it doesn't seem like CreateTexture2D should squeeze width and height into 16bits halfs of a 32bit value. This API is not targeted at machines with 2K of memory and the amount of code and other scaffolding around decoding those 2 16bit halfs far outways saving 16bits in a command that allocates a texture. It also makes it harder to use the command because the person generating it has to also go through the same hoops. Review URL: http://codereview.chromium.org/206020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26421 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/176026rlp@google.com2009-09-152-48/+129
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26273 0039d316-1c4b-4281-b951-d872f2087c98
* Made gyp file for command buffer libraries.apatrick@google.com2009-09-155-18/+28
| | | | | | | | | | | | | | Gyp build works on Windows. Mac and linux won't work yet. Fixed some warnings. Switched from dxerr.lib to dxerr9.lib. Implemented a Texture::SetRect case for DXT compressed textures. Fixed division by zero for zero stride vertex buffers. TEST=none BUG=none Review URL: http://codereview.chromium.org/200127 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26271 0039d316-1c4b-4281-b951-d872f2087c98
* Fix _H__ to correct _H_gman@google.com2009-09-0415-45/+45
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25419 0039d316-1c4b-4281-b951-d872f2087c98
* Adding in render surfaces for command buffers. Fixing SetRect as well.rlp@google.com2009-08-289-447/+1017
| | | | | | Review URL: http://codereview.chromium.org/160401 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24825 0039d316-1c4b-4281-b951-d872f2087c98
* Created new build target for opengl command buffer service, fixed various ↵petersont@google.com2009-08-2612-100/+765
| | | | | | | | bugs in opengl command buffers service code until unit tests passed on windows. Review URL: http://codereview.chromium.org/165279 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24415 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing several problems with the build.gspencer@google.com2009-07-231-1/+1
| | | | | | | | | | | | | - Had to make one line file_path_utils conditional on which build system was building it (because GYP build and scons build use different versions of chrome/base). - Missed a couple instances of "file/" in the path to nixysa. - New version of breakpad has a different API on the Mac. Review URL: http://codereview.chromium.org/160056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21470 0039d316-1c4b-4281-b951-d872f2087c98
* Removing unneeded EffectStream class. Cleaning up data assignment for stream ↵rlp@google.com2009-07-083-12/+1
| | | | | | | | info. Updating the main.scons so that cb can build. Review URL: http://codereview.chromium.org/155188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20106 0039d316-1c4b-4281-b951-d872f2087c98
* Adding GetStreamInfo functionality (and passing corresponding unit test).rlp@google.com2009-07-026-3/+204
| | | | | | Review URL: http://codereview.chromium.org/147237 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19859 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing unit_test bugs. One of hte fixes is for the texture param. This ↵rlp@google.com2009-06-251-0/+14
| | | | | | | | quiets the unit test, but has a todo under the actual code. To make all examples run, this should be completed, but if we're going ot eliminate the texture path in favor of the sampler path, then it doesn't make sense to fill this in if we'll delete it shortly. Review URL: http://codereview.chromium.org/146133 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19268 0039d316-1c4b-4281-b951-d872f2087c98
* Changes to make command buffers compile. Still failing some unit tests and ↵rlp@google.com2009-06-173-4/+4
| | | | | | | | | examples, but wanted to get the compile fixes checked in. Pulling out the main.scons so as not to affect the build. Review URL: http://codereview.chromium.org/125169 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18571 0039d316-1c4b-4281-b951-d872f2087c98
* This is the O3D source tree's initial commit to the Chromium tree. It gspencer@google.com2009-05-2754-0/+12661
is not built or referenced at all by the chrome build yet, and doesn't yet build in it's new home. We'll change that shortly. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17035 0039d316-1c4b-4281-b951-d872f2087c98