summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/client
Commit message (Collapse)AuthorAgeFilesLines
* Introduction of CHROMIUM_copy_texture extension that respects pixel-store ↵twiz@chromium.org2012-04-196-6/+45
| | | | | | | | | | | | | | | | | | | | | semantics, and allows copying of BGRA textures. OpenGL ES does not natively allow for copying textures with a BGRA format. The EXT_texture_format_BGRA8888 extension does not specify support for glCopyTexImage calls on these textures. This extension provides a routine to perform texture copies to/from BGRA-backed textures that also respects the following CHROMIUM pixel storage modifiers: UNPACK_FLIP_Y_CHROMIUM UNPACK_PREMULTIPLY_ALPHA_CHROMIUM This extension will be useful for the following purposes: - Copying accelerated Canvas2D contents to WebGL textures without a software readback. (And potentially the same for video-webgl texture copies.) - Copying Canvas2D contents to the compositor backing store. BUG=101051 TEST=none Review URL: http://codereview.chromium.org/9968113 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132934 0039d316-1c4b-4281-b951-d872f2087c98
* Add GL_EXT_unpack_subimage support to command buffer client code.bsalomon@google.com2012-04-103-136/+263
| | | | | | | BUG=121780 Review URL: https://chromiumcodereview.appspot.com/10012057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131579 0039d316-1c4b-4281-b951-d872f2087c98
* Optimize GetBucketContentsgman@chromium.org2012-04-093-62/+129
| | | | | | | | | | TEST=unit tests BUG=122642 Review URL: http://codereview.chromium.org/9999003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131470 0039d316-1c4b-4281-b951-d872f2087c98
* Allow |msg| to be NULLtbreisacher@chromium.org2012-04-061-1/+2
| | | | | | | | | | | CID=103608 BUG=none TEST=none Review URL: http://codereview.chromium.org/9836135 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131079 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 130737 - Make contexts actually use ShareGroup for shared ↵gman@chromium.org2012-04-047-228/+152
| | | | | | | | | | | | | | contexts." This reverts commit 429d0c2826fb423769611fc122d2fd1ad49879e9. TEST=ran gpu_unittests BUG=120297 TBR=apatrick@chromium.org Review URL: https://chromiumcodereview.appspot.com/9961022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130754 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 130737 - Make contexts actually use ShareGroup for shared contexts.binji@chromium.org2012-04-046-149/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | The service ALWAYS has bind_generates_resource set to true. In fact we can just remove that flag on the service in another CL. It doesn't need to be enforced on the service. It was only there to help the client find bugs. Now the client and find them itself in a Debug build. I can remove share_resources everywhere. That flag is no longer needed. Because removing that flag touches so many files I'd prefer to do that in another CL. Note: I probably can't check this in until the bugs it uncovers are fixed. Maybe they can be marked as failing. For example the webgl context-lost tests hit an assert. TEST=ran the webgl conformance tests. BUG=120297 Review URL: https://chromiumcodereview.appspot.com/9958038 TBR=gman@chromium.org Review URL: https://chromiumcodereview.appspot.com/9979032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130746 0039d316-1c4b-4281-b951-d872f2087c98
* Make contexts actually use ShareGroup for shared contexts.gman@chromium.org2012-04-046-143/+149
| | | | | | | | | | | | | | | | | | | | | | | | The service ALWAYS has bind_generates_resource set to true. In fact we can just remove that flag on the service in another CL. It doesn't need to be enforced on the service. It was only there to help the client find bugs. Now the client and find them itself in a Debug build. I can remove share_resources everywhere. That flag is no longer needed. Because removing that flag touches so many files I'd prefer to do that in another CL. Note: I probably can't check this in until the bugs it uncovers are fixed. Maybe they can be marked as failing. For example the webgl context-lost tests hit an assert. TEST=ran the webgl conformance tests. BUG=120297 Review URL: https://chromiumcodereview.appspot.com/9958038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130737 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 130384 - Broke a few Mac bots"gman@chromium.org2012-04-049-305/+558
| | | | | | | | | | | | This reverts commit 7bfa1cab6da66e6923316515eaf465afb65e5481. BUG=120297 TEST=run browser_tests on linux TBR=apatrick@chromium.org Review URL: https://chromiumcodereview.appspot.com/9959107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130681 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 130384 - Broke a few Mac botsrsleevi@chromium.org2012-04-039-559/+305
| | | | | | | | | | | | | | | | Revert "Revert "Make ShareGroup thread safe" http://crrev.com/130034." TEST=run DRT in debug on linux BUG=120297 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/9958087 TBR=gman@chromium.org Review URL: https://chromiumcodereview.appspot.com/9969115 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130413 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert "Make ShareGroup thread safe" http://crrev.com/130034."gman@chromium.org2012-04-039-305/+559
| | | | | | | | | | | TEST=run DRT in debug on linux BUG=120297 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/9958087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130384 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Make ShareGroup thread safe" http://crrev.com/130034.apavlov@chromium.org2012-03-319-559/+305
| | | | | | | | | | | | Virtually all GPU-related layout tests are asserting or timing out on debug builders. This reverts commit c288ca0597d6259501104da2f804b9359cab86bb. TBR=gman@chromium.org Review URL: https://chromiumcodereview.appspot.com/9965048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130055 0039d316-1c4b-4281-b951-d872f2087c98
* Make ShareGroup thread safegman@chromium.org2012-03-319-305/+559
| | | | | | | | | | | | | | In another CL I'll refactor the id handlers AND make the places sharing resources correctly set things up. TEST=none BUG=120297 Review URL: http://codereview.chromium.org/9918027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130034 0039d316-1c4b-4281-b951-d872f2087c98
* Add ShareGroup to GLES2Implemenationgman@chromium.org2012-03-293-0/+18
| | | | | | | | | | | | | | | | | | The idea is if you don't pass a ShareGroup it will make one. Otherwise you can do new_gles2_impl = new GLES2Implemetation( ..., some_other_gles2_impl_in_same_process->share_group(), ...); TEST=unit test BUG=120297 TBR=nfullgar@google.com,brettw@chromium.org Review URL: http://codereview.chromium.org/9837124 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129555 0039d316-1c4b-4281-b951-d872f2087c98
* Add ShareGroup stubgman@chromium.org2012-03-284-0/+111
| | | | | | | | | | TEST=unit test BUG=120297 Review URL: http://codereview.chromium.org/9836126 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129456 0039d316-1c4b-4281-b951-d872f2087c98
* Move gpu hash_tables and atomicops stuff gman@chromium.org2012-03-285-18/+64
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/9836098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129341 0039d316-1c4b-4281-b951-d872f2087c98
* Disable flushers on CrOS to improve GPU process saturation during bulk ↵nduca@google.com2012-03-282-1/+8
| | | | | | | | | | | | | | | texture uploads We might want to have a flame war about this. But my intuition is that this is a net-win, and that in the long run, this behavior should be up in WebGL somewhere and that the compositor and ganesh should flush manually. BUG=120548 R=jbates@chromium.org,jamesr@chromium.org,marcheu@chromium.org,piman@chromium.org Review URL: https://chromiumcodereview.appspot.com/9809013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129313 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some GPU logging printsgman@chromium.org2012-03-241-8/+10
| | | | | | | | | | | | TEST=none BUG=none TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/9836072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128711 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused code in StrictSharedIdHandlergman@chromium.org2012-03-191-10/+0
| | | | | | | | | | | | TEST=none BUG=109504 R=jbauman@chromium.org Review URL: http://codereview.chromium.org/9732004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127537 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb client side synthesized GL messages to JS Consolegman@chromium.org2012-03-152-1/+18
| | | | | | | | | | | | TEST=tested by hand BUG=none R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9706042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126869 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for GL_COMMANDS_ISSUED_CHROMIUM fence like query.gman@chromium.org2012-03-141-4/+2
| | | | | | | | | | | | | | | | I'm not sure this is the right way to do this. I started by adding a few switch/case statements and then realized that there is no guarntee that glGenQueriesXXX exists which means I have to NOT call that for GL_COMMANDS_ISSUED_CHROMIUM queries. I ended up going down the path of a base class and this is where it lead. TEST=unit tests BUG=117768 Review URL: http://codereview.chromium.org/9694025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126607 0039d316-1c4b-4281-b951-d872f2087c98
* Insert No-ops into the command buffer when glQueryObjectuiv is called.gman@chromium.org2012-03-141-0/+3
| | | | | | | | | | | | | | | | This is so that if that if the GPU process dies we'll notice. Otherwise, no IPC messages will ever be sent to the GPU process and so nothing will check that it's still living. TEST=none BUG=88601 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9689083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126545 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: Initialize member variables.jhawkins@chromium.org2012-03-131-1/+5
| | | | | | | | | | | | | CID_COUNT=2 CID=103473,103474 BUG=none TEST=none R=groby Review URL: http://codereview.chromium.org/9666036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126345 0039d316-1c4b-4281-b951-d872f2087c98
* Switch query_tracker to use tr1/unordered_map for faster look ups.nfullagar@google.com2012-03-132-5/+2
| | | | | | | | | | tr1/unordered_map is compatible with NaCl BUG=none TEST=none Review URL: http://codereview.chromium.org/9695017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126324 0039d316-1c4b-4281-b951-d872f2087c98
* Move constructor and destructor of GLES2CmdHelper out of linethakis@chromium.org2012-03-132-8/+13
| | | | | | | | | | | | | | | | This makes the cc file a bit less pointless and also removes a (harmless) "no symbols defined in static library" build warning in mac. gles2_conform_support/egl/display.h uses GLES2CmdHelper, so add a dependency from egl_native to gles2_cmd_helper to fix a dependency issue exposed by this change. BUG=none TEST=temporary ocd relief Review URL: http://codereview.chromium.org/9662026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126304 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for GL_EXT_occlusion_query_booleangman@chromium.org2012-03-0810-62/+895
| | | | | | | | | | TEST=unit tests BUG=88601 Review URL: http://codereview.chromium.org/9555011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125649 0039d316-1c4b-4281-b951-d872f2087c98
* GPU: Build most of the gpu as a single DLL.rvargas@google.com2012-03-057-11/+45
| | | | | | | | BUG=114261 TEST=none Review URL: https://chromiumcodereview.appspot.com/9581018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124983 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 124702 - GPU: Buld most of the gpu as a single DLL.rvargas@google.com2012-03-027-45/+11
| | | | | | | | | | | BUG=114261 TEST=none Review URL: https://chromiumcodereview.appspot.com/9514020 TBR=rvargas@google.com Review URL: https://chromiumcodereview.appspot.com/9582024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124715 0039d316-1c4b-4281-b951-d872f2087c98
* GPU: Buld most of the gpu as a single DLL.rvargas@google.com2012-03-027-11/+45
| | | | | | | | BUG=114261 TEST=none Review URL: https://chromiumcodereview.appspot.com/9514020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124702 0039d316-1c4b-4281-b951-d872f2087c98
* Expose API for GL_EXT_occlusion_query_boolean but as no-opsgman@chromium.org2012-02-273-0/+111
| | | | | | | | | | | R=jbauman@chromium.org BUG=88601 TEST=none Review URL: http://codereview.chromium.org/9463027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123766 0039d316-1c4b-4281-b951-d872f2087c98
* Fix gcc 4.6 warnings in gpu.tony@chromium.org2012-02-231-1/+1
| | | | | | | | | | | The 10th param is an unsigned int. BUG=None Review URL: http://codereview.chromium.org/9456023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123361 0039d316-1c4b-4281-b951-d872f2087c98
* Don't call finish if there is nothing to dogman@chromium.org2012-02-152-36/+4
| | | | | | | | | | TEST=none BUG=25971 Review URL: http://codereview.chromium.org/9392025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122183 0039d316-1c4b-4281-b951-d872f2087c98
* Add AsyncFlush when transferbuffer is > a certain sizegman@chromium.org2012-02-148-23/+114
| | | | | | | | | | | | TEST=unit tests BUG=113241 R=jbauman@chromium.org Review URL: http://codereview.chromium.org/9387014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121849 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for ANGLE_instanced_arraysjbauman@chromium.org2012-02-146-6/+376
| | | | | | | | | | | | We require ARB_instanced_arrays or ANGLE_intanced_arrays to support this. BUG=93148 TEST= Review URL: http://codereview.chromium.org/9374006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121838 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 119430 - Make transferbuffer increase in size dynamically"gman@chromium.org2012-01-2710-1263/+2075
| | | | | | | | | | | | | This reverts commit 2f38c45427c68fe731c1f5c05256b6c141a6a590. BUG=101431 TEST= TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/9121057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119509 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 119430 - Make transferbuffer increase in size dynamicallykinuko@chromium.org2012-01-2710-2075/+1263
| | | | | | | | | | | | | TEST=unit tests BUG=101431 Review URL: http://codereview.chromium.org/9113069 TBR=gman@chromium.org Review URL: https://chromiumcodereview.appspot.com/9298005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119436 0039d316-1c4b-4281-b951-d872f2087c98
* Make transferbuffer increase in size dynamicallygman@chromium.org2012-01-2710-1263/+2075
| | | | | | | | | | TEST=unit tests BUG=101431 Review URL: http://codereview.chromium.org/9113069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119430 0039d316-1c4b-4281-b951-d872f2087c98
* Remove command buffer command id tests etc..gman@chromium.org2012-01-271-1/+1
| | | | | | | | | | | | | | | The command buffer is no longer a public API so it's not important that the cmd ids be static. TEST=none BUG=none R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9288083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119362 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r118525 / Re-land r118240 - the build failure was a flake.dpranke@chromium.org2012-01-196-14/+47
| | | | | | | | | | | | This change re-enables building gles2_c_lib as a component. TBR=gman@chromium.org BUG=107735 TEST=waterfall stays green Review URL: https://chromiumcodereview.appspot.com/9150022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118263 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r118240 - gles_2_c_lib as a component.dpranke@chromium.org2012-01-196-47/+14
| | | | | | | | | | | | Broke compile on windows. TBR=gman@chromium.org BUG=107735 TEST=waterfall greens up again Review URL: https://chromiumcodereview.appspot.com/9264003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118252 0039d316-1c4b-4281-b951-d872f2087c98
* This change makes gles2_c_lib work as a component. It introduces a ↵dpranke@chromium.org2012-01-196-14/+47
| | | | | | | | | | | | | gles2_c_lib_export.h file, and ensures that all of the GL shim symbols are exported properly. This also fixes a couple of prototype issues in glTexStorage2DEXT and glEnableFeatureCHROMIUM along the way. R=gman@chromium.org TEST=waterfall, specifically platform/chromium/compositing/accelerated-drawing tests don't crash Review URL: https://chromiumcodereview.appspot.com/8956051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118240 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Stop freeing the command buffer when a tab goes to the background. gman@chromium.org2012-01-181-0/+1
| | | | | | | | | | | | | | This essentially reverts functionality" This reverts commit 95bba3796b53af298d6ebbd133e148d6579c3bdc. BUG=103989,108305,108176 TEST=none Review URL: http://codereview.chromium.org/9211017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118140 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 116821 - Make StrictSharedIdHandler free its unused ids."gman@chromium.org2012-01-122-2/+26
| | | | | | | | | | | | | | Now that the command buffer no-op if the GPU process crashes this CL should work again BUG=109575,109330 TEST=Ran gpu_tests mentioned in bug TBR=zmo@chromium.org Review URL: http://codereview.chromium.org/9187032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117334 0039d316-1c4b-4281-b951-d872f2087c98
* Make GLES2Implementation handl failed allocationgman@chromium.org2012-01-113-11/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This passes all the current unit tests I'll write more tests to check this stuff but I want to get it in the tree asap to see if it stops the crashes Note. This is step 2 of 4 Step 1 was doing the same for GLES2CmdHelper and CommandBufferHelper Step 2 is this Step 3 is make these trigger lost context Step 4 is write tests TEST=none BUG=109694 false to NULL Make GLES2CmdHelper and CommandBufferHelper handle failed allocation This passes all the current unit tests. I'll write more tests to check this stuff but I want to get it the tree asap to see if it stop the crashes Note. This is only step 1 of about 4 steps Step 2 is make GLES2Implementation do the same Step 3 is make both of these trigger lost context Step 4 is write tests. TEST=none BUG=109694 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9168022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117204 0039d316-1c4b-4281-b951-d872f2087c98
* Make GLES2CmdHelper and CommandBufferHelper handle failed allocationgman@chromium.org2012-01-114-484/+957
| | | | | | | | | | | | | | | | | | | | | This passes all the current unit tests. I'll write more tests to check this stuff but I want to get it the tree asap to see if it stop the crashes Note. This is only step 1 of about 4 steps Step 2 is make GLES2Implementation do the same Step 3 is make both of these trigger lost context Step 4 is write tests. TEST=none BUG=109694 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/9166017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117135 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 116821 - Make StrictSharedIdHandler free its unused ids.zmo@google.com2012-01-092-27/+3
| | | | | | | | | | | | | TEST=none BUG=109330,109575 Review URL: http://codereview.chromium.org/9109030 TBR=gman@chromium.org Review URL: http://codereview.chromium.org/9147001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116854 0039d316-1c4b-4281-b951-d872f2087c98
* Make StrictSharedIdHandler free its unused ids.gman@chromium.org2012-01-072-3/+27
| | | | | | | | | | TEST=none BUG=109330 Review URL: http://codereview.chromium.org/9109030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116821 0039d316-1c4b-4281-b951-d872f2087c98
* Fix BufferData so it does not trigger single threaded check.gman@chromium.org2011-12-222-1/+27
| | | | | | | | | | | | | BufferData was calling BufferSubData directly instead of BufferSubDataHelper. TEST=unit test BUG=none Review URL: http://codereview.chromium.org/9021043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115531 0039d316-1c4b-4281-b951-d872f2087c98
* Stop freeing the command buffer when a tab goes to the background. This ↵vangelis@chromium.org2011-12-221-1/+0
| | | | | | | | | | | essentially reverts functionality added by revision 114602 . It is a suspect for the increased renderer crash rates since 18.0.973.0 . BUG=108305,108176 Review URL: http://codereview.chromium.org/9020039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115471 0039d316-1c4b-4281-b951-d872f2087c98
* Fix IsExtensionAvailable so it calls GetStringHelpergman@chromium.org2011-12-213-39/+68
| | | | | | | | | | | | | | This is so it does not trigger the single threaded checks TEST=unit test BUG=none R=zmo@chromium.org Review URL: http://codereview.chromium.org/9006021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115265 0039d316-1c4b-4281-b951-d872f2087c98
* Fix PixelStorei so it does not recursively call GL functionsgman@chromium.org2011-12-184-11/+1693
| | | | | | | | | | | | Also, added a bunch of auto generated unit tests. TEST=unit test BUG=107914 Review URL: http://codereview.chromium.org/8981005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114940 0039d316-1c4b-4281-b951-d872f2087c98