summaryrefslogtreecommitdiffstats
path: root/content/browser/gpu_process_host.h
Commit message (Collapse)AuthorAgeFilesLines
* Histogram added: GPU.GPUProcessLaunchCausescheib@chromium.org2011-04-061-2/+5
| | | | | | | | | | | | | - This will help distinguish why the GPU process was started. Also, corrected code in "about:" page parsing to not spawn the GPU process unless a GPU related page is being requested. BUG=78361 TEST=about:histograms includes GPU.GPUProcessLaunchCause after GPU use (e.g. about:gpu). Review URL: http://codereview.chromium.org/6794002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80555 0039d316-1c4b-4281-b951-d872f2087c98
* Better handling of disabling the GPU acceleration if the GPU process dies ↵amarinichev@chromium.org2011-04-011-1/+0
| | | | | | | | | | | | | | | | more than 3 times. * Because of bug 63531 (Mac and Linux), we were not counting how many times the GPU process crashes correctly. Moved counting from GpuProcessHost::OnProcessCrashed to GpuProcessHost::OnChildDied. * If initialization of the GPU host fails for any reason, GpuProcessHostUIShim::SendOutstandingReplies sets the process ID to zero. Handle that case correctly in RenderThread::OnGpuChannelEstablished. * GpuProcessHost::Init would return false if GPU support is disabled. Make sure that pending replies are sent. BUG=none TEST=load the 3D poster circle page, open another window and go to about:gpucrash three times. The animation will disappear (anoter bug!), but at least the tab will still be alive. Review URL: http://codereview.chromium.org/6731057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80208 0039d316-1c4b-4281-b951-d872f2087c98
* This is a thread that runs in the browser process that can issue GL calls ↵apatrick@chromium.org2011-03-211-4/+4
| | | | | | | | | | | | | | | | | | | | | | without going via a command buffer. It is for rendering the browser's chrome, basic compositing, etc. It is not for rendering arbitrary content from, for example, WebGL. It is only enabled with --single-process or --in-process-gpu, the latter only running the GPU "process" as a thread inside the browser process. Eventually, the plan is to add strict validation to ensure it can only run basic white-listed shaders and other restrictions so that the browser's GPU thread can be made available to the renderers' compositors without a command line switch. I split GpuThread into two new classes. GpuChildThread derives from ChildThread and contains stuff that should only happen in a standalone process. I included GPUInfo collection here because if the browser should never need to run that. GpuRenderThread contains stuff that is also needed in the browser process. The GPU thread does not use an IPC channel within the browser process. It still uses IPC messages but posts them directly between message loops. I changed the EstablishGpuChannel messages between the browser and GPU process to not deal with returning the GPUInfo. Now the GPU process just sends it as the first thing it does after handling its Init message. This was to allow the separation of GPUInfo collection (in GpuChildThread) and channel establishment (in GpuRenderThread). TEST=trybots, run webgl with no switches, --single-process and --in-process-gpu, check browser terminates cleanly in all cases. BUG=none Review URL: http://codereview.chromium.org/6677055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78945 0039d316-1c4b-4281-b951-d872f2087c98
* Move gpu_feature_flags from chrome\common to content\common.jam@chromium.org2011-03-171-1/+1
| | | | | | | TBR=zmo Review URL: http://codereview.chromium.org/6672064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78470 0039d316-1c4b-4281-b951-d872f2087c98
* Connect up --disable-gl-multisampling to command bufferjbauman@chromium.org2011-03-141-2/+9
| | | | | | | | | | | Plumb the --disable-gl-multisampling flag in to the command buffer, so it won't report the extension to any consumers. BUG=75181 TEST=webgl antialias test Review URL: http://codereview.chromium.org/6686024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78067 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 77899 - Connect up --disable-gl-multisampling to command bufferkinuko@chromium.org2011-03-121-9/+2
| | | | | | | | | | | | | | | Plumb the --disable-gl-multisampling flag in to the command buffer, so it won't report the extension to any consumers. BUG=75181 TEST=webgl antialias test TBR=jbauman Review URL: http://codereview.chromium.org/6623063 TBR=jbauman@chromium.org Review URL: http://codereview.chromium.org/6685022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77901 0039d316-1c4b-4281-b951-d872f2087c98
* Connect up --disable-gl-multisampling to command bufferjbauman@chromium.org2011-03-121-2/+9
| | | | | | | | | | | Plumb the --disable-gl-multisampling flag in to the command buffer, so it won't report the extension to any consumers. BUG=75181 TEST=webgl antialias test Review URL: http://codereview.chromium.org/6623063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77899 0039d316-1c4b-4281-b951-d872f2087c98
* Moved creation of GPU transfer buffers into the browser process.apatrick@chromium.org2011-02-241-0/+1
| | | | | | | | | | | | | Transfer buffer creation was previously done in the GPU process. This is one step required to sandbox the GPU process. Rather than the GPU process opening a renderer process's handle by PID, which can't been done when sandboxed on Windows, the browser process passes the handle to the GPU process via the renderer process. TEST=try BUG=none Review URL: http://codereview.chromium.org/6557006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75980 0039d316-1c4b-4281-b951-d872f2087c98
* Move the rest of the core files in chrome\browser to content\browser.jam@chromium.org2011-02-231-0/+54
TBR=avi Review URL: http://codereview.chromium.org/6538111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75711 0039d316-1c4b-4281-b951-d872f2087c98