summaryrefslogtreecommitdiffstats
path: root/o3d/core
Commit message (Collapse)AuthorAgeFilesLines
* Moving o3d up a level, to get it out of chrome checkouts.bradnelson@google.com2011-03-28362-84951/+0
| | | | | | | | | | BUG=None TEST=None Too large for codereview. Manual review by thaloun and tschelcher. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79609 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting the parts of r79524.bradnelson@google.com2011-03-2810-10/+10
| | | | | | | | | | | | | O3D is using a pinned version of base. Typically you don't need to update it (and in fact shouldn't) on changes to base. BUG=None TEST=None R=levin@chromium.org Review URL: http://codereview.chromium.org/6757008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79578 0039d316-1c4b-4281-b951-d872f2087c98
* Move some files from base to base/memory.levin@chromium.org2011-03-2810-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | raw_scoped_refptr_mismatch_checker.h ref_counted.cc ref_counted.h ref_counted_memory.cc ref_counted_memory.h ref_counted_unittest.cc scoped_callback_factory.h scoped_comptr_win.h scoped_handle.h scoped_native_library.cc scoped_native_library.h scoped_native_library_unittest.cc scoped_nsobject.h scoped_open_process.h scoped_ptr.h scoped_ptr_unittest.cc scoped_temp_dir.cc scoped_temp_dir.h scoped_temp_dir_unittest.cc scoped_vector.h singleton.h singleton_objc.h singleton_unittest.cc linked_ptr.h linked_ptr_unittest.cc weak_ptr.cc weak_ptr.h weak_ptr_unittest.cc BUG=None TEST=Compile Review URL: http://codereview.chromium.org/6714032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79524 0039d316-1c4b-4281-b951-d872f2087c98
* O2D: Use cairo_surface_create_similar to make the surfaces for textures ↵tschmelcher@chromium.org2011-03-215-95/+195
| | | | | | | | | | | | | | instead of always using image surfaces on every platform. On Windows this would have changed the code from using GDI compositing + image textures to using GDI compositing + GDI textures, but strangely that makes performance much worse. But it turns out that COMPOSITING_TO_IMAGE (i.e., image compositing + image textures) is better than both of the other options. Improves performance on Linux by 19%-36% (higher resolutions are improved more). Improves performance on Windows by 6.8%-21% (higher resolutions are improved less). TEST=loaded O2D on Linux and Windows are compared CPU utilization before and after across various resolutions BUG=none Review URL: http://codereview.chromium.org/6719007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78940 0039d316-1c4b-4281-b951-d872f2087c98
* O2D: Enable clipping for the non-COMPOSITING_TO_IMAGE case (i.e., Linux and ↵tschmelcher@chromium.org2011-03-212-83/+100
| | | | | | | | | | Windows). TEST=loaded O2D on Lin & Win with COMPOSITING_TO_IMAGE both off and on and verified it worked and perf was improved; loaded O2D in Mac with COMPOSITING_TO_IMAGE off and verified that works too BUG=none Review URL: http://codereview.chromium.org/6714033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78895 0039d316-1c4b-4281-b951-d872f2087c98
* O2D: Use cairo clipping to avoid redrawing things that haven't changed since ↵tschmelcher@google.com2011-03-188-115/+468
| | | | | | | | | | | | the last frame. Currently only implemented for the COMPOSITING_TO_IMAGE case (i.e., OSX). The non-COMPOSITING_TO_IMAGE case (i.e., Linux & Windows) will be handled in another CL. The performance improvement from this change is variable, since it depends on how frequently the application requests a paint when there is actually nothing to update. If the application does so frequently, then the improvement is large; if it does so infrequently or never, then the improvement is small or zero. TEST=loaded O2D on Mac and Linux; measured perf on Mac with activity monitor, shark, and framerate logging BUG=none Review URL: http://codereview.chromium.org/6708010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78707 0039d316-1c4b-4281-b951-d872f2087c98
* Oops, fix Linux build failures in r78239 caused by a bad resolve with r77904 ↵tschmelcher@chromium.org2011-03-152-6/+13
| | | | | | | | | | | and by using an enum value not defined in the Linux cairo headers. TEST=built on Linux BUG=none Review URL: http://codereview.chromium.org/6673051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78269 0039d316-1c4b-4281-b951-d872f2087c98
* O2D Mac: Switch to pure software compositing with Pixman, which is better ↵tschmelcher@google.com2011-03-154-43/+104
| | | | | | | | | | | | | than using the OS's 2D compositing on Mac due to Quartz having ridiculously poor performance. :/ Decreases total CPU load per frame by 12.8%. Also some minor TextureCairo clean-up. TEST=O2D before and after with Shark, Activity Monitor, and framerate monitoring BUG=none Review URL: http://codereview.chromium.org/6673034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78239 0039d316-1c4b-4281-b951-d872f2087c98
* Enable O2D fullscreen mode for Linux system.gangji@google.com2011-03-121-7/+29
| | | | | | | | TEST=verified on chrome and firefox under ubuntu. Review URL: http://codereview.chromium.org/6686015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77904 0039d316-1c4b-4281-b951-d872f2087c98
* Enable O2D fullscreen under Windows.gangji@google.com2011-03-112-7/+33
| | | | | | Review URL: http://codereview.chromium.org/6681005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77836 0039d316-1c4b-4281-b951-d872f2087c98
* Allow developers to override RenderMode=Auto to either =3D or =2D with an ↵tschmelcher@google.com2011-03-091-3/+14
| | | | | | | | | | | environment variable. TEST=ran in FF & Chrome on OSX with O3D_OVERRIDE_RENDER_MODE_AUTO=2D and verified 2D was used; ran without and verified 3D was used BUG=none Review URL: http://codereview.chromium.org/6648013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77384 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing random resizing issues under Windows. When resizing under Windows,gangji@google.com2011-03-081-21/+26
| | | | | | | | sometimes, the windows is not updated when creating the surface. Now update the clip region and surface parameters when this happens. Review URL: http://codereview.chromium.org/6626080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77334 0039d316-1c4b-4281-b951-d872f2087c98
* O2D: Work around crash in Mac Safari 5.0.2 when resizing or closing. Safari ↵tschmelcher@google.com2011-03-081-13/+21
| | | | | | | | | | | performs many CGContextSaveGState/RestoreGState calls during the plugin's lifetime and it foolishly calls into the plugin's rendering code and resizing/shutdown code with a different gstate stack depth, which makes it unsound to call RestoreGState on the old CGContext when resizing or shutting down (which happened both explicitly in DestroyCairoSurface() and implicitly inside cairo_surface_destory()). This resulted in an assertion failure inside the CGContextRestoreGState as it tried to pop from an empty stack. To avoid this we have no choice but to create and destroy the Cairo surface on every frame. Luckily, there is no significant perf impact. TEST=O2D on OSX 10.6.4 in FF 3.6.13, Safari 5.0.2, and Chrome 10.0.648.127; compared framerate and CPU usage in FF to the original code and verified there is no significant difference BUG=none Review URL: http://codereview.chromium.org/6624096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77319 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for Core Graphics with Carbon, allowing us to use Core Graphics ↵tschmelcher@google.com2011-03-082-3/+8
| | | | | | | | | | | | | in Firefox (since it does not support Cocoa). This lets us use O2D in FF without porting it to Quickdraw. Also tweak the drawing model behaviour so that we select the best possible model for the requested RenderMode. TEST=RenderMode=Auto and =2D in FF on an MBP6,2 and verified 2D avoids issues with the dynamic GPU switching feature of that hardware; RenderMode=2D in Chrome and Safari BUG=none Review URL: http://codereview.chromium.org/6626059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77223 0039d316-1c4b-4281-b951-d872f2087c98
* When auto fall-back is enabled, fall back to o2d milligan@google.com2011-03-075-28/+18
| | | | | | | | | | | if we detect a software renderer is being reported by o3d. Also add software renderer detection to o2d keyed off of the GL_RENDERER string "Software Rasterizer" Review URL: http://codereview.chromium.org/6592020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77177 0039d316-1c4b-4281-b951-d872f2087c98
* Add O2D rendering with cairo into Windows build.gangji@google.com2011-03-042-1/+45
| | | | | | Review URL: http://codereview.chromium.org/6628015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76986 0039d316-1c4b-4281-b951-d872f2087c98
* Port O2D to Mac, currently just for Core Graphics (the drawing model used in ↵tschmelcher@chromium.org2011-03-035-13/+130
| | | | | | | | | | | Chrome on 10.5). Unfortunately the performance is not yet good enough to prefer it over the CGL + GPU readback + CoreGraphics re-render code path currently in use, so some optimization work will be necessary. TEST=loaded O3D on OSX with RenderMode=Auto and RenderMode=2D in Chrome 9 on 10.5 and 10.6, Safari 4 on 10.5, Safari 5 on 10.6, and FF 3.6 on 10.5 and 10.6 and verified that Auto works everywhere, 2D works in Chrome on 10.5, and 2D fails without crashing in the remaining cases; unit tests BUG=none Review URL: http://codereview.chromium.org/6614005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76839 0039d316-1c4b-4281-b951-d872f2087c98
* Pure pedantry: Replace all ".size() == 0" with ".empty()".erg@google.com2011-03-023-5/+5
| | | | | | | | | BUG=carnitas TEST=compiles; existing unit tests. Review URL: http://codereview.chromium.org/6602049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76467 0039d316-1c4b-4281-b951-d872f2087c98
* Remove FORCE_CAIRO flag and replace with a new feature.milligan@google.com2011-02-244-5/+22
| | | | | | | | | | | | | | | The possible feature values are: RenderMode=Auto RenderMode=2D RenderMode=3D The default if no feature is specified is 3D for backwards compatibility. Review URL: http://codereview.chromium.org/6576007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75895 0039d316-1c4b-4281-b951-d872f2087c98
* Fix multiple issues in the way O3D IPC server address name strings were ↵tschmelcher@chromium.org2011-02-232-10/+14
| | | | | | | | | | | | | | | generated: - They had a small chance of colliding. e.g., message queue 41 for process 4 and message queue 1 for process 44 would both attempt to acquire the name "o3d441", and whichever one came second would fail since it was already in use. The fix is to separate the PID and instance number with a hypen. This way the names in such a case become "o3d4-41" and "o3d41-4", which are distinct. - The PID in the name was truncated if it was greater than 65535 (possible in some edge cases on Windows and Linux). - Incrementing of the per-process id was not thread-safe. TEST=loaded o3d on Linux and verified IPC still works BUG=none Review URL: http://codereview.chromium.org/6578008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75810 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for runtime fall-back from o3d to o2d iff o3d initialization ↵milligan@google.com2011-02-235-14/+18
| | | | | | | | | fails for any reason. This is still only supported on linux for GL renderer. o2d mode can still be forced at compile time via the force_cairo=1 GYP_DEFINE. Verified on Linux in o3d and o2d mode and on Mac. Unit tests are still passing 100%. Also confirmed o2d fall-back using NX on Linux. Review URL: http://codereview.chromium.org/6538102 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75776 0039d316-1c4b-4281-b951-d872f2087c98
* Baby steps toward o2d and o3d dynamic switching in the video acceleratormilligan@google.com2011-02-227-10/+24
| | | | | | | | | | | browser plugin. This step rolls the o2d renderer and the gl renderer into the same linux plugin. Unfortunately the code path for which one gets used is still controlled by a compile time switch. That switch is force_cairo which is set to 0 by default (meaning o3d) in common.gypi. Review URL: http://codereview.chromium.org/6532010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75614 0039d316-1c4b-4281-b951-d872f2087c98
* Log the number of objects in a Pack when it is deleted in debug builds to ↵tschmelcher@chromium.org2011-02-181-0/+2
| | | | | | | | | | help JS app developers find leaks. TEST=used it in a JS app to help identify a leak BUG=none Review URL: http://codereview.chromium.org/6542028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75441 0039d316-1c4b-4281-b951-d872f2087c98
* O2D: Add an API to the Layer class to enable painting the entire screen ↵tschmelcher@chromium.org2011-02-024-33/+30
| | | | | | | | | | | area. JavaScript will use this to paint a custom background colour using a Pattern created by Pattern::CreateRgbPattern(). (In principle JavaScript could already do this by setting (x, y) = (0, 0) and (width, height) = resolution of the display area, but this is simpler.) Also delete the code implementing the hard-coded black background. TEST=loaded O2D and verified that a background can be created as described above BUG=none Review URL: http://codereview.chromium.org/6349032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73511 0039d316-1c4b-4281-b951-d872f2087c98
* O2D: Add an API to set the pattern extension method.tschmelcher@chromium.org2011-02-012-3/+34
| | | | | | | | | TEST=pending: loaded O2D and verified the API functions BUG=none Review URL: http://codereview.chromium.org/6409019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73243 0039d316-1c4b-4281-b951-d872f2087c98
* O2D: Add an API for setting the texture filter.tschmelcher@chromium.org2011-01-272-2/+37
| | | | | | | | | TEST=loaded O2D and verified that choosing different filters gives different results BUG=none Review URL: http://codereview.chromium.org/6254021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72859 0039d316-1c4b-4281-b951-d872f2087c98
* O2D: Fix graphical artifacting with transparent images caused by using ↵tschmelcher@chromium.org2011-01-262-43/+49
| | | | | | | | | | | non-premultiplied alpha ARGB images as if they were premultiplied alpha ARGB. This caused the transparent parts of images to be too bright (and in some cases fully opaque). Cairo only supports premultiplied alpha, but O3D calls SetRect() with non-premultiplied alpha, so we have to convert. TEST=loaded O2D and verified transparent images look correct now BUG=none Review URL: http://codereview.chromium.org/6309007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72658 0039d316-1c4b-4281-b951-d872f2087c98
* O2D: Implement the COPY_WITH_FADING paint operator, and change some of the ↵tschmelcher@chromium.org2011-01-211-22/+28
| | | | | | | | | | | other code to be simpler. TEST=loaded O2D and verified COPY_WITH_FADING works BUG=none Review URL: http://codereview.chromium.org/6298011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72194 0039d316-1c4b-4281-b951-d872f2087c98
* O2D:tschmelcher@chromium.org2011-01-206-27/+131
| | | | | | | | | | | | | | | | | | | - New APIs: - Add a "visible" property to the Layer class to mimick the visible property of the Transform class. - Add a method to set an affine transform on Pattern objects so that texture patterns can be transformed independently from the Layers that use them. - Add a "paint operators" API for Layers and define four operators (currently only three of them implemented). The previous hard-coded behaviour was equivalent to the BLEND_WITH_TRANSPARENCY operator. - Fixes: - Replace the "mask" nomenclature with "clip", which is a more standard name. - Don't clip alpha-blended layers. - Restrict Layer painting to the rectangle defined by the attributes. - Set default alpha value to 0.0 instead of 1.0 to match what JavaScript expects. TEST=loaded O2D and verified all new functionality is working BUG=none Review URL: http://codereview.chromium.org/6255003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72006 0039d316-1c4b-4281-b951-d872f2087c98
* O2D:tschmelcher@chromium.org2011-01-191-3/+8
| | | | | | | | | | | | - Fix graphical artifacting for images downloaded from the Internet caused by overwriting them with their own mip-maps. This resulted in each image being rendered with copies of itself of decreasing size in one of the corners. Cairo does not support/need mip-maps, so we now just ignore the calls to set the mip-maps. - Do not alpha-blend new texture content with the old texture content, which is wrong and would have been wasting a bit of CPU too. TEST=loaded O2D and verified the artifacting is fixed BUG=none Review URL: http://codereview.chromium.org/6268006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71819 0039d316-1c4b-4281-b951-d872f2087c98
* O2D: Several (unrelated) improvements:tschmelcher@chromium.org2011-01-144-19/+59
| | | | | | | | | | | | | - Use Cairo double-buffering (prevents flickering when there is translucency). - Add an API to allow JS to indicate the stacking order of layers. (Previously it was the arbitrary order of their creation!) - Delete layer objects that have been discarded by the JS via Pack::RemoveObject(). TEST=loaded O2D and verified no significant change in perf as a result of double-buffering (~70% of a core before and ~72% of a core after) BUG=none Review URL: http://codereview.chromium.org/6320002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71475 0039d316-1c4b-4281-b951-d872f2087c98
* Change #ifdef _DEBUG test to #ifndef NDEBUG test.tfarina@chromium.org2011-01-103-6/+6
| | | | | | | | | BUG=None TEST=trybots Review URL: http://codereview.chromium.org/5991010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70956 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting the o3d parts of: 70009 70345 70353bradnelson@google.com2011-01-041-6/+6
| | | | | | | | | | | | | | O3D is frozen on an old version of base, so I believe you want to avoid updating it in future base changes. BUG=None TEST=None Review URL: http://codereview.chromium.org/6075009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70450 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/lock and base/condition_variable to base/synchronization/brettw@chromium.org2011-01-011-6/+6
| | | | | | | | | | | I kept a base/lock.h in place with a using statement to avoid updating all callers in one CL. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/6018013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70363 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ON_DEMAND_RENDER mode on Mac OSX.tschmelcher@chromium.org2010-12-152-0/+7
| | | | | | | | Submitting on behalf of pthatcher@google.com Review URL: http://codereview.chromium.org/5843001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69197 0039d316-1c4b-4281-b951-d872f2087c98
* Add an API to allow JavaScript to determine the framerate of individual ↵tschmelcher@chromium.org2010-12-066-29/+101
| | | | | | | | | | | dynamic textures. TEST=loaded O3D on a test page on Linux and used the new API to display the framerate BUG=none Review URL: http://codereview.chromium.org/5591006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68379 0039d316-1c4b-4281-b951-d872f2087c98
* O2D:tschmelcher@chromium.org2010-11-248-84/+285
| | | | | | | | | | | | | | | | | | | | | (1) De-couple the Layer abstraction from the implementations details of Texture, giving JavaScript more control over the scene: - Create a Pattern class backed by Cairo's cairo_pattern_t types (which we were already using implicitly) to represent a particular pattern to paint on a layer (think of it like a brush in PhotoShop/GIMP). A Pattern can be created from either a Texture or a solid colour. This will later allow us to move the PaintBackground() method out in to JS-space. - Axe the overloaded Layer scaling parameters (which were used to represent both the width/height of the Layer and the scaling applied to the Texture), and replace them with separate width/height parameters to describe the Layer dimensions and scale_x/scale_y parameters to describe the scaling applied to the Pattern. (2) Code clean-up: - Use properties instead of functions in the Layer class. - Use double instead of float. - Get rid of unnecessary inheritance of Layer from ParamObject. - Get rid of many unnecessary #include directives in layer.h. - Get rid of super-spammy log message in RendererCairo::Paint(). - Improve comments. TEST=compiled and loaded on Linux in both GL mode and Cairo mode with simple test scenes BUG=none Review URL: http://codereview.chromium.org/5276006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67335 0039d316-1c4b-4281-b951-d872f2087c98
* O2D:tschmelcher@chromium.org2010-11-196-85/+113
| | | | | | | | | | | | | | | - Save textures in memory rather than reading them directly from the SetRect() source, which is an unsafe hack. This fixes a crash when a texture was painted after the shared memory was unregistered, or if a texture was painted that was created from a static image downloaded from the net. This is a perf regression due to the extra copy, but we can add a special shared memory texture class later. This also regresses the functionality because SetRect() updates only a portion of the texture but RendererCairo paints the entire texture. An upcoming CL will add an API to define the region to paint. - Remove unused weak pointer tracker from Layer class. - Create textures of the requested image format rather than hard-coding ARGB8, and fail for formats not supported by Cairo. - Fix a couple crashes caused by missing refcounts. - Fix crash when trying to render a Layer that has no assigned texture. TEST=loaded O2D many times BUG=none Review URL: http://codereview.chromium.org/5134005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66807 0039d316-1c4b-4281-b951-d872f2087c98
* Allows one mousemove event per N ticks.zhurunz@google.com2010-11-052-0/+22
| | | | | | Review URL: http://codereview.chromium.org/4592001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65266 0039d316-1c4b-4281-b951-d872f2087c98
* Further integration of 2D mode. This change supports calltype=v, ↵fransiskusx@google.com2010-09-179-57/+393
| | | | | | | | | | | | | transparancy, and image transformation. Currently only support Linux and compiled when renderer = cairo. TEST= I compiled with renderer = cairo and it worked. Also I compiled with renderer = gl and it worked. BUG=none Review URL: http://codereview.chromium.org/3315023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59811 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 58946 - Further integration of 2D mode. This change supports ↵fbarchard@chromium.org2010-09-099-393/+57
| | | | | | | | | | | | | | | | calltype=v, transparancy, and image transformation. Currently only support Linux and compiled when renderer = cairo. TEST= I compiled with renderer = cairo and it worked. Also I compiled with renderer = gl and it worked. BUG=none Review URL: http://codereview.chromium.org/3272003 TBR=fransiskusx@google.com Review URL: http://codereview.chromium.org/3366019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58988 0039d316-1c4b-4281-b951-d872f2087c98
* Further integration of 2D mode. This change supports calltype=v, ↵fransiskusx@google.com2010-09-099-57/+393
| | | | | | | | | | | | | transparancy, and image transformation. Currently only support Linux and compiled when renderer = cairo. TEST= I compiled with renderer = cairo and it worked. Also I compiled with renderer = gl and it worked. BUG=none Review URL: http://codereview.chromium.org/3272003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58946 0039d316-1c4b-4281-b951-d872f2087c98
* o3d: gles2/desktop_gl: use ARB_shader_objects/ARB_vertex_shader functions ↵piman@chromium.org2010-08-131-0/+61
| | | | | | | | | | instead of the GL2 ones This is to support GL drivers that are 1.4+ARB_so/ARB_vs, like i915 linux drivers (with mesa's glsl2 branch). Tested on NVIDIA (it works), and i915 experimental driver (it doesn't crash but geometry isn't rendered). Review URL: http://codereview.chromium.org/3162006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56077 0039d316-1c4b-4281-b951-d872f2087c98
* Deleting trailing spaces, add ending newline where missing to make lint ↵maf@chromium.org2010-08-064-4/+4
| | | | | | | | happy. Also delete some commented out CSS, etc. Review URL: http://codereview.chromium.org/3083012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55162 0039d316-1c4b-4281-b951-d872f2087c98
* o3d: create a gles v2 context for the native gles2 backendpiman@chromium.org2010-08-051-1/+7
| | | | | | Review URL: http://codereview.chromium.org/3050038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55114 0039d316-1c4b-4281-b951-d872f2087c98
* Initial version rendering 2D path for O3D. This will eventually allow O3D ↵fransiskusx@google.com2010-08-058-0/+925
| | | | | | | | | | | | | | apps to fall back to 2D logic on systems without (working) GPUs. Incorporated 2D library Cairo to O3D. Currently only support Linux and compiled when renderer = cairo. TEST= I compiled with renderer = cairo and it worked. Also I compiled with renderer = gl and it worked. BUG=none Review URL: http://codereview.chromium.org/2825074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55008 0039d316-1c4b-4281-b951-d872f2087c98
* Gut the temp file flushing feature of RawData, because it is a security ↵tschmelcher@chromium.org2010-08-031-1/+2
| | | | | | | | | | | risk. The OS should automatically flush the pages from physical memory anyways. TEST=(Linux FF 3.0) ping pong, beach demo, prince IO, stenciled teapot, simple scene viewer, sobel edge detection shader BUG=none Review URL: http://codereview.chromium.org/3064028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54640 0039d316-1c4b-4281-b951-d872f2087c98
* Ported the Loop/Blinn shaders in samples/o3djs/gpu2d.js to GLSL to addkbr@google.com2010-07-243-0/+25
| | | | | | | | | | | | | | | | antialiasing support. Fixed build problems in GLES2 backend on Mac OS X. Tested updated gpu2d.js in Cg and GLSL versions of plugin. Note that multisampling must be turned on in order for the antialiasing to look good, and in particular O3D's Core Graphics and Core Animation backends on Mac OS X do not currently support this. BUG=none TEST=none TBR=apatrick,gman Review URL: http://codereview.chromium.org/2883038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53564 0039d316-1c4b-4281-b951-d872f2087c98
* Parameterize the name of the "O3DExtras" directory with a GYP variable (to ↵tschmelcher@chromium.org2010-07-122-12/+8
| | | | | | | | | | | | | | allow side-by-side installs of differently-branded builds that both include the extras directory). Also move the branding.gypi and version.gypi files from plugin/ to build/, which is a more sensible location. Also delete an extraneous definition of plugin_enable_fullscreen_msg from core.gyp (it's already in common.gypi). TEST=built on Windows, both with and without plugin_extras_directory specified BUG=none Review URL: http://codereview.chromium.org/2893011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52153 0039d316-1c4b-4281-b951-d872f2087c98
* Improvement from codereview http://codereview.chromium.org/2899008/showzhurunz@google.com2010-07-121-12/+9
| | | | | | Review URL: http://codereview.chromium.org/2933007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52095 0039d316-1c4b-4281-b951-d872f2087c98