summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Set default GL stategman@chromium.org2012-06-192-0/+150
| | | | | | | | | | | TEST=unit tests BUG=130617 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=142931 Review URL: https://chromiumcodereview.appspot.com/10573004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143003 0039d316-1c4b-4281-b951-d872f2087c98
* Addition of an unpremultiplied-alpha setting for the ↵twiz@chromium.org2012-06-199-11/+153
| | | | | | | | | | | | | | | | GL_CHROMIUM_copy_texture command buffer GL extension. The extension needs to support the ability to unpremultiply the source of the copy because of the canvas2d-webgl texture use case. Canvas is stored in premultiplied form, yet WebGL expects texture contents to be in unpremultiplied form. Change also includes conversion of argument types to overriders of WebGraphicsContext3D::copyTextureCHROMIUM(...). This change is necessary as a result of a wk-change: https://bugs.webkit.org/show_bug.cgi?id=86275 BUG=101051 TEST=none Review URL: https://chromiumcodereview.appspot.com/10535174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142962 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 142931 - Set default GL statezmo@chromium.org2012-06-192-150/+0
| | | | | | | | | | | | | | This breaks almost all the webgl conformance tests and gl_tests on all gpu bots. TEST=unit tests BUG=130617 Review URL: https://chromiumcodereview.appspot.com/10573004 TBR=gman@chromium.org Review URL: https://chromiumcodereview.appspot.com/10581015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142946 0039d316-1c4b-4281-b951-d872f2087c98
* Set default GL stategman@chromium.org2012-06-192-0/+150
| | | | | | | | | TEST=unit tests BUG=130617 Review URL: https://chromiumcodereview.appspot.com/10573004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142931 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for GL_CHROMIUM_consistent_uniform_locationsgman@chromium.org2012-06-1921-252/+698
| | | | | | | | | BUG=132844 TEST=unit tests Review URL: https://chromiumcodereview.appspot.com/10568003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142879 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: add SignalSyncPoint to complement WaitSyncPointpiman@chromium.org2012-06-191-0/+5
| | | | | | | | | | BUG=112299 TEST=None Review URL: https://chromiumcodereview.appspot.com/10541185 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142869 0039d316-1c4b-4281-b951-d872f2087c98
* Fix 2 crashers in GLES2Implementation:fischman@chromium.org2012-06-152-3/+9
| | | | | | | | | | | | | - Finish() uses GPU_CLIENT_SINGLE_THREAD_CHECK() but is called by other methods that call this macro, triggering GPU_CHECK_EQ(0, 1) crashes. - DeleteQueriesEXTHelper was checking that pending queries had *no* results available before removing them instead of checking they *had* results available. Review URL: https://chromiumcodereview.appspot.com/10536191 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142357 0039d316-1c4b-4281-b951-d872f2087c98
* Expose video memory usage estimation (textures, renderbuffers, buffers) in ↵zmo@chromium.org2012-06-145-0/+25
| | | | | | | | | | | | | | command buffer. This will be used by GpuMemoryManager BUG=129739 TEST=bots R=gman Review URL: https://chromiumcodereview.appspot.com/10548034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142061 0039d316-1c4b-4281-b951-d872f2087c98
* Cache shader translators.backer@chromium.org2012-06-137-70/+279
| | | | | | | | | | | | Each shader translator takes about 700 KB of memory in the GPU proces in Release. There are typically between 2-4 of these per tab with --force-compositing-mode. This CL introduces a cache, so that tabs share shader translators whenever possible. BUG=132426 TEST=none Review URL: https://chromiumcodereview.appspot.com/10535128 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142002 0039d316-1c4b-4281-b951-d872f2087c98
* hook up new MacVideoDecodeAcceleratorsail@chromium.org2012-06-133-4/+6
| | | | | | | | | | | | | | | This CL hooks up the new MacVideoDecodeAccelerator so that it can be instantiated by the HTML5 and pepper code. Currently only the pepper code uses it. I also updated the pepper video_decode example app to be able to draw the GL_TEXTURE_RECTANGLE_ARB textures that the Mac decoder generates. BUG=127414 TEST= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=141302 Review URL: https://chromiumcodereview.appspot.com/10411042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141977 0039d316-1c4b-4281-b951-d872f2087c98
* Make TextureManager correctly delete default textures.gman@chromium.org2012-06-134-17/+70
| | | | | | | | | | | | | The default textures were not tracked correctly. This fixes that issue TEST=unit tests and GLES2 conformance tests no longer crash BUG=none Review URL: https://chromiumcodereview.appspot.com/10549002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141815 0039d316-1c4b-4281-b951-d872f2087c98
* Fix gles2 conformance testsgman@chromium.org2012-06-123-5/+14
| | | | | | | | | | | | No idea why these stopped working TEST=they compile and run BUG=none Review URL: https://chromiumcodereview.appspot.com/10532111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141778 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 141302 - hook up new MacVideoDecodeAcceleratorsail@chromium.org2012-06-083-6/+4
| | | | | | | | | | | | | | | | This CL hooks up the new MacVideoDecodeAccelerator so that it can be instantiated by the HTML5 and pepper code. Currently only the pepper code uses it. I also updated the pepper video_decode example app to be able to draw the GL_TEXTURE_RECTANGLE_ARB textures that the Mac decoder generates. BUG=127414 TEST= Review URL: https://chromiumcodereview.appspot.com/10411042 TBR=sail@chromium.org Review URL: https://chromiumcodereview.appspot.com/10534077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141305 0039d316-1c4b-4281-b951-d872f2087c98
* hook up new MacVideoDecodeAcceleratorsail@chromium.org2012-06-083-4/+6
| | | | | | | | | | | | | This CL hooks up the new MacVideoDecodeAccelerator so that it can be instantiated by the HTML5 and pepper code. Currently only the pepper code uses it. I also updated the pepper video_decode example app to be able to draw the GL_TEXTURE_RECTANGLE_ARB textures that the Mac decoder generates. BUG=127414 TEST= Review URL: https://chromiumcodereview.appspot.com/10411042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141302 0039d316-1c4b-4281-b951-d872f2087c98
* Enforce compressed texture restrictionsgman@chromium.org2012-06-0811-638/+1010
| | | | | | | | | | TEST=unit tests BUG=131743 Review URL: https://chromiumcodereview.appspot.com/10535073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141292 0039d316-1c4b-4281-b951-d872f2087c98
* Plum through ANGLE_depth_texturegman@chromium.org2012-06-0821-27/+951
| | | | | | | | | TEST=unit tests BUG=none Review URL: https://chromiumcodereview.appspot.com/10441087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141117 0039d316-1c4b-4281-b951-d872f2087c98
* Preempt renderers by browser UI in GpuScheduler.backer@chromium.org2012-06-063-2/+42
| | | | | | | | | | | Adds a message filter in GpuChannel to detect if the UI has commands to execute. This is polled in GpuScheduler so that renderers will defer to the UI. BUG=none TEST=smoothly drag a window of https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/google/san-angeles/index.html on alex Review URL: https://chromiumcodereview.appspot.com/10186002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140866 0039d316-1c4b-4281-b951-d872f2087c98
* GPU: Adding sync points for cross-channel synchronizationpiman@chromium.org2012-06-051-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Theory of operation: command buffer 1 calls InsertSyncPoint, it returns an ID, command buffer 2 calls WaitSyncPoint on that ID (even if on another channel). The wait is pipelined. InsertSyncPoint is handled on the IO thread in the GPU process, so it's presumably fast, but its effect is ordered wrt the other messages. Some benefits of the approach: - once InsertSyncPoint returns the ID, the sync point is already enqueued to be eventually retired, so it makes it very hard to cause deadlocks by incorrect operation on the client side. - the wait will return if the command buffer that inserted the sync point gets destroyed. This primitive should be enough for guaranteeing browser->renderer ordering. Additional changes are needed to safely handle renderer->browser ordering (especially in case of buggy/malicious renderer). BUG=112299 TEST=manual (With other patches) Review URL: https://chromiumcodereview.appspot.com/10510013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140653 0039d316-1c4b-4281-b951-d872f2087c98
* Make context groups share a TextureBufferManagergman@chromium.org2012-06-0114-31/+108
| | | | | | | | | | TEST=unit tests, and ran WebGL Conformance tests BUG=129803 Review URL: https://chromiumcodereview.appspot.com/10441140 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139981 0039d316-1c4b-4281-b951-d872f2087c98
* Disable GL_CHROMIUM_gpu_memory_manager extension on ↵mmocny@chromium.org2012-05-302-2/+6
| | | | | | | | | | | | | | | | | webgraphicscontext3d_in_process_command_buffer. webgraphicscontext3d_in_process_command_buffer has noops for the gpu_memory_manager features, and with the renderer relying on them to provide non-zero memory allocations, we need to disable the extension so that renderer can fallback to something else. BUG=129266 TEST=Manual Review URL: https://chromiumcodereview.appspot.com/10454084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139680 0039d316-1c4b-4281-b951-d872f2087c98
* Put GL-command tracing behind a flag because it's too heavy normally.jbates@chromium.org2012-05-305-2/+22
| | | | | | | | | | | | We always want to trace some of the heavier GL commands, so those have been re-added from https://chromiumcodereview.appspot.com/10443048/. Turns out that with --trace-gl on, the trace buffer typically fills up after ~3 seconds, so the default behavior should probably be to not trace these. R=apatrick Review URL: https://chromiumcodereview.appspot.com/10442090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139664 0039d316-1c4b-4281-b951-d872f2087c98
* Add APK targets for gpu_unittests.nileshagrawal@chromium.org2012-05-301-2/+30
| | | | | | | | | | | | | | | Removing dependency on testing/gmock.gyp:gmock_main as we have our own main in command_buffer/common/unittest_main.cc BUG=125059 Follow-up to: http://codereview.chromium.org/10399126/ TEST= Review URL: https://chromiumcodereview.appspot.com/10459017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139485 0039d316-1c4b-4281-b951-d872f2087c98
* Separate management of shared memory from CmdBufService to separate classgman@chromium.org2012-05-268-231/+378
| | | | | | | | | | | | | | | This is a step on the way to making this per ContextGroup instead of per context TEST=unit tests BUG=129803 R=apatrick@chromium.org Review URL: https://chromiumcodereview.appspot.com/10448030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139196 0039d316-1c4b-4281-b951-d872f2087c98
* Add more GPU process trace events.apatrick@chromium.org2012-05-262-28/+29
| | | | | | | | Every command is now traced. I removed some trace events from GLES2CmdDecoder that became redundant but left those that provide additional information such as size and left those that are required by tests. Review URL: https://chromiumcodereview.appspot.com/10443048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139182 0039d316-1c4b-4281-b951-d872f2087c98
* Move GpuScheduler descheduled trace event to GpuScheduler for better coverage.jbates@chromium.org2012-05-261-0/+3
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10451046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139177 0039d316-1c4b-4281-b951-d872f2087c98
* Defer initializing the CopyTextureCHROMIUMResourceManagerapatrick@chromium.org2012-05-253-137/+11
| | | | | | | | It is takes 10s of milliseconds to initialize. Review URL: https://chromiumcodereview.appspot.com/10450030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139127 0039d316-1c4b-4281-b951-d872f2087c98
* Add more trace events to GPU process.apatrick@chromium.org2012-05-241-0/+1
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10447002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138762 0039d316-1c4b-4281-b951-d872f2087c98
* Check for null GLES2DecoderImpl::copy_texture_CHROMIUM_apatrick@chromium.org2012-05-231-1/+4
| | | | | | | BUG=129211 Review URL: https://chromiumcodereview.appspot.com/10414051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138526 0039d316-1c4b-4281-b951-d872f2087c98
* RefCounted types should not have public destructors, media/ and gpu/ editionrsleevi@chromium.org2012-05-1810-78/+93
| | | | | | | | | | BUG=123295 TEST=none Review URL: https://chromiumcodereview.appspot.com/10067035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137966 0039d316-1c4b-4281-b951-d872f2087c98
* Rename nacl::RefCounted to nacl::RefCountedThreadSafe, to make it easier to ↵rsleevi@chromium.org2012-05-181-6/+2
| | | | | | | | | | | | | | | alias as gpu::RefCountedThreadSafe. Additionally, ensure all of the nacl::RefCountedThreadSafe-derived classes do not have public destructors. BUG=123295 TEST=none Review URL: https://chromiumcodereview.appspot.com/10386080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137936 0039d316-1c4b-4281-b951-d872f2087c98
* RefCounted types should not have public destructors, Linux fixesrsleevi@chromium.org2012-05-181-1/+3
| | | | | | | | | | BUG=123295 TEST=none Review URL: https://chromiumcodereview.appspot.com/10392152 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137893 0039d316-1c4b-4281-b951-d872f2087c98
* Correctly identify INTEL on Linuxgman@chromium.org2012-05-174-19/+69
| | | | | | | | | | TEST=ran it on bots, unit tests now pass BUG=128083 Review URL: https://chromiumcodereview.appspot.com/10409008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137743 0039d316-1c4b-4281-b951-d872f2087c98
* Allow GLES2CmdDecoder to change the GLSurface associated with the default FBO.apatrick@chromium.org2012-05-1712-38/+122
| | | | | | | | | This is part 1. It can't actually be used yet because there are assumptions that the surface never changed. It is intended to allow each renderer process to create only one command buffer for use by the compositor while being able to switch the surface between different windows, for examnple if a single renderer process handles multiple tabs of the same site. Review URL: https://chromiumcodereview.appspot.com/10388131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137693 0039d316-1c4b-4281-b951-d872f2087c98
* Make StrictIdHandler mark IDs as usedpiman@chromium.org2012-05-171-41/+4
| | | | | | | | | | BUG=124829 TEST=run aura build with flash and compositor thread, open youtube video, reload many times. Review URL: https://chromiumcodereview.appspot.com/10382215 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137626 0039d316-1c4b-4281-b951-d872f2087c98
* Correct the clear semantics for textures used by the ↵twiz@chromium.org2012-05-151-0/+2
| | | | | | | | | | | GL_CHROMIUM_clopy_texture extension. BUG=128207 TEST=GLCopyTextureCHROMIUMTest.* Review URL: https://chromiumcodereview.appspot.com/10381157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137250 0039d316-1c4b-4281-b951-d872f2087c98
* Don't enable occlusion query on Linux with Intel drivers.gman@chromium.org2012-05-158-29/+84
| | | | | | | | | | TEST=none BUG=128083 Review URL: https://chromiumcodereview.appspot.com/10381137 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137179 0039d316-1c4b-4281-b951-d872f2087c98
* Change the way _EXPORT macros look.thakis@chromium.org2012-05-154-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the current setup, if you have a header file my_class.h class BASE_EXPORT MyClass { public: void MyInlineMethod() { /* do stuff, inline */ } }; then every cc file that includes my_class.h will have a public symbol for MyInlineMethod (because inline methods need to be emitted to every translation unit, and the linker sorts them out). With the components build, the linker can't decide to drop these inline methods, so every .so that uses this header file will have the same public symbol. With this proposed change, the symbol will only be visible in the target the header file belongs to, and it will be hidden in all other components. That's cleaner, and it also prevents accident hidden dependencies (say target A depends on B, and B depends on C. A accidentally uses an inline function from a class in C. With this change, that would result in a linker error, and an explicit dependency from A on C would have to be added). Also add a missing CHROMEOS_IMPLEMENTATION define which went unnoticed until now. BUG=90078 TEST=Things still build. TBR=ben, tony, viettrungluu, thestig, agl, willchan Review URL: https://chromiumcodereview.appspot.com/10386108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137130 0039d316-1c4b-4281-b951-d872f2087c98
* Make genereteMipmap clear uncleared level 0gman@chromium.org2012-05-143-2/+35
| | | | | | | | | | TEST=unit tests BUG=128075 Review URL: https://chromiumcodereview.appspot.com/10386122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137018 0039d316-1c4b-4281-b951-d872f2087c98
* Add more warnings for GL programs.gman@chromium.org2012-05-141-27/+64
| | | | | | | | | | TEST=none BUG=127935 Review URL: https://chromiumcodereview.appspot.com/10387115 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137012 0039d316-1c4b-4281-b951-d872f2087c98
* Implement GL_EXT_occlusion_query_boolean on OSXgman@chromium.org2012-05-148-27/+158
| | | | | | | | | | | | | | Stupid me, I assumed GL_ARB_occlusion_query2 was available everywhere but it's not. So, if GL_ARB_occlusion_query2 is not available fallback to GL_ARB_occlusion_query TEST=unit tests BUG=126592 Review URL: https://chromiumcodereview.appspot.com/10389107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136936 0039d316-1c4b-4281-b951-d872f2087c98
* Cache more GL state client sidegman@chromium.org2012-05-125-98/+254
| | | | | | | | | | | | | | | Honestly I'm mixed on this. Caching takes time. This CL punishes optimized programs (those that don't query GL) to help those don't follow OpenGL best practices (ie, not calling query functions except during initialization. TEST=unit tests BUG=127810 Review URL: https://chromiumcodereview.appspot.com/10389105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136780 0039d316-1c4b-4281-b951-d872f2087c98
* ui: Move gl/ directory out of gfx/, up to ui/.tfarina@chromium.org2012-05-1225-53/+54
| | | | | | | | | | BUG=104040 R=ben@chromium.org TBR=tony@chromium.org Review URL: https://chromiumcodereview.appspot.com/10392068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136777 0039d316-1c4b-4281-b951-d872f2087c98
* Fix cmd buf impl of glIsEnabled to return cached valuegman@chromium.org2012-05-1210-18/+66
| | | | | | | | | | | | | | | Since we lazily set certain states we need to return the cached value. TEST=unit tests BUG=127809 R=zmo@chromium.org Review URL: https://chromiumcodereview.appspot.com/10392053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136748 0039d316-1c4b-4281-b951-d872f2087c98
* Make glGenerateMipmap handle out of memorygman@chromium.org2012-05-123-1/+44
| | | | | | | | | | TEST=unit tests BUG=127590 Review URL: https://chromiumcodereview.appspot.com/10377116 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136730 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate GPU unit test expectiation functions.gman@chromium.org2012-05-105-377/+235
| | | | | | | | | | | TEST=unit tests still run BUG=none R=apatrick@chromium.org Review URL: https://chromiumcodereview.appspot.com/10389077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136447 0039d316-1c4b-4281-b951-d872f2087c98
* make GLboolean print GL_TRUE, GL_FALSE when debugging.gman@chromium.org2012-05-101-1/+1
| | | | | | | | | | | | TEST=used it for debugging BUG=none R=apatrick@chromium.org Review URL: https://chromiumcodereview.appspot.com/10392030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136446 0039d316-1c4b-4281-b951-d872f2087c98
* Add GL_SAMPLER_3D_OES and GL_SAMPLER_2D_RECT_ARB to ClearUniformsgman@chromium.org2012-05-104-0/+153
| | | | | | | | | | | TEST=unit tests BUG=127256,127541 R=apatrick@chromium.org Review URL: https://chromiumcodereview.appspot.com/10386075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136436 0039d316-1c4b-4281-b951-d872f2087c98
* Initialize GL attribsgman@chromium.org2012-05-094-0/+24
| | | | | | | | | | | | Some drivers are buggy and don't have the correct defaults. TEST=unit tests and ran WebGL conformance tests BUG=none Review URL: https://chromiumcodereview.appspot.com/10383095 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136178 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: Fix a pass-by-value.jhawkins@chromium.org2012-05-092-5/+6
| | | | | | | | | | | CID=103940 BUG=none TEST=none R=apatrick Review URL: https://chromiumcodereview.appspot.com/10351020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136136 0039d316-1c4b-4281-b951-d872f2087c98
* Work around graphics hangs on MacBook Airs with Intel GPUs by calling ↵kbr@chromium.org2012-05-092-0/+7
| | | | | | | | | | | | glFinish after each frame displayed on the browser side. BUG=123409 TEST=tested manually with WebGL Aquarium and clickCycle script from bug report Review URL: https://chromiumcodereview.appspot.com/10382069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136131 0039d316-1c4b-4281-b951-d872f2087c98