summaryrefslogtreecommitdiffstats
path: root/o3d
Commit message (Collapse)AuthorAgeFilesLines
* Fix so we don't attempt to generate mips for DXTgman@google.com2009-08-124-1/+19
| | | | | | | | | | | | | | textures. This is a quick fix to get pulse passing again. I'm going to make the change I suggested before which is to always allocate enough memory for mips. Then I can make Bitmap::GenerateMips fail and when it fails it won't update the number of mips Review URL: http://codereview.chromium.org/164362 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23122 0039d316-1c4b-4281-b951-d872f2087c98
* Put IMC back to ignore size because GTV is sendinggman@google.com2009-08-111-16/+19
| | | | | | | bad messages and they don't want to fix their code?!? git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23119 0039d316-1c4b-4281-b951-d872f2087c98
* Changes to Bitmap before exposing to JavaScriptgman@google.com2009-08-1139-1311/+1229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL changes Bitmap to no longer be a cubemap. Instead there is a function, Pack::CreateBitmapsFromRawData that returns an array of bitmaps. For a 2D image 1 bitmap is returned For a cubemap 6 bitmaps are returned eventually for a volumemap N bitmaps will be returned. To distinguish between 6 bitmaps that are a cubemap and 6 bitmaps that are slices of a volumemap there is a Bitmap::semantic which tells what the bitmap is intended for. In a previous CL I had started to break Bitmap into classes like Bitmap8, BitmapFloat, BitmapDXT1. These were not intended to be exposed to JavaScript, only to make the internal code get rid of lots of if format == or case(format) stuff. But given that it's working as is and there are more pressing things I'm not planning to do that right now. I can delete the classes if you think I should. Note: This is still not 100% done. I still need to deal with the flipping issues or at least test. I probably need to add more tests as well. I also got rid of any mention of resize_to_pot in the command buffer version. Client side command buffer should not have to deal with POT/NPOT issues. I also moved the pot/npot stuff out of generic code and into the platform specific code. The generic code is not supposed to care. This is slower than the old way but it feels cleaner. A few issues I'm looking for input on. There's a function, Bitmap::GenerateMips(source_level, num_levels). It generates mips as long as they 8Bit textures. I can easily add half and float but not DXT. Right now if you call it on DXT in debug it prints a LOG message but otherwise it does nothing. Should I error for DXT? On the one hand it would be good to know that it failed so a user will not be wondering "I called it, why are there no mips?" On the otherhand, from JavaScript failing would mean you'd need to check the format before calling it which also seems less then ideal. The other is that currently it doesn't ADD mips, it just replaces the ones that are there. That means if you load a 2d image and want mips you have to allocate a new bitmap with the number of mips you want, copy level 0 from the old bitmap to the new bitmap and then generate mips Should I make generate mips effectively do that for you? Basically, if you call it to generate mips on levels that don't yet exist in the bitmap it would realloc itself and then generate them. Is that better? Also, I started down the path of taking out alpha_is_one. I'm trying to decide what to do with it. Part of me wants to take it out completely but since it's already there maybe I can't. If I leave it in I was thinking of making it check every time it's called. First I'd just make it slow. Then later if we want I could add a dirty flag and only recheck when it's dirty. That would be a lot of work though. It would mean wrapping Lock and SetRect and maybe a few other things so that we could catch any writes to the texture. It might also mean changing Lock to take read/write flags. I think those are good changes but again, it's not important right now. So, the question is what to do now. I can 1) Remove alpha_is_one. That might break something out there 2) Leave it in but just have it always false. 3) Make it check every time it's accessed. 4) Do the dirty flag thing. Preference? I'm for 2 or 3 I think. Review URL: http://codereview.chromium.org/164235 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23051 0039d316-1c4b-4281-b951-d872f2087c98
* Change Force Software Render to also use environment variablegman@google.com2009-08-111-28/+3
| | | | | | | | | | so there's a hermetic option. Should I delete the registry stuff? It seems like it's not needed. Review URL: http://codereview.chromium.org/165221 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23044 0039d316-1c4b-4281-b951-d872f2087c98
* Fix texture-set-test for IEgman@google.com2009-08-111-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23000 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing signed/unsigned compare warning failing under gyp build.bradnelson@google.com2009-08-111-2/+2
| | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/165284 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22995 0039d316-1c4b-4281-b951-d872f2087c98
* Moving the copy of d3dx_36.dll to a common location.bradnelson@google.com2009-08-112-16/+26
| | | | | | | | | | | | | Making it a copy by using a checked in copy if available or falling back on the system copy otherwise. BUG=None TEST=None TBR=gspencer Review URL: http://codereview.chromium.org/164297 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22993 0039d316-1c4b-4281-b951-d872f2087c98
* Add UpdateTexure2DRect to IMCgman@google.com2009-08-1110-432/+984
| | | | | | | | | | | | | | | | | | | | | | Also refactored IMC for to be more safe and easy to use. It still needs: *) structures/wrappers for message responces *) Some of the error checking could probably be moved out of the inidivdual message processing functions *) Need some constants or wrappers for the handles so a message isn't pulling things out of handles by magic numbers. Review URL: http://codereview.chromium.org/165266 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22987 0039d316-1c4b-4281-b951-d872f2087c98
* Pulling in newer version of gyp.bradnelson@google.com2009-08-101-1/+1
| | | | | | | | | | BUG=None TESTS=None TBR=gspencer Review URL: http://codereview.chromium.org/165259 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22950 0039d316-1c4b-4281-b951-d872f2087c98
* Add Breakpad to the Mac GYP build.maf@google.com2009-08-101-0/+7
| | | | | | Review URL: http://codereview.chromium.org/165204 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22920 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed some warnings in bitmap_png.ccbradnelson@google.com2009-08-105-5/+23
| | | | | | | | | | | | | | Switched to using the latest nacl and using their gyp files. Added a copy/rename step so that o3dConverter gets the dll it needs for other build steps. BUG=None TEST=None TBR=gspencer Review URL: http://codereview.chromium.org/164238 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22891 0039d316-1c4b-4281-b951-d872f2087c98
* Now that chromium's common.gypi sets /MP when building under vs2008,bradnelson@google.com2009-08-101-5/+0
| | | | | | | | | | | | | | it shouldn't be assumed that /MP should be set for O3D. In particular this can disrupt O3D being build on the buildbot infrastructure which uses VS2005 builders. BUG=None TEST=None TBR=gspencer Review URL: http://codereview.chromium.org/164237 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22890 0039d316-1c4b-4281-b951-d872f2087c98
* Changing run hook for gyp so that depth as at the right level.bradnelson@google.com2009-08-091-1/+1
| | | | | | | | | | | | | | | Unlike gyp files, the hooks are run at the level the .gclient file is at. So you want --depth=. (not ..) This was causing the path to the platform sdk used in chromium's common.gypi to be wrong. BUG=None TEST=None TBR=gspencer Review URL: http://codereview.chromium.org/164236 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22889 0039d316-1c4b-4281-b951-d872f2087c98
* Add return type to docs for getRectgman@google.com2009-08-081-0/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22872 0039d316-1c4b-4281-b951-d872f2087c98
* fix for gccgman@google.com2009-08-081-0/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22871 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds client.toDataURL which gets the contentsgman@google.com2009-08-0835-149/+572
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of the client area as a data url (which is a base64 encoded string of a png file) data urls are part of the HTML5 standard and supported by firefox, safari and chrome. http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-canvas-todataurl That means you can now do this var dataURL = client.toDataURL(); // make an IMG tag display the screenshot someImgTag.src = dataURL; // use the IMG tag to draw into a canvas someCanvasContext.drawImage(someImageTag, ...); It also means there is no need for the test builds anymore "test-dbg-d3d", "test-opt-d3d" etc as toDataURL is part of the public API and can therefore always be used to take screenshots in any build. I updated the selenium code to use it. There are a few issues: 1) The GL version has the same limitations as taking a screenshot before. Namely that the client area must be on screen. We need to fix this. 2) We need to add support for origin-clean. See https://tracker.corp.google.com/story/show/180334 Review URL: http://codereview.chromium.org/164130 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22869 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for GL path not clearing texturesgman@google.com2009-08-082-33/+30
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22867 0039d316-1c4b-4281-b951-d872f2087c98
* half fix for mac.gman@google.com2009-08-082-4/+9
| | | | | | | | | For some reason when getting values back out of a luminance texture the signs are all ABSed out even though the texture displays correctly git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22866 0039d316-1c4b-4281-b951-d872f2087c98
* Add nonPowerOfTwoTextures to clientInfogman@google.com2009-08-088-7/+64
| | | | | | | | | so that video can decide to use power of 2 if it needs to. Review URL: http://codereview.chromium.org/164210 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22860 0039d316-1c4b-4281-b951-d872f2087c98
* Add usual cleanup code for this sample, fixing breakage with Firefox's ↵kbr@google.com2009-08-081-0/+11
| | | | | | | | backward / forward cache. Review URL: http://codereview.chromium.org/164174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22852 0039d316-1c4b-4281-b951-d872f2087c98
* Changes for Mac GYP build: fix source that causes compiler warnings, fix ↵maf@google.com2009-08-076-310/+321
| | | | | | | | includes and defines. Review URL: http://codereview.chromium.org/164129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22770 0039d316-1c4b-4281-b951-d872f2087c98
* Removed manual setting of iexplore.exe path on 64-bit Windows duringkbr@google.com2009-08-072-16/+1
| | | | | | | | | | | | | | | Selenium runs. The new version of Selenium interprets this as a command to override the path to mshta.exe, which runs the Selenium driver, but this driver does not run in iexplore.exe due to limitations on IE's supported command line length. The current version of Selenium seems to have solved the issue of running the tests within 64-bit IE; with this change O3D runs within Selenium on Vista 64, but only with UAC off. Also updated dependencies for selenium_ie target to ensure o3d_host.dll is built. Review URL: http://codereview.chromium.org/165139 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22766 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds texture.getRectgman@google.com2009-08-076-31/+354
| | | | | | Review URL: http://codereview.chromium.org/165118 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22765 0039d316-1c4b-4281-b951-d872f2087c98
* This adds a stub for the mac installer so that the gyp generation won't fail ↵gspencer@google.com2009-08-072-0/+45
| | | | | | | | on Macs. Review URL: http://codereview.chromium.org/165109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22717 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the error I introduced into the installer build.scons file.gspencer@google.com2009-08-061-1/+1
| | | | | | Review URL: http://codereview.chromium.org/165098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22687 0039d316-1c4b-4281-b951-d872f2087c98
* This completes the building of o3d.msi from the GYP build.gspencer@google.com2009-08-0615-35/+422
| | | | | | Review URL: http://codereview.chromium.org/164044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22680 0039d316-1c4b-4281-b951-d872f2087c98
* Updated to o3d revision 113.apatrick@google.com2009-08-061-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22657 0039d316-1c4b-4281-b951-d872f2087c98
* Need to define XP_MACOSX=1 for npapi.h to work as needed on Mac.maf@google.com2009-08-061-0/+3
| | | | | | | This fixes all the "does not define a type" compile errors. Review URL: http://codereview.chromium.org/164046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22639 0039d316-1c4b-4281-b951-d872f2087c98
* fix for mac buildgman@google.com2009-08-061-0/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22598 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes for gccgman@google.com2009-08-062-12/+14
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22597 0039d316-1c4b-4281-b951-d872f2087c98
* oops, forgot these filesgman@google.com2009-08-065-16/+1282
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22584 0039d316-1c4b-4281-b951-d872f2087c98
* A step in exposing Bitmap to JavaScript.gman@google.com2009-08-0668-1625/+1113
| | | | | | | | | | | | | | | | | | | | | The plan is to make pack.createBitmapFromRawData return an array of bitmaps. 1 bitmap if it's a standard 2d image 6 bitmaps if it's a cubemap N bitmaps if it's a volume map. The bitmaps will have a semantic so you can look at them and tell they were from a volumemap, a cubemap or a 2d image. On the way I'm attempting to clean up the code. Moving stuff out of Bitmap the did not belong there and Refactoring Bitmap so there are less If Format = stuff. Review URL: http://codereview.chromium.org/164034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22583 0039d316-1c4b-4281-b951-d872f2087c98
* Lots of changes required to build on GCC in full paranoia mode with no ↵maf@google.com2009-08-0647-321/+338
| | | | | | | | warnings generated. Review URL: http://codereview.chromium.org/165013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22581 0039d316-1c4b-4281-b951-d872f2087c98
* Update v8 to 1.3.2, same as chrome. That version has a fix for Linux.piman@google.com2009-08-062-4/+4
| | | | | | | Review URL: http://codereview.chromium.org/164035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22571 0039d316-1c4b-4281-b951-d872f2087c98
* Updated O3D to work with most recent Chrome base.apatrick@google.com2009-08-056-12/+41
| | | | | | | Added build.scons for Chrome IPC. Review URL: http://codereview.chromium.org/160616 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22545 0039d316-1c4b-4281-b951-d872f2087c98
* Putting some stubs in so that gyp generation doesn't fail on Mac and so that ↵gspencer@google.com2009-08-052-5/+26
| | | | | | | | it doesn't fail when the internal repository isn't available. Review URL: http://codereview.chromium.org/159848 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22476 0039d316-1c4b-4281-b951-d872f2087c98
* Added default values to property documentation.gman@google.com2009-08-0529-76/+213
| | | | | | | | Fixed a few more docs issues. Review URL: http://codereview.chromium.org/159894 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22463 0039d316-1c4b-4281-b951-d872f2087c98
* Make build touch the O3D.plugin directory so it's as new as the binary we ↵maf@google.com2009-08-051-0/+1
| | | | | | | | just put in there. Review URL: http://codereview.chromium.org/159895 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22458 0039d316-1c4b-4281-b951-d872f2087c98
* Adding missing gyp filegspencer@google.com2009-08-041-0/+77
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22358 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes for last bitmap changegman@google.com2009-08-047-64/+39
| | | | | | | | Added tests to gyp build Review URL: http://codereview.chromium.org/159835 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22352 0039d316-1c4b-4281-b951-d872f2087c98
* This fixes some things that crept into the build as the scons build changed.gspencer@google.com2009-08-043-4/+7
| | | | | | Review URL: http://codereview.chromium.org/160557 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22350 0039d316-1c4b-4281-b951-d872f2087c98
* This adds splitting of samples for the interactive sampler,gspencer@google.com2009-08-0311-58/+434
| | | | | | | | and docs building to the GYP build. Review URL: http://codereview.chromium.org/159825 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22348 0039d316-1c4b-4281-b951-d872f2087c98
* turn off bitmap-draw-test for pulse for nowgman@google.com2009-08-031-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22343 0039d316-1c4b-4281-b951-d872f2087c98
* Add SetRect to Texture2d and TextureCUBEgman@google.com2009-08-0333-587/+1976
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally I was going to replace Lock/Unlock with only SetRect (and maybe GetRect) and I did that. But then as I was going through the code things started not being so cool. The JavaScript texture.SetRect where as before it allocated no memory, now it needed to allocate a temporary buffer just to be able to write the texture. DrawImage also would have have required copying the original texture out using GetRect, then modifying it, then copying it back even in D3D or it would have required a temporary buffer. That's what happens under the hood in the GL implementation of Texture2D but why should D3D suffer because of the of GL? Or maybe it's a reasonable compomise the D3D should go slower so that GL isn't twice as slow as it it could be? So, I left Lock/Unlock and added SetRect as well. This CL should help the video guys and we can decide if we want to get rid of Lock/Unlock later. SetRect is really only there because trying to make GL act like D3D makes GL slow since we had to get a copy of the texture from GL before Locking. SetRect, since it is not exposing the original data doesn't need to do that. So, now there are both. If need to read (and write) to the texture use Lock. If you only need to write use SetRect. I also fixed Lock/Unlock so they return a pitch which is required for D3D. While I did that I made Lock/Unlock private so you have to use the TextureXXXLockHelpers to access the data. I didn't do the command buffer versions. I also added stubs for texture tests. We need to add more tests. I feel like a lot of clean up needs to happen. It seesm like Bitmap should be split into Bitmap2D BitmapCUBE BitmapVolume Possibly. And maybe BitmapCube should effectively just be typedef Bitmap2D BitmapCUBE[6] and BitmapVolume would be std::vector<Bitmap2D> Then we wouldn't need face and volume versions of various functions. You'd just get the face or the slice Bitma2D and then use the 2D functions. We should decide if that's what we want before pushing a new release. Otherwise we should remove bitmap.idl from idl_scons.lst and the one sample And ship without exposing Bitmap until we are sure they API we are exposing is the one we want. Review URL: http://codereview.chromium.org/159725 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22332 0039d316-1c4b-4281-b951-d872f2087c98
* Renaming libevent to event.apatrick@google.com2009-08-031-0/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22308 0039d316-1c4b-4281-b951-d872f2087c98
* Asynchronous tick now uses NPN_PluginAsyncCall.URL streaming callbacks are ↵apatrick@google.com2009-08-0373-361/+1844
| | | | | | | | now also asynchronous.Implemented NPN_PluginAsyncCall for IE.Allowed WM_PAINT handler to be reentered because it no longer calls into the browser (except to schedule an asynchronous tick if none is pending).Fixed a bug where the EventManager would crash if an event callback called cleanUp on the client.Cleanup destroys all the packs. Doing this in NPP_Destroy seems to make Chrome timeout and fail to load the next page.Tar and GZ decoding happens on a new thread. Review URL: http://codereview.chromium.org/155733 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22305 0039d316-1c4b-4281-b951-d872f2087c98
* minor fix to correctly strip goog.exportSymbolsgman@google.com2009-08-031-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22259 0039d316-1c4b-4281-b951-d872f2087c98
* This adds the sample conversion to the GYP build, at least on Windows.gspencer@google.com2009-07-3011-12/+235
| | | | | | | | | It also fixes some small problems with the build (naming of plugin DLL and activex host dll) Review URL: http://codereview.chromium.org/160428 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22122 0039d316-1c4b-4281-b951-d872f2087c98
* Don't zero newly allocated bitmap data - it's already been zeroed.maf@google.com2009-07-302-8/+0
| | | | | | Review URL: http://codereview.chromium.org/159622 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22038 0039d316-1c4b-4281-b951-d872f2087c98
* Remove source assets from gclient sync depsgman@google.com2009-07-302-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22026 0039d316-1c4b-4281-b951-d872f2087c98