summaryrefslogtreecommitdiffstats
path: root/o3d/plugin/plugin.gyp
Commit message (Collapse)AuthorAgeFilesLines
* Make ActiveX CLSIDs and names into overridable variables too. Also make the ↵tschmelcher@chromium.org2010-02-221-11/+110
| | | | | | | | | | | NPAPI plugin's filename overridable, since that's needed too in order to fully re-brand the NPAPI plugin. TEST=built on Windows with branding overrides and verified that the product worked in both FF 3.6 and IE7 with similarly modified JavaScript code BUG=none Review URL: http://codereview.chromium.org/646071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39630 0039d316-1c4b-4281-b951-d872f2087c98
* Make plugin name and mimetype into overridable GYP variables, so that third ↵tschmelcher@chromium.org2010-02-161-3/+13
| | | | | | | | | | | | | parties can more easily redistribute the O3D NPAPI plugin under a different brand. Analogous change for the ActiveX plugin will be in a forthcoming CL. TEST=built on Linux with various overridden values and checked that about:plugins showed the right thing; trybots BUG=none Review URL: http://codereview.chromium.org/599012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39109 0039d316-1c4b-4281-b951-d872f2087c98
* linux: native OpenGL ES supportpiman@google.com2010-02-081-5/+0
| | | | | | | | | This includes Gregg's CL 548023 There are still a few hard-coded paths, and issues to solve, but hellocube-textures-glsl is running on an actual device. Review URL: http://codereview.chromium.org/572029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38385 0039d316-1c4b-4281-b951-d872f2087c98
* linux: arm fixespiman@google.com2010-01-291-2/+1
| | | | | | Review URL: http://codereview.chromium.org/549104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37497 0039d316-1c4b-4281-b951-d872f2087c98
* This change removes CG from O3D and uses GLSLgman@chromium.org2010-01-081-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of HLSL. The current "hack" for shaders is that the shader string you supply to Effect::LoadFromFXString requires the lines // #o3d SplitMarker \n" Above which is the vertex shader and below which is the fragment shader. Since GLSL has no semantics the names are used for semantics so to get an automatically supplied worldViewProjection you must name the uniform worldViewProjection as in uniform mat4 worldViewProjection Similarly for attributes (vertex streams) you must name them to match O3D semantics as in attribute vec4 texcoord1 attribute vec3 normal etc. Included in this is one working sample in o3d/samples/hellocube-glsl.html Other things: Added a glsl field to clientInfo so that a program can check if it needs to supply GLSL or HLSL. eg client.clientInfo.glsl == true Updated the O3D libraries to store that info in o3djs.base.glsl so that the libaries can be modified to supply GLSL if we want. Note: To run this on windows you must copy glew32.dll and glut32.dll to <AppData>...\Mozilla\plugins To get this to actually work in GLES2 will require (*) renaming a few functions (*) telling O3D there is no NPOT support or if possible no NPOT support unless the texture has only 1 level. (*) removing LargeGeometry and FloatingPointTexture support. (*) Making it link with the GLES2 code Review URL: http://codereview.chromium.org/527028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35845 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: bring back the RPATH setting that was deleted by the GYP transition. ↵tschmelcher@chromium.org2010-01-061-5/+37
| | | | | | | | | | Also, make both it and the envvars path be configurable with GYP_DEFINES, and disable the envvars file by default for the Chrome built-in build (since we don't want an external file at /opt/google/o3d controlling Chrome's behaviour). Also specify --gc-sections for the shared library to reduce size. TEST=built shared library and verified that RPATH is set and envvars parsing is compiled-in; verified library is usable; verified that variables can be overridden; verified that --gc-sections reduces size Review URL: http://codereview.chromium.org/517052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35644 0039d316-1c4b-4281-b951-d872f2087c98
* Step 1 in Adding GLES2 renderer to O3D.gman@google.com2009-12-161-0/+16
| | | | | | | | | | | | | | | | | | | | | This step does only copies the GL files to a GLES2 folder. It's still actually the GL renderer at this point but it's the smallest step for getting something that builds and a place to start working. The next step will be to rename all the classes from xxxGL to xxxGLES2 At some point CG will be removed as well One other thing slipped in there. A standalone build path to help generate a C++ only example of using O3D. It's currently only a placeholder. Review URL: http://codereview.chromium.org/500070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34744 0039d316-1c4b-4281-b951-d872f2087c98
* Removed O3D command buffer protocol code and O3D comand buffer configuration.apatrick@google.com2009-11-201-34/+6
| | | | | | Review URL: http://codereview.chromium.org/415004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32576 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Link the O3D browser plugin with -z nodelete.thestig@chromium.org2009-11-191-0/+4
| | | | | | | | BUG=25245 TEST=Install O3D plugin for 32-bit Chrome, visit about:plugins, shutdown Chrome. This should not result in a crash. Review URL: http://codereview.chromium.org/402092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32554 0039d316-1c4b-4281-b951-d872f2087c98
* Recomitting 31676 with fix.apatrick@google.com2009-11-111-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31692 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 31676.apatrick@google.com2009-11-111-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31682 0039d316-1c4b-4281-b951-d872f2087c98
* Reorganized command buffer and GPU plugin code into following structure:apatrick@google.com2009-11-111-1/+1
| | | | | | | | | | | | gpu/gpu.gyp gpu/command_buffer/... gpu/gpu_plugin/... gpu/np_utils/... And fixed up paths and header sentry macros. Also merged command_buffer.gyp into gpu.gyp. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31676 0039d316-1c4b-4281-b951-d872f2087c98
* Switched from NPObject shared memory wrapper to Chrome shared memory in ↵apatrick@google.com2009-11-101-4/+29
| | | | | | | | | | | preparation for moving from NPAPI to Chrome IPC for synchronous messages. Started work on an O3D configuration that will use Pepper 3D to connect to a remote GPU plugin. This is not building yet. Updated to latest NPAPI from nixysa. Review URL: http://codereview.chromium.org/371074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31519 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Add support for loading environment variables at plugin start-up from ↵tschmelcher@chromium.org2009-11-031-0/+8
| | | | | | | | | | | a file on disk. This lets us set any needed environment variables in a cross-browser way (i.e., without trying to modify the browsers' program launcher scripts to set variables for us). This is needed on some 64-bit systems where an environment variable has to be set in order for MESA to know where to find its GPU drivers. BUG=none TEST=built, created envvars file, and put something in it; verified that it was set successfully Review URL: http://codereview.chromium.org/340044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30799 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes to get renderer=cb cb_service=gl to compilegman@google.com2009-10-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | again. I was working on spliting some of the command buffer code in preparation for GL command buffers so those changes are in there as well. I didn't realize the gl command buffers were broken. I'm planning on sharing some of the command buffer code and commands so I thought about making the command buffers into 2 parts. The first N (256?) commands are common commands. Noop, SetToken, Jump Gosub. Those will be handled by common code. After that come the O3D or GL command buffer commands. I'm not sure that's a good idea but there is a significant amount of code in managing tokens and parsing etc and it seems like it would be nice to share it until/if we delete the O3D command buffers. Note: You'll see that SetToken is hardcoded to 1. I plan to fix that in the next CL when I split the command into shared vs specific. Review URL: http://codereview.chromium.org/307043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29831 0039d316-1c4b-4281-b951-d872f2087c98
* Move registering o3d_host.dll to selenium.gyp becausegman@google.com2009-10-201-23/+0
| | | | | | | | | | | | | | | you shouldn't have to register the dll just because you built it. Then, make registering o3d_host.dll and selenium_ie only happen if you are running as admin. This makes it so you can build the O3D without turning of UAC or running as admin. Only if you want to run seleniun_ie do you need to be admin. Review URL: http://codereview.chromium.org/307012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29573 0039d316-1c4b-4281-b951-d872f2087c98
* Changed O3D to use CommandBuffer in-process. Still not connecting to the GPU ↵apatrick@google.com2009-10-191-0/+1
| | | | | | | | | | | | | | | | | | | | | plugin. I removed all the NaCl dependencies. Synchronous messages are now sent by NPAPI. Removed BufferSyncInterface and replaced it with CommandBuffer. CommandBufferHelper now uses NPAPI. Changed some unsigned ints to int32s because NPAPI doesn't support unsigned int. There are now two subclasses of RendererCB. RendererCBLocal is for use with an in-process CommandBuffer. RendererCBRemote is for use with an out-of-process CommandBuffer. I'm going to rearrange the locations of the source files under gpu_plugin next. CommandBuffer and GPUProcessor probably belong in the command_buffer_service library now. np_utils and system_services should be standalone libraries. TEST=none BUG=none Review URL: http://codereview.chromium.org/266068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29429 0039d316-1c4b-4281-b951-d872f2087c98
* Pulling in newer gyp which fixes link after copy problem.bradnelson@google.com2009-10-161-1/+1
| | | | | | | | | | | Updating LIBRARY_PREFIX -> SHARED_LIB_PREFIX to reflect changed convention. BUG=None TEST=None Review URL: http://codereview.chromium.org/283014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29302 0039d316-1c4b-4281-b951-d872f2087c98
* This moves the Cg libs into a library directory under the product dir,gspencer@google.com2009-10-151-2/+0
| | | | | | | | | | | | | and fixes the locations in the executable so that unit tests run correctly. Also, removes explicit references to Cg.framework from plugin and converter gyp files, since they already rely on cg_libs, and that should be sufficient. Review URL: http://codereview.chromium.org/276049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29199 0039d316-1c4b-4281-b951-d872f2087c98
* This updates us to the latest gyp revision, which fixes the Linuxbradnelson@google.com2009-10-061-11/+0
| | | | | | | | | build, and also removes a hack that was put in to get around Linux Gyp's old odd behavior. Review URL: http://codereview.chromium.org/260023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28188 0039d316-1c4b-4281-b951-d872f2087c98
* This makes some changes to the o3d tree in preparationgspencer@google.com2009-10-061-46/+205
| | | | | | | | | | | | | | | | | | | | | | | | for landing in Chrome. The biggest pieces here are moving some of the third party dependencies back into o3d/third_party because they need to be distinct from the chrome versions of the same packages, and because O3D is the only one using the dependency. (NPAPI in particular). Also the plugin gyp file is now modified so that it can handle being part of both a chrome developer tree and an o3d developer tree (in the latter case, it generates the plugin and installer, in the former it does not) BE AWARE that this change will change the main solution/xcodebuild file from "build/all" to be "build/o3d", but rebuilding from gyp files will NOT remove the old "build/all" one, so you might be tricked into opening the wrong one. Review URL: http://codereview.chromium.org/256081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28169 0039d316-1c4b-4281-b951-d872f2087c98
* Add comments setting emacs and vim tab width and expansion variables.sgk@google.com2009-10-061-0/+6
| | | | | | | | BUG=none TEST=successful builds Review URL: http://codereview.chromium.org/256059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28089 0039d316-1c4b-4281-b951-d872f2087c98
* This fixes the GL build so it works.gspencer@google.com2009-10-051-2/+2
| | | | | | | Just add "-Drenderer=gl" to the hooks args. Review URL: http://codereview.chromium.org/242145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28048 0039d316-1c4b-4281-b951-d872f2087c98
* Dynamically loads d3d9 and d3dx9 dlls on Windows.apatrick@google.com2009-09-251-2/+10
| | | | | | | | | | | It's so chrome.exe does not have to load these dlls even when there's no 3D going on. TEST=none BUG=none Review URL: http://codereview.chromium.org/237004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27224 0039d316-1c4b-4281-b951-d872f2087c98
* Added command buffer unit tests to gyp.apatrick@google.com2009-09-241-1/+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
* Made gyp file for command buffer libraries.apatrick@google.com2009-09-151-2/+2
| | | | | | | | | | | | | | 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
* This adds in targets for selenium and updated several other problems,gspencer@google.com2009-09-041-11/+65
| | | | | | | | | | | including some problems with the samples and idl generation. Selenium targets launch selenium on all platforms, but the tests don't pass anywhere but Windows yet because the plugin isn't found. I'll work on that next. Review URL: http://codereview.chromium.org/197014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25467 0039d316-1c4b-4281-b951-d872f2087c98
* Get Mac GYP build compiling.maf@google.com2009-09-031-3/+6
| | | | | | Review URL: http://codereview.chromium.org/172119 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25292 0039d316-1c4b-4281-b951-d872f2087c98
* o3d plugin was mistakenly being built as a static library when built outside ↵bradnelson@google.com2009-08-271-10/+1
| | | | | | | | | | | | | | of chrome. This was preventing the installer from baking it in. BUG=None TEST=None TBR=gspencer Review URL: http://codereview.chromium.org/173591 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24666 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the build by fixing a typo in plugin.gypgspencer@google.com2009-08-261-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24481 0039d316-1c4b-4281-b951-d872f2087c98
* Changes needed to get everything packaged for Mac.maf@google.com2009-08-261-1/+24
| | | | | | Review URL: http://codereview.chromium.org/173453 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24478 0039d316-1c4b-4281-b951-d872f2087c98
* Add missing frameworks to plugin project. maf@google.com2009-08-251-1/+37
| | | | | | | | Adjust a lot of build voodoo to get things set correctly for a mach-o bundled plugin. Create scripts to install private frameworks and modify the plugin to use the private copies. Review URL: http://codereview.chromium.org/173329 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24291 0039d316-1c4b-4281-b951-d872f2087c98
* Changes needed to get Mac plugin gyp project build compiling and linking.maf@google.com2009-08-131-0/+14
| | | | | | Review URL: http://codereview.chromium.org/165433 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23375 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed some warnings in bitmap_png.ccbradnelson@google.com2009-08-101-1/+1
| | | | | | | | | | | | | | 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
* This completes the building of o3d.msi from the GYP build.gspencer@google.com2009-08-061-2/+2
| | | | | | Review URL: http://codereview.chromium.org/164044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22680 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
* Add SetRect to Texture2d and TextureCUBEgman@google.com2009-08-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Asynchronous tick now uses NPN_PluginAsyncCall.URL streaming callbacks are ↵apatrick@google.com2009-08-031-0/+2
| | | | | | | | 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
* This adds the sample conversion to the GYP build, at least on Windows.gspencer@google.com2009-07-301-2/+2
| | | | | | | | | 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
* Adds in the ActiveX control for O3D.gspencer@google.com2009-07-241-2/+63
| | | | | | Review URL: http://codereview.chromium.org/160078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21492 0039d316-1c4b-4281-b951-d872f2087c98
* These are gyp file changes that start to make the Mac GYP build work.gspencer@google.com2009-07-221-5/+6
| | | | | | | | It still doesn't but I want to checkpoint these changes. Review URL: http://codereview.chromium.org/155890 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21279 0039d316-1c4b-4281-b951-d872f2087c98
* This adds some infrastructure for building O3D as part of the Chrome build,gspencer@google.com2009-07-151-16/+28
| | | | | | | | | | | and fixes some of the "AdditionalDependencies" tags to be just generic 'libraries' tags to be more general. TEST=none BUG=none Review URL: http://codereview.chromium.org/149650 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20688 0039d316-1c4b-4281-b951-d872f2087c98
* This splits the import.gyp file into two parts (one for building archive lib,gspencer@google.com2009-07-141-4/+1
| | | | | | | | | | and one for building import lib), so that the chrome build can depend only on the archive.gyp file to reduce its dependencies. It also adds a missing gyp file for the tests. Review URL: http://codereview.chromium.org/149623 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20638 0039d316-1c4b-4281-b951-d872f2087c98
* Adding in most of the unit tests. This adds 406 of our unit testsgspencer@google.com2009-07-011-6/+12
| | | | | | | | | into the gyp build. 21 of them fail, but that is only because they don't have test input yet -- I haven't added the build code that copies the test inputs into the build dir yet. Review URL: http://codereview.chromium.org/147129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19778 0039d316-1c4b-4281-b951-d872f2087c98
* This adds in the GYP files needed for our GYP build,gspencer@google.com2009-06-241-0/+200
and modifies the DEPS file extensively to match. Review URL: http://codereview.chromium.org/131116 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19091 0039d316-1c4b-4281-b951-d872f2087c98