| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This allows us to remove usage of the IOThread object, and generally makes IPC::ChannelProxy more robust for future uses.
Review URL: http://codereview.chromium.org/6901146
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83741 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This is just moving files and updating references. There are no functional changes.
TEST=trybots
BUG=none
Review URL: http://codereview.chromium.org/6881072
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82715 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=78189
Review URL: http://codereview.chromium.org/6877028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82662 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
sucker on top of base::Closure. After this, all Task objects that are posted will be wrapped in a closure prior to dispatch.
BUG=35223
TEST=unittests.
Review URL: http://codereview.chromium.org/6463013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82300 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Go through IO Registry to locate PCI based video cards on Mac. If there are two video cards and one of them is Intel, we assume Intel GPU is the integrated one and the other is the discrete one. Chromium GPU process should always use the discrete one (if Mac is handling automatic card switching), and we identify the discrete card in preliminary GPU info collection so we could run through GPU software rendering list and set up the renderer process with approriate GPU feature capabilities.
Note that if the IO registry method fails, we fallback to the original "GPU locating through current display" method, so this CL should be pretty safe.
BUG=75208,75220
TEST=gpu acceleration is enabled on Mac with Intel/ATI dual GPU.
Review URL: http://codereview.chromium.org/6879023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82202 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
gpu/plugin/worker directories as well.
I've moved the breakpad specific code out of content\renderer\renderer_main.cc into chrome\renderer\chrome_render_process_observer.cc. I've also moved the rest of the process-specific initialization from chrome_content_renderer_client.cc there as well, so that all the chrome renderer process init code is one place (some of it existed before chrome_render_process_observer.cc was created).
Review URL: http://codereview.chromium.org/6884001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81979 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
includes through DEPS. I also added DEPS checking for gpu/plugin/worker directories as well. I moved the Chrome specific browser tests to the chrome directory, and removed render_widget_unittest since it didn't seem to be testing much (there are tests that test it much more fully). I had to move bindings_policy.h, which ideally would be split into separate pieces so that the content layer only has to know about the content bindings. Given that it's basically an enum, I moved the whole file now since it's used in a lot of places, and the value of turning on DEPS checking is really high.
Review URL: http://codereview.chromium.org/6874038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81924 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
GpuWatchdogThread class.This completes the split between code in content/gpu, which only ever runs in the GPU process and code in content/common/gpu, which can run in any process, though in practice only the GPU process or the browser process.I updated the DEPS file in content/common to enforce the dependency and prevent code that could run in either process depend on code that should only run in the GPU process.TEST=tryBUG=none
TEST=try
BUG=none
Review URL: http://codereview.chromium.org/6840041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81784 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Intention is that this tester can be used to decouple HW decode accelerator
integration from running the whole Chrome browser.
Features:
- Independent GUnit executable, which should be possible to use in autotests.
- Mimics Renderer process from Gpu video pipeline perspective.
* Test bench contains implementation of FakeClient which essentially mimics
Renderer process from the GpuVideoDecodeAccelerator's point of view.
* FakeClient runs on it's own thread and will communicate with using the IPC
messages that are used also within the real use case.
* FakeClient will allocate memories using same SharedMemory stuff as the
real Renderer code.
* Currently reads H.264 Annex B bitstream from file and parses it to NAL
units before feeding to the decoder
* TODO: Polish and improving the features and configurability.
* TODO: GLES texture allocation for textures.
- Allows building various test cases and error behaviour as well both on
AcceleratedVideoDecoder interface as well as erroneous behaviour from the
client.
- Allows also checking expected order of calls if we want to enforce certain
behaviour across various implementations.
Patch by vmr@chromium.org:
http://codereview.chromium.org/6720040/
BUG=none
TEST=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81663 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
moving it to content.
Review URL: http://codereview.chromium.org/6850003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81614 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Surfaces are independent of contexts in GL. To facilitate sharing of surfaces between processes, I have separated them from the notion of contexts because contexts cannot be shared between processes.
I have started with EGL. GLContextEGL still has a pointer to a surface and still has some surface specific operations that just forward through to it. Once I have refactored all the GLContext implementations in this way, I will remove these pointers and the surface specific opertations.
There will not be "view" and "offscreen" GL contexts. Rather there will be a single context type for each backend which can be made current with a surface that directs output either to a view or offscreen surface.
TEST=try, WebGL puppy works
BUG=none
Review URL: http://codereview.chromium.org/6839008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81512 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
It landed while I was working on the bigger move from content/gpu to content/common/gpu.
Also renamed gpu_info_unittest_win.cc to gpu_info_collector_unittest_win.cc because that is what it is.
TEST=try
BUG=none
Review URL: http://codereview.chromium.org/6824050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81344 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
content/common/gpu/ as part of http://crrev.com/80883
TBR=apatrick
BUG=none
TEST=Win Full builder compiles
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=80902
Review URL: http://codereview.chromium.org/6816050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80905 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
TEST=compiles
BUG=none
Review URL: http://codereview.chromium.org/6813037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80885 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
content/common/gpu.
Also renamed GpuRenderThread to GpuChannelManager since that is what it really does.
The only remaining dependency from content/common/gpu to content/gpu is gpu_watchdog_thread.h. Once that dependency has been reversed it should be possible to move most or all of the code in content/gpu to chrome/gpu.
TEST=build, WebGL works, run by trybots.
BUG=none
Review URL: http://codereview.chromium.org/6793054
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80883 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This helps in the situation where libpci is unavailable: at least we can identify a few vendors.
Unfortunately we can not run this in preliminary GPU info collection because gl binding hasn't been initialized yet.
BUG=78526
TEST=bots green
Review URL: http://codereview.chromium.org/6803024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80876 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The purpose of TransportTexture is to allow creating textures in the gpu
process and be used in the renderer process. This is particularly useful
for hardware video decoder where the video frames are in the form of textures.
Creating these textures has to be originated from the GPU process, they are
then used in the renderer process for compositing.
This patch defines the class and has comments about its usage.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/6765020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80715 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/6759048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80225 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
just one URL, because the windows implementation of breakpad is very rigid, and can not easily deal with arbitrary numbers of URLs. In the future, it may be possible to be smart about what URL is reported based on what GPU commands are being processed, but because of the asynchronous nature of GPU commands, it may be more relevant to just use the last loaded URL.
BUG=75633
TEST=go to page with gpu content, cause gpu-process to crash, or go to about:gpucrash, then observe URL in crash report
Review URL: http://codereview.chromium.org/6733051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79732 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This is the final patch in the sequence. Note that gl.gyp is introduced because dependency checking on the Mac is done on a per file (rather than per target) basis.
BUG=none
TEST=trybots
Review URL: http://codereview.chromium.org/6722026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79599 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=None
TEST=None
CID=12914, 15729, 12761, 8585, 14365, 15761, 14796, 15865.
Review URL: http://codereview.chromium.org/6713127
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79544 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
It now uses --disable-gpu-sandbox on all platforms. The confusion arose because I didn't know that --no-gpu-sandbox existed when I enabled the sandbox on windows.
TEST=try
BUG=none
R=darin@chromium.org,brettw@chromium.org,jam@chromium.org,ben@chromium.org
Review URL: http://codereview.chromium.org/6731029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79348 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=63702
TEST=none
Review URL: http://codereview.chromium.org/6705017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79326 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Reduce the chance that a long stream of expensive 3D commands will cause the watchdog to go off by checking the watchdog after every 3D command.
BUG=76603
TEST=none
Review URL: http://codereview.chromium.org/6715006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79097 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This will enable us to blacklist only older ATI drivers on linux in the future.
BUG=none
TEST=about:gpu shows driver version in linux using ATI cards.
Review URL: http://codereview.chromium.org/6708055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79040 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
TEST=none
BUG=none
R=kbr@chromium.org,darin@chromium.org,brettw@chromium.org,jam@chromium.org,ben@chromium.org,apatrick@chromium.org
Review URL: http://codereview.chromium.org/6715012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78938 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Evicting old graphics contexts will be done in the GPU process by removing
routes from GpuChannel::router_. Doing so on a mac results in an assert when
handling GpuCommandBufferMsg_SetWindowSize. The assert was a consequence of how
we deal with closed windows. When a window is closed, the browser process sends
a message to the GPU process to request that the surface is removed. Rather
than doing that immediately, GpuThread object stores the view id of the renderer
in destroyed_renderer_routes_. GpuCommandBufferStub::OnFlush always checks if
its view id is in that set, and if is, it asks the GPUProcessor to destroy its
surface.
This change gets rid of the destroyed_renderer_routes_. Rather than deferring
the request to destroy the surface, we ask the GPU process to remove the route
which, in turn, will remove the GpuCommandBufferStub, GPUProcessor and its
surface.
See also bug 67170.
BUG=none
TEST=set the breakpoint in GpuChannel::OnMessageReceived, manually remove the route from router_ and stubs_. No assert should be triggered and context should be silently recovered.
Review URL: http://codereview.chromium.org/6688026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78777 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Since we don't have a need for a chrome/gpu or chrome/plugin directory, their chrome implementations are in chrome/common. Use the renderer one for getting the sad plugin image.
Review URL: http://codereview.chromium.org/6708013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78617 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=76576
TEST=no more libpci message in bots output.
Review URL: http://codereview.chromium.org/6713014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78603 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changelist is a lightweight version of issue 6551019, but with
the code change confined to the gpu subsystem.
The intent of this change is to enable forward progress on gpu tracing.
Work on the aformentioned issue, i.e. fusing gpu_trace_event and trace_event, will continue.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6691013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78300 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
field indicating if more info might be collected. 2) change version data from uint32 to string.
Refactoring GpuDataManager: 1) remove GpuFeatureAllowed() because we expose un-filtered flags through GpuFeatureFlags(). 2) disallow launch GPU process to collect gpu info if accelerated_compositing is not allowed.
BUG=none
TEST=unittest
Review URL: http://codereview.chromium.org/6672004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78080 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
TBR=avi
Review URL: http://codereview.chromium.org/6684015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77903 0039d316-1c4b-4281-b951-d872f2087c98
|