summaryrefslogtreecommitdiffstats
path: root/chrome/gpu
Commit message (Collapse)AuthorAgeFilesLines
* FBTF: Remove "obviously" unneeded standard C++ library #includes.viettrungluu@chromium.org2010-08-151-3/+0
| | | | | | | | | BUG=none TEST=builds Review URL: http://codereview.chromium.org/3179017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56171 0039d316-1c4b-4281-b951-d872f2087c98
* Initialize the members and avoid inlining the constructors.finnur@chromium.org2010-08-121-1/+4
| | | | | | | | | | BUG=None TEST=None CID=12377, 12379, 12380, 12381 Review URL: http://codereview.chromium.org/3176004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55863 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Clean up some headers in tab_contents_delegate.h.erg@google.com2010-08-102-0/+3
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3145001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55635 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Minor gfx/ header cleanup.erg@google.com2010-08-102-0/+3
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3034039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55577 0039d316-1c4b-4281-b951-d872f2087c98
* 1. ipc_video_decoder.cc/h is media pipeline filter which use the gpu decoder ↵jiesun@google.com2010-08-106-0/+372
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified. 2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too) 3. gpu_video_decoder.cc/h. abstract interface for hardware decoder. 4. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service. 5. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel. 6. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support. ISSUES: 1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it. 2. stop readback from D3D surface use ANGLE. 3. Flush logic still need fine tuning. 4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ? 5. Error handling. 6. Input ring buffer implementation. Current impl is naive. 7.Add output queue for MFT decoder. 8. Query Capabilities at GetVideoServices()... BUG=None TEST=Windows7 Review URL: http://codereview.chromium.org/2873089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55516 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 55405 - Special thanks for in-ming cheng's MFT hardware decodering code.ananta@chromium.org2010-08-098-1065/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. ipc_video_decoder.cc/h is media pipeline filter which use the gpu decoder facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified. 2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too) 3. gpu_video_decoder.cc/h. abstract interface for hardware decoder. 4. gpu_video_decoder_mft.cc/h media foundation transform hardware decoder which run on windows 7 only. 5. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service. 6. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel. 7. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support. ISSUES: 1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it. 2. stop readback from D3D surface use ANGLE. 3. Flush logic still need fine tuning. 4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ? 5. Error handling. 6. Input ring buffer implementation. Current impl is naive. 7.Add output queue for MFT decoder. 8. Query Capabilities at GetVideoServices()... BUG=None TEST=Windows7 Review URL: http://codereview.chromium.org/2873089 TBR=jiesun@google.com Review URL: http://codereview.chromium.org/3020077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55419 0039d316-1c4b-4281-b951-d872f2087c98
* Special thanks for in-ming cheng's MFT hardware decodering code.jiesun@google.com2010-08-098-0/+1065
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. ipc_video_decoder.cc/h is media pipeline filter which use the gpu decoder facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified. 2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too) 3. gpu_video_decoder.cc/h. abstract interface for hardware decoder. 4. gpu_video_decoder_mft.cc/h media foundation transform hardware decoder which run on windows 7 only. 5. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service. 6. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel. 7. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support. ISSUES: 1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it. 2. stop readback from D3D surface use ANGLE. 3. Flush logic still need fine tuning. 4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ? 5. Error handling. 6. Input ring buffer implementation. Current impl is naive. 7.Add output queue for MFT decoder. 8. Query Capabilities at GetVideoServices()... BUG=None TEST=Windows7 Review URL: http://codereview.chromium.org/2873089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55405 0039d316-1c4b-4281-b951-d872f2087c98
* SwapBuffers notification is sent from GPU process to renderer process.apatrick@chromium.org2010-08-062-0/+8
| | | | | | | | | | | Once the notification has been received, it is safe to bind an offscreen "front buffer" in its parent context. Binding before the notification is received might result in getting the previous frame. TEST=try, WebGL BUG=none Review URL: http://codereview.chromium.org/3083017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55278 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unneeded headers from base/ (part 2)thestig@chromium.org2010-08-061-4/+2
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3010052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55191 0039d316-1c4b-4281-b951-d872f2087c98
* Initial port of accelerated compositor to Mac OS X 10.6. Reusedkbr@google.com2010-08-044-5/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | infrastructure added for Pepper 3D and Core Animation plugins to render the compositor's output. The implementation allocates a fake "plugin window handle" on the browser side which is the "root" handle, containing the compositor's output, and which, if present, is drawn before any other accelerated plugin instances. Added messages from GPU process to browser process for handling window resizing and presentation of output. Added support to GGL for "view" contexts on Mac OS X, used only for the accelerated compositor, and requiring explicit resize notifications. The remainder of this port will go into the WebKit repository under https://bugs.webkit.org/show_bug.cgi?id=43398 after this for dependency reasons. Tested manually with CSS 3D and WebGL demos. Several stability and correctness issues remain and will be addressed in following CLs; however, the current code works for the majority of basic use cases including switching between accelerated compositing on and off, and scrolling of content. BUG=38969 TEST=none Review URL: http://codereview.chromium.org/3067026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54923 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unneeded headers from app/thestig@chromium.org2010-07-292-2/+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-2614-0/+14
| | | | | | | | | 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
* GPU process command buffer stubs are destroyed when channel is closed.apatrick@chromium.org2010-07-156-80/+59
| | | | | | | | | | | | | | | | - This was didn't work by of a reference counting cycle. GPU process no longer automatically terminates when the last channel is closed. - The GPU process will be launched at renderer startup and keep running unless it crashes. Command buffer stubs no longer hold a strong reference to their parent. TEST=try BUG=none Review URL: http://codereview.chromium.org/2903006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52531 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: Fix leaking TransportDIB in ↵mattm@chromium.org2010-07-142-3/+3
| | | | | | | | | | | | GpuBackingStore{GLX,Win}::OnPaintToBackingStore CID=8190,9146 TEST=none BUG=none Review URL: http://codereview.chromium.org/2997002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52410 0039d316-1c4b-4281-b951-d872f2087c98
* Collecting gpu information when the gpu process creates a channel. Adding ↵rlp@chromium.org2010-07-141-1/+6
| | | | | | | | | | | the gpu_info into the messages sent between gpu process and browser and sending over the browser. Will do something with it in the browser in another CR. BUG=38736 TEST=none Review URL: http://codereview.chromium.org/2857035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52356 0039d316-1c4b-4281-b951-d872f2087c98
* Moving gpu_info to common so that it can be used by param traits. Pulling ↵rlp@chromium.org2010-07-097-145/+113
| | | | | | | | | | | the collection out into a separate class. BUG=38736 TEST=existing unittests Review URL: http://codereview.chromium.org/2914001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51967 0039d316-1c4b-4281-b951-d872f2087c98
* Remove outdated TODOpiman@chromium.org2010-07-021-1/+0
| | | | | | Review URL: http://codereview.chromium.org/2847047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51557 0039d316-1c4b-4281-b951-d872f2087c98
* linux: add accelerated compositing.piman@chromium.org2010-07-013-10/+16
| | | | | | | | | Similar to Windows, this doesn't handle exposes currently, nor WebGL. Other caveat: tearing off a tab causes trouble to the gpu process. Review URL: http://codereview.chromium.org/2886003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51324 0039d316-1c4b-4281-b951-d872f2087c98
* Inlining accessors and mutators of gpu_info so that there won't be duplicate ↵rlp@chromium.org2010-06-302-31/+36
| | | | | | | | | | | across platform implementations. BUG=38736 TEST=gpu unittests Review URL: http://codereview.chromium.org/2830025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51270 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a mutator method for the private variables.rlp@chromium.org2010-06-232-0/+17
| | | | | | | | | BUG=38736 TEST=none Review URL: http://codereview.chromium.org/2860016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50666 0039d316-1c4b-4281-b951-d872f2087c98
* Adding the gpu_info classes to get gpu info. The actual integration will be ↵rlp@chromium.org2010-06-214-0/+338
| | | | | | | | | | | in another CL. Just want to get the classes and tests in there first. BUG=38736 TEST=unittests included Review URL: http://codereview.chromium.org/2733004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50401 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Catch X errors and force a crash.thestig@chromium.org2010-06-111-2/+3
| | | | | | | | BUG=45020 TEST=See http://crosbug.com/3487 Review URL: http://codereview.chromium.org/2716007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49488 0039d316-1c4b-4281-b951-d872f2087c98
* Added EGL based GLContext.apatrick@chromium.org2010-06-095-66/+68
| | | | | | | | | | | | | | 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
* Rename Chrome threads to use a "Cr" prefix.evan@chromium.org2010-06-091-2/+1
| | | | | | | | | | | Before we carefully used the app (Chrome/Chromium) name, but: 1) these are for internal debugging use only, so why compute this name 2) on Linux the thread ids are limited to 16 characters, and "Chromium" is too long Review URL: http://codereview.chromium.org/2741003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49296 0039d316-1c4b-4281-b951-d872f2087c98
* Added check for negative height/width and ensure that buffer size has not ↵scherkus@chromium.org2010-06-081-10/+21
| | | | | | | | | | | | changed before reading buffers. Patch by cdn@chromium.org: http://codereview.chromium.org/2479002/show BUG=43322 TEST=Run with --enable-video-layering and --enable-gpu-rendering and use <video> tag git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49132 0039d316-1c4b-4281-b951-d872f2087c98
* - Extracted platform specific code from GLES2 command decoder to platform ↵apatrick@chromium.org2010-04-091-1/+1
| | | | | | | | | | | | | specific GLContext classes. - GLContext encapsulates management of GL contexts on each platform. - ReadPixels uses actual current window size to validate source rectangle. TEST=trybots, running Pepper 3D and WebGL demos on all platforms BUG=none Review URL: http://codereview.chromium.org/1605014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44129 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented offscreen rendering path for GLES2CmdDecoder on Linux.kbr@google.com2010-03-311-0/+32
| | | | | | | | | | | With these changes, WebGL runs in the sandbox on Linux. BUG=29120 TEST=ran WebGL demos in sandbox on Linux Review URL: http://codereview.chromium.org/1540004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43235 0039d316-1c4b-4281-b951-d872f2087c98
* Split GpuProcessHost into GpuProcessHostUIShim, which runs on the UIkbr@google.com2010-03-303-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | thread, and GpuProcessHost, which now runs on the IO thread and derives from ChildProcessHost. This split was necessary in order to service synchronous messages from the renderer process. Moved message handlers for GPU messages from renderer to browser from BrowserRenderProcessHost to ResourceMessageFilter. Stopped sending multiple ViewHostMsg_EstablishGpuChannel messages from the same renderer if the connection was already established. Resetting the channel was causing failures in Send, and every other page reload containing WebGL content to fail. This cleanup will allow further simplification in the GPU process, but this is being left for a subsequent CL. Fixed bug in sandboxing of GPU process. Fixed latent bugs in cleanup code in GpuChannel and GpuChannelHost. Fixed crashes in ChildProcessHost if resource_dispatcher_host_ was NULL. Fixed apparent latent race conditions in creation of BackingStoreProxy and VideoLayerProxy. With these changes, WebGL content is running in the sandbox on both Mac and Windows. Linux support will be added in a following CL. BUG=29120 TEST=ran WebGL demos on Mac and Windows Review URL: http://codereview.chromium.org/1546001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43029 0039d316-1c4b-4281-b951-d872f2087c98
* Added command buffer implementation of WebGL which runs in the sandbox.kbr@google.com2010-03-272-0/+7
| | | | | | | | | | | | | | | | | | | | | | Added synchronous initialization of the channel to the GPU process, needed to obey WebGL startup semantics. There are problems with this on the Windows platform which will be addressed via refactoring in the GpuProcessHost in a subsequent CL. Implemented offscreen rendering code path in GGL / GLES2CmdDecoder for Mac OS X. This new code path is not yet complete for all platforms and is still being stress tested. The previous in-process WebGL implementation is currently used when the sandbox is disabled; it will be removed in a subsequent CL. A one-line code change in WebKit is needed after this CL lands to enable the new code path. BUG=29120 TEST=ran WebGL demos on command buffer implementation on Mac Review URL: http://codereview.chromium.org/1328001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42879 0039d316-1c4b-4281-b951-d872f2087c98
* Calling OpenGL from the renderer processapatrick@chromium.org2010-03-256-69/+153
| | | | | | | | | | | | | | - Added ability for renderer processes to render to a real window (Windows only so far). - Added ability to create offscreen frame buffer objects that can be resized later. - OpenGL context can have a "parent" context that can access its last swapped back buffer through a texture ID. - Moved code to establish GPU channel from RenderWidget to RenderThread. - Changed way service size command buffer object lifetimes are managed. TEST=trybot and visual verification that OpenGL can clear the browser window to magenta. BUG=none Review URL: http://codereview.chromium.org/1136006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42679 0039d316-1c4b-4281-b951-d872f2087c98
* Workaround for I915 graphics cards which have horrible GL shader support.scherkus@chromium.org2010-03-252-0/+19
| | | | | | | | | | | | | | Summary: - GLEW doesn't load the GL shader functions, so we have to load them ourselves - Replace our varying vec2 with glTexCoord[0].st - Replace our uniform mat3 with manual matrix multiplication BUG=33329 TEST=try it out on anything with an I915 Review URL: http://codereview.chromium.org/1219006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42659 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed bugs in GPU process startup on POSIX platforms. Addedkbr@google.com2010-03-232-0/+15
| | | | | | | | | | | | --gpu-startup-dialog command line option to allow debugging of GPU process. BUG=none TEST=none (tested manually in development workspace) Review URL: http://codereview.chromium.org/1095005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42375 0039d316-1c4b-4281-b951-d872f2087c98
* Remove dependency from webkit on chrome/common by moving files to src/app.pinkerton@chromium.org2010-03-195-7/+7
| | | | | | | | BUG=37985 TEST=no functional change. Review URL: http://codereview.chromium.org/1060001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42101 0039d316-1c4b-4281-b951-d872f2087c98
* Move more files to toplevel gfx.ben@chromium.org2010-03-191-1/+1
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42071 0039d316-1c4b-4281-b951-d872f2087c98
* Move some more files to toplevel gfx dir.ben@chromium.org2010-03-175-5/+5
| | | | | | | | | 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-142-2/+2
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41559 0039d316-1c4b-4281-b951-d872f2087c98
* Added support for opening a GPU command buffer from a renderer processes ↵apatrick@chromium.org2010-03-057-1/+495
| | | | | | | | | | | | through a GPU channel. Probably only works in windows only so far. TEST=none BUG=none Review URL: http://codereview.chromium.org/657046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40783 0039d316-1c4b-4281-b951-d872f2087c98
* Basic GPU accelerated video rendering.scherkus@chromium.org2010-03-033-5/+294
| | | | | | | | | | | Fragment shader is used for YUV to RGB conversion. No actual layering yet, so the video is still rendered on top of everything else. BUG=33329 TEST=Watch some <video> with --enable-video-layering --enable-gpu-rendering Review URL: http://codereview.chromium.org/661430 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40538 0039d316-1c4b-4281-b951-d872f2087c98
* Laying down the groundwork for GPU video layers.scherkus@chromium.org2010-03-024-0/+105
| | | | | | | | | | | This gets --enable-video-layering working when using the GPU backing store. No actual visuals yet, just IPC message passing and a lot of NOTIMPLEMENTED messages. BUG=33329 TEST=try it out and see if you get lots of NOTIMPLEMENTED messages corresponding with video playback Review URL: http://codereview.chromium.org/661344 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40434 0039d316-1c4b-4281-b951-d872f2087c98
* Add scrolling to the GPU-accelerated backing store. This also fixes some bugsbrettw@chromium.org2010-01-285-13/+167
| | | | | | | | | | | | | | | | | | | in the regular painting mode and adds handling for expose events. Accelerated tabs now seem to look and behave properly as far as I can tell. Scrolling works by keeping a secondary texture which the current backing store is painted into. To save copies and excess texture creation, the current texture and the newly generated one are just swapped whan scrolling completes. Scrolling does not actually trigger painting to the screen. This is because scrolling is always followed by a paint to the exposed area, which then triggers copying the GPU backing store to the screen. BUG=none TEST=none Review URL: http://codereview.chromium.org/552207 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37409 0039d316-1c4b-4281-b951-d872f2087c98
* Hopefully fix the Linux build for real. I didn't realize *_X86 wasn't definedbrettw@chromium.org2010-01-261-1/+1
| | | | | | | | | | on X86_64. BUG=none TEST=none Review URL: http://codereview.chromium.org/555097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37094 0039d316-1c4b-4281-b951-d872f2087c98
* Fix stupid error for Linux build.brettw@chromium.org2010-01-261-1/+1
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/555096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37093 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the ARM build which can't find OpenGL. This adds a new define which I usebrettw@chromium.org2010-01-265-9/+33
| | | | | | | | | | | | to detect X and GL related build options. On ARM, this means we don't compile the accelerated backing store even though its Linux. BUG=none TEST=none Review URL: http://codereview.chromium.org/546144 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37091 0039d316-1c4b-4281-b951-d872f2087c98
* Create initial GPU backing store in the GPU process for X windows applications.brettw@chromium.org2010-01-2615-39/+619
| | | | | | | | | | | | | | | | | | | | | | | | | | | This gets the window from the RenderWidgetHostViewGtk and just does OpenGL calls directly into it. There are a lot of bugs, especially around expose events, which aren't really processed at all, and also tab teardown and reparenting. The new backing store defaults to off. This does some refactoring of the existing Windows GPU process backing store implementation to make some of it sharable by this Linux verion. This removes some previously defunct in-process GL backing store code and moves it to the GPU process. This patch does some refactoring around how child processes are created using zygoes or not. I found there were many places where a command line would be checked with special logic to know whether to enable zygote code or not. I tried to unify this so it could be computed once for each process type. This is what most of the changed files in chrome/browser are related to. BUG=none TEST=none Review URL: http://codereview.chromium.org/548112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37088 0039d316-1c4b-4281-b951-d872f2087c98
* Include breakpad header.oshima@chromium.org2010-01-142-0/+8
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/546044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36277 0039d316-1c4b-4281-b951-d872f2087c98
* Mark the GPU view WS_DISABLED and remove the input event fowarding code whichbrettw@chromium.org2010-01-142-62/+4
| | | | | | | | | | | is no longer necessary. Windows will do the forwarding for us (without our weird bugs) when it finds a disabled child window. TEST=none BUG=none Review URL: http://codereview.chromium.org/543064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36273 0039d316-1c4b-4281-b951-d872f2087c98
* Add the ability for the GPU process to be used to paint the backing store of abrettw@chromium.org2010-01-139-0/+653
tab. This is the first pass and is currently a bit buggy and incomplete. This patch refactors the backing store to make it a virtual interface which is then implemented by the platform-specific backing stores. This cleans up the multi-platform aspects of the old code, and also makes it possible to create different backing stores (such as ones in another process). This renames the BackingStore::PaintRect function to PaintToBackingStore which clears up what it does. I would often get confused and think that it paints the backing store to the screen. This makes a common way to capture backing store information and adds it to the backing store API. This removed a bunch of ugly ifdefs. This adds the ability for a backing store to specify that the TransportDIB should not be freed by RenderWidgetHost when painting is complete. This is necessary since the out-of-process version needs to use it after the RenderWidget paint function has returned. This pushes up the vector of copy_rect from RenderWidgetHost to the actual BackingStores. This prevents us from sending duplicate data over IPC. It also makes the common non-IPC case more efficient, since we end up setting up various surfaces only once when there are multiple update rects. BUG=none TEST=none Review URL: http://codereview.chromium.org/523028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36075 0039d316-1c4b-4281-b951-d872f2087c98