summaryrefslogtreecommitdiffstats
path: root/cc/texture_uploader.cc
Commit message (Collapse)AuthorAgeFilesLines
* cc: Move textureUploadFlushPeriod to TextureUploader.reveman@chromium.org2012-11-031-1/+22
| | | | | | | | | | | | | | This moves texture upload related flushing to the TextureUploader class. This is a more appropriate place to handle this type of flushing and makes it possible to avoid some unnecessary flushes. BUG= TEST=cc_unittests Review URL: https://chromiumcodereview.appspot.com/11367054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165860 0039d316-1c4b-4281-b951-d872f2087c98
* Use gfx:: Geometry types for the resource provider and layer updater classes.danakj@chromium.org2012-10-311-34/+34
| | | | | | | | | | | | | This depends on the gfx::Vector2d class from https://codereview.chromium.org/11269022/ Covered by existing tests, just changing data types. BUG=147395 R=enne Review URL: https://codereview.chromium.org/11266030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165225 0039d316-1c4b-4281-b951-d872f2087c98
* Fix glTexSubImage2D for non-32bpp formats (rev. 2)sheu@chromium.org2012-10-241-22/+12
| | | | | | | | | | | | | | | | | | The non-mapped upload path for glTexSubImage2D is assuming 32bpp blindly, for all formats. Native texture video frames have no CPU-side plane data to upload. Update unit test to reflect this. TEST=local build, run on ARM (forcing non-mapped path) BUG=None Change-Id: Ifefd7eacb187767e239acbea5201cf490b39715c Review URL: https://chromiumcodereview.appspot.com/11281002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163894 0039d316-1c4b-4281-b951-d872f2087c98
* This keeps a sorted history of the texture upload rate and increasesbrianderson@chromium.org2012-10-241-18/+16
| | | | | | | | | | | | | | | | the history size to improve consistency/accuracy and overhead. Prior to this patch, calling ThrottledTextureUploader::estimatedTexturesPerSecond ran a sort operation, which will be slow for larger history sizes. Instead of keeping a FIFO history, it keeps sorted history and discards the min and max values. BUG=155172 Review URL: https://chromiumcodereview.appspot.com/11028129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163828 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 163477 - Fix glTexSubImage2D for non-32bpp formats.hbono@chromium.org2012-10-231-12/+22
| | | | | | | | | | | | | | | | | | The non-mapped upload path for glTexSubImage2D is assuming 32bpp blindly, for all formats. TEST=local build, run on ARM (forcing non-mapped path) BUG=None Change-Id: Ib8ac46646b27faeeb8c19ebb519d321e25c1a8cb Review URL: https://chromiumcodereview.appspot.com/11229040 TBR=sheu@chromium.org Review URL: https://codereview.chromium.org/11228044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163485 0039d316-1c4b-4281-b951-d872f2087c98
* Fix glTexSubImage2D for non-32bpp formats.sheu@chromium.org2012-10-231-22/+12
| | | | | | | | | | | | | | | The non-mapped upload path for glTexSubImage2D is assuming 32bpp blindly, for all formats. TEST=local build, run on ARM (forcing non-mapped path) BUG=None Change-Id: Ib8ac46646b27faeeb8c19ebb519d321e25c1a8cb Review URL: https://chromiumcodereview.appspot.com/11229040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163477 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove CC*.h temporary includes, part 4/4.tfarina@chromium.org2012-10-221-3/+5
| | | | | | | | | | | | BUG=155413 TEST=cc_unittests R=enne@chromium.org,jamesr@chromium.org TBR=jamesr@chromium.org Review URL: https://chromiumcodereview.appspot.com/11233025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163225 0039d316-1c4b-4281-b951-d872f2087c98
* Add checks to resource update creation and image upload.ccameron@chromium.org2012-10-191-0/+48
| | | | | | | | | | | Add instrumentation to capture input in mini-dumps, in case the crashes observed don't correspond to violations of the added checks. BUG=156107 Review URL: https://chromiumcodereview.appspot.com/11193054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163085 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Remove all but one texture uploader class.reveman@chromium.org2012-10-191-0/+301
This reduces the number of texture uploader classes from 4 to 1. - TextureUploader - ThrottledTextureUploader - UnthrottledTextureUploader - LayerTextureSubImage becomes - TextureUploader and it lives behind the CCResourceProvider interface where the LayerTextureSubImage instance used to be. This also makes the call stack when performing a texture upload less awkward. It used to look like this: CCTextureUpdateController::updateMoreTexturesNow() -> ThrottledTextureUploader::updateTexture() -> CCPrioritizedTexture::upload() -> CCResourceProvider::upload() -> LayerTextureSubImage::upload() -> glTexSubImage2D() but now looks like this: CCTextureUpdateController::updateMoreTexturesNow() -> CCPrioritizedTexture::upload() -> CCResourceProvider::upload() -> TextureUploader::upload() -> glTexSubImage2D() which makes a lot more sense considering that CCTextureUpdateController::updateMoreTexturesNow() should really be called CCResourceUpdateController::updateMoreResourcesNow() and CCPrioritizedTexture::upload() should be CCPrioritizedResource::update(). This is only refactoring and should not change the behavior of the compositor in any way. BUG= TEST=cc_unittests Review URL: https://chromiumcodereview.appspot.com/11188055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162951 0039d316-1c4b-4281-b951-d872f2087c98