summaryrefslogtreecommitdiffstats
path: root/app/gfx
Commit message (Collapse)AuthorAgeFilesLines
* Added lots of logging to the GPU code.apatrick@chromium.org2010-09-209-34/+81
| | | | | | | | | | | This should help us diagnose initialization failures. TEST=try BUG=none Review URL: http://codereview.chromium.org/3380010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59970 0039d316-1c4b-4281-b951-d872f2087c98
* GPU process reports context lost when SwapBuffers fails.apatrick@chromium.org2010-09-109-34/+43
| | | | | | | | | | | This is to give the renderer or plugin process an opportunity to recover. TEST=try BUG=none Review URL: http://codereview.chromium.org/3305028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59115 0039d316-1c4b-4281-b951-d872f2087c98
* Loads GL shared libraries from module directories rather than exe directory.vangelis@chromium.org2010-09-103-13/+13
| | | | | | | | | | | This is because when chrome is installed, the shared libraries go in a different directory to the exe. TEST=try BUG=none Review URL: http://codereview.chromium.org/3351021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59036 0039d316-1c4b-4281-b951-d872f2087c98
* Added GPU stat for whether a GPU can report context lost.apatrick@chromium.org2010-09-072-1/+8
| | | | | | | | | | | | | | | On Windows it checks to see if the IDirect3D9 object supports Vista and later features (meaning it won't routinely report lost contexts). On Linux and Mac we can just check if its EGL versus some other GL that doesn't report lost contexts. I routed the stats to the renderer process so webkit code can query whether lost contexts are likely. I didn't wire up breakpad yet. TEST=try BUG=52318 Review URL: http://codereview.chromium.org/3149016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58755 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move some heavy, repeatedly emitted symbols to implementation files.erg@google.com2010-08-301-0/+1
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3162047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57896 0039d316-1c4b-4281-b951-d872f2087c98
* Rework gfx::Font by moving platform-specific code into inner classes.ben@chromium.org2010-08-131-1/+1
| | | | | | | | | | | | | gfx::Font is a platform-neutral API shim that exists as a wrapper object to allow for the creation and lifetime of gfx::Font objects to remain consistent with past usage. gfx::PlatformFont is an interface implemented by the platform-specific inner classes (gfx::PlatformFontWin,Mac,Gtk). BUG=none TEST=existing unittests Review URL: http://codereview.chromium.org/3083022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56040 0039d316-1c4b-4281-b951-d872f2087c98
* Removed reference to glew from comment.apatrick@chromium.org2010-08-121-1/+1
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/3175007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55925 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed build problems on Mac OS X when using GLContext from Chromium'skbr@google.com2010-08-106-7/+10
| | | | | | | | | | | | WebKit code. Added glIsFramebufferEXT and glIsRenderbufferEXT as preferred aliases. BUG=none TEST=WebGL, try bots Review URL: http://codereview.chromium.org/3146002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55584 0039d316-1c4b-4281-b951-d872f2087c98
* Added a couple of new GL extension bindings.apatrick@chromium.org2010-08-093-2/+30
| | | | | | | | | | | These are used by the default Chrome WebKit WebGL implementation. TEST=try BUG=none Review URL: http://codereview.chromium.org/3030053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55465 0039d316-1c4b-4281-b951-d872f2087c98
* De-wstringify gl_implementation.cc.evan@chromium.org2010-08-031-13/+12
| | | | | | Review URL: http://codereview.chromium.org/3085006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54819 0039d316-1c4b-4281-b951-d872f2087c98
* GPU command decoder uses depth24_stencil8_oes extension if available.apatrick@chromium.org2010-08-023-0/+21
| | | | | | | | | | | | | This is now the only depth / stencil format supported by ANGLE. Other GLES2 implementations will only use it if the extension is supported. Also changed all usage of GLES2_GPU_SERVICE_BACKEND_NATIVE_GLES2 to a runtime check since we no longer know at compile time whether the backend will be GL ot GLES2. TEST=try, GPU unit tests locally, WebGL locally, Pepper 3D locally BUG=none Review URL: http://codereview.chromium.org/3046035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54627 0039d316-1c4b-4281-b951-d872f2087c98
* Move the number conversions from string_util to a new file.brettw@chromium.org2010-07-301-3/+5
| | | | | | | | | | | | | Use the base namespace in the new file. Update callers. I removed all wstring variants and also the string->number ones that ignore the return value. That encourages people to write code and forget about error handling. TEST=included unit tests BUG=none Review URL: http://codereview.chromium.org/3056029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54355 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unneeded headers from app/thestig@chromium.org2010-07-291-1/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/2819063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54102 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Fix some NULL versus 0 issues to appease gcc-4.5.craig.schlenter@chromium.org2010-07-271-2/+2
| | | | | | | | | | | Patch is 99% the same as spotrh's version (thanks spot!) except for the use of gfx::kNullPluginWindow in this version. BUG=49533 Review URL: http://codereview.chromium.org/3014034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53788 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-269-0/+9
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Added --use-gl command line flag to select GL implementation.apatrick@chromium.org2010-07-1413-333/+700
| | | | | | | | | | | | - Options are desktop, egl and osmesa. - Also added support for bliting an OSMesa bask buffer to a GDK window. TEST=trybots, manual verification that WebGL and Pepper 3D work BUG=45898 Review URL: http://codereview.chromium.org/2825005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52388 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: add GLES/EGL support on linuxpiman@chromium.org2010-06-216-32/+196
| | | | | | Review URL: http://codereview.chromium.org/2829007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50397 0039d316-1c4b-4281-b951-d872f2087c98
* Committing on behalf of p155off@gmail.com .kbr@google.com2010-06-152-1/+2
| | | | | | | | | | | | | Remove duplicated code in AcceleratedSurface using PbufferGLContext instead. This also fixes a crash caused by the OpenGL bindings not being initialized. BUG=46286 TEST=flash plugin 10.1 works again in both mac 10.5 and 10.6 Review URL: http://codereview.chromium.org/2782006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49836 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting checkin in rev 48521 as creating a child window for GL rendering ↵vangelis@chromium.org2010-06-101-63/+5
| | | | | | | | | | | | | creates more problems than it solves. Hopefully either we'll find a more elegant solution or the problem will go away with the introduction of ANGLE. This patch is identical to: http://codereview.chromium.org/2644001/show which was checked in and reverted due to a build failure (which I believe was unrelated) Review URL: http://codereview.chromium.org/2721001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49441 0039d316-1c4b-4281-b951-d872f2087c98
* Added EGL based GLContext.apatrick@chromium.org2010-06-0919-351/+2413
| | | | | | | | | | | | | | Python script to generate code to dynamically bind to GL functions (native GL, OSMesa, EGL or mock GL for unit tests). This replaces GLEW because GLEW doesn't bind to the GLES dialect of GL. Moved the mock GL code into app/gfx/gl. Updated the GPU code and AcceleratedSurface to use the new GL bindings. TEST=trybots BUG=none Review URL: http://codereview.chromium.org/2134006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49332 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 49066 - Reverting checkin in rev 48521 as creating a child window for ↵erg@chromium.org2010-06-071-5/+63
| | | | | | | | | | | | GL rendering creates more problems than it solves. Hopefully either we'll find a more elegant solution or the problem will go away with the introduction of ANGLE. Review URL: http://codereview.chromium.org/2644001 TBR=vangelis@chromium.org Review URL: http://codereview.chromium.org/2645007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49067 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting checkin in rev 48521 as creating a child window for GL rendering ↵vangelis@chromium.org2010-06-071-63/+5
| | | | | | | | | creates more problems than it solves. Hopefully either we'll find a more elegant solution or the problem will go away with the introduction of ANGLE. Review URL: http://codereview.chromium.org/2644001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49066 0039d316-1c4b-4281-b951-d872f2087c98
* Added warning if GLX version is less than 1.3. Pbuffers need GLX 1.3 and the ↵apatrick@chromium.org2010-05-281-0/+10
| | | | | | | | | | | pixmap fallback for 1.2 does not work on all systems. TEST=try BUG=none Review URL: http://codereview.chromium.org/2382002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48538 0039d316-1c4b-4281-b951-d872f2087c98
* Get the GPU process to create an additional window for the GL context in ordervangelis@chromium.org2010-05-281-7/+65
| | | | | | | | | to get window resizing to work. The new content window is a sibling of the hosting window but its position is set such that it renders on top of the host. BUG=44518 Review URL: http://codereview.chromium.org/2102009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48521 0039d316-1c4b-4281-b951-d872f2087c98
* Changed DLOG to LOG in gl_context_linux.cc to get informative errorkbr@google.com2010-05-241-19/+19
| | | | | | | | | | | messages even in release builds when WebGL initialization fails. BUG=44226 TEST=none Review URL: http://codereview.chromium.org/2110012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48045 0039d316-1c4b-4281-b951-d872f2087c98
* linux: fallback to GLX Pixmaps when pbuffers aren't availablepiman@chromium.org2010-05-181-3/+159
| | | | | | Review URL: http://codereview.chromium.org/2129007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47484 0039d316-1c4b-4281-b951-d872f2087c98
* Fix NULL vs 0 problems which break the build with -Werror using GCC 4.5evan@chromium.org2010-05-061-2/+2
| | | | | | | | | | | BUG=none TEST=try to compile with gcc 4.5 Patch by Benjamin Jemlich <pcgod99@gmail.com>. Review URL: http://codereview.chromium.org/2007003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46601 0039d316-1c4b-4281-b951-d872f2087c98
* OSMesa was not being correctly initialized when used with WebGL.apatrick@chromium.org2010-04-293-33/+21
| | | | | | | | | | | GLEW was not being initialized and the back buffer was not being cleared. Back buffer was not being deallocated in OSMesaGLContext::Destroy. TEST=trybots BUG=none Review URL: http://codereview.chromium.org/1792008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45958 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper3D plugin tests enabled for Windows.apatrick@chromium.org2010-04-221-0/+4
| | | | | | | | | | | OSMesa (offscreen 3D renderer) allows us to now run these on the bots. Once OSMesa is working on linux and max, we can enable the tests for those platforms too. TEST=trybots, checked they fail when OSMesa is not built and pass when OSMesa is built BUG=none Review URL: http://codereview.chromium.org/1752006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45353 0039d316-1c4b-4281-b951-d872f2087c98
* Landing 45240 again.apatrick@chromium.org2010-04-227-0/+1526
| | | | | | | | | | | | | | GLContext implementations were dependent on some stuff in app/. Moved GLContext class to app/gfx/gl. Now it can be used by code outside of the gpu project, for example AcceleratedSurface. TEST=trybots, checkdeps BUG=none Review URL: http://codereview.chromium.org/1689006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45335 0039d316-1c4b-4281-b951-d872f2087c98
* Move app/gfx/canvas and app/gfx/font to gfx/.ben@chromium.org2010-03-2313-2276/+1
| | | | | | | | | | TBR=darin BUG=none TEST=none Review URL: http://codereview.chromium.org/1132006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42312 0039d316-1c4b-4281-b951-d872f2087c98
* Clamp the max size of fonts used by skia/chrome canvas.tony@chromium.org2010-03-233-24/+33
| | | | | | | | | | | | This forces us to ignore dpi sizes > 96., like we do in other places. It does allow smaller DPIs to work since that mostly just makes fonts smaller. BUG=26354 Review URL: http://codereview.chromium.org/1095004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42311 0039d316-1c4b-4281-b951-d872f2087c98
* Disable test until I move this file later this evening.ben@chromium.org2010-03-221-2/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42278 0039d316-1c4b-4281-b951-d872f2087c98
* Make gfx::Font use callbacks to perform locale-dependent font adjustments. ↵ben@chromium.org2010-03-224-9/+23
| | | | | | | | | | | Also cleans up some of the last remaining l10n_util usages within app/gfx in preparation for moving these files to toplevel gfx. BUG=none TEST=none Review URL: http://codereview.chromium.org/1110008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42262 0039d316-1c4b-4281-b951-d872f2087c98
* Move RTL related functions from app/l10n_util to base/i18n/rtlben@chromium.org2010-03-203-6/+23
| | | | | | | | | | TBR=darin BUG=none TEST=none Review URL: http://codereview.chromium.org/1073005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42182 0039d316-1c4b-4281-b951-d872f2087c98
* Move text_elider from app/gfx to app/ben@chromium.org2010-03-193-779/+0
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42090 0039d316-1c4b-4281-b951-d872f2087c98
* Move more files to toplevel gfx.ben@chromium.org2010-03-1916-2539/+0
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42071 0039d316-1c4b-4281-b951-d872f2087c98
* Move image codec stuff to toplevel gfx.ben@chromium.org2010-03-187-1841/+0
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41911 0039d316-1c4b-4281-b951-d872f2087c98
* Move some more files to toplevel gfx dir.ben@chromium.org2010-03-1717-1102/+0
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41812 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/gfx contents to gfx/ben@chromium.org2010-03-1413-15/+16
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41559 0039d316-1c4b-4281-b951-d872f2087c98
* Create a toplevel gfx/ dir and seed it with icon_util.ben@chromium.org2010-03-133-945/+0
| | | | | | | | | | TBR=darin BUG=none TEST=none Review URL: http://codereview.chromium.org/915002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41528 0039d316-1c4b-4281-b951-d872f2087c98
* Don't allocate temporary buffer during PNG encoding.erg@google.com2010-03-122-29/+105
| | | | | | | | | | | | | | | | | | PNGCodec::EncodeBGRASkBitmap() was originally designed for dealing with 16x16 pixel favicons. It allocated a temporary buffer to unpremultiply the rgb pixels in the incoming skia image. These days, it's used for any PNG<->SkBitmap task, including the theme system. In one case, I saw multiple 10 megabyte temporary buffers allocated and deallocated here. Instead, juggle the code a little to only allocate one row worth of pixels and to reuse that buffer. BUG=none TEST=Existing PNGCodec.* tests, plus PNGCodec.EncodeBGRASkBitmapDiscardTransparency Review URL: http://codereview.chromium.org/851006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41493 0039d316-1c4b-4281-b951-d872f2087c98
* GTK: more browser action toolbar functionality. estade@chromium.org2010-03-121-0/+4
| | | | | | | | | | | | | | | | - Resize smartly after dragging (animate to the "right" size) - Add the overflow menu (it is clickable, but you can't drag to/from it) - Resize appropriately after adding/removing buttons still TODO: - persist the #icons that are visible BUG=32101 TEST=manual Review URL: http://codereview.chromium.org/897001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41372 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some issues with text size calculation and message boxes.pkasting@chromium.org2010-03-111-40/+54
| | | | | | | | | | | | | | First, size calculations for multi-line, character-breaking strings with no prespecified width were returning useless values, and when given pathological input, could take extremely long time. Second, the flag calculations for text layout were a bit odd. For example, we wouldn't add an ending ellipsis on elided text if it was multi-line, and we wouldn't add an ellipsis on a clipped word if character breaking was off. Fixed these and reordered the calculations to match the order in which the header declares the flags. Third, message boxes shouldn't need to trim their inputs, or add an ellipsis character, as both of these should now be handled safely by the underlying code. BUG=34721 TEST=alert("AAAAA") for strings of As that are, say, 4000 characters long should not cause the UI to hang up for noticeable lengths of time Review URL: http://codereview.chromium.org/810003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41343 0039d316-1c4b-4281-b951-d872f2087c98
* svn prop fixes. Applied to all files not in third_party.pkasting@chromium.org2010-03-092-0/+0
| | | | | | | | | | | | * Removed eol-style, executable and mergeinfo from BMP/GIF/ICO/JPEG files, and set correct mime-type. * Removed executable and mergeinfo from .c/.cc/.cpp/.h/.m/.mm and .gyp files, and set eol-style to LF. TBR=evanm BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40991 0039d316-1c4b-4281-b951-d872f2087c98
* app: string_util.h -> utf_string_conversions.h fix.jhawkins@chromium.org2010-03-064-10/+16
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/668226 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40853 0039d316-1c4b-4281-b951-d872f2087c98
* Workaround for Pango integer overflow on really long strings.mmoss@google.com2010-03-011-0/+12
| | | | | | | | | This fixes TextEliderTest.ElideTextLongStrings breakage on "Linux Tests (dbg-shlib)(1)" (Karmic). http://chrome-buildbot.corp.google.com:8016/builders/Linux%20Tests%20(dbg-shlib)(1)/builds/1367/steps/app_unittests/logs/stdio Review URL: http://codereview.chromium.org/661244 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40297 0039d316-1c4b-4281-b951-d872f2087c98
* Move skia_utils_gtk.cc/.h to app/gfx/. Original patch by Thiago Farina (see ↵pkasting@chromium.org2010-02-262-0/+54
| | | | | | | | | http://codereview.chromium.org/660063 ), r=me. BUG=22853 TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40083 0039d316-1c4b-4281-b951-d872f2087c98
* Remove ampersands from menu item titles. See http://crosbug.com/1273avayvod@chromium.org2010-02-131-8/+19
| | | | | | | | | | BUG=None TEST=Right click bookmark bar. See no & in Cut,Copy,Paste and Bookmark Manager. Review URL: http://codereview.chromium.org/593074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38987 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TODOs or add bug numbers to TODOspinkerton@chromium.org2010-02-121-1/+1
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/606016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38892 0039d316-1c4b-4281-b951-d872f2087c98