Commit Graph

41 Commits

Author SHA1 Message Date
Jamie Nicol
7214dbb8e7 Bug 1324312 - Handle alloc failure when uploading texture. r=sotaro
When GL_UNPACK_ROW_LENGTH is not supported and the source data has a
different stride to that of the texture (often because we are
uploading only the modified subimage) we allocate a temporary buffer
with the correct stride. This was found to be more efficient than
uploading each row of texture data individually.

Sometimes allocating the buffer will fail, however. In such cases fall
back to uploading the texture row-by-row, rather than aborting.

MozReview-Commit-ID: E7LE8nHPE0M
2017-01-23 20:00:05 +00:00
Jamie Nicol
c42bf22886 Bug 1311642 - Give GLUploadHelpers some love. r=nical
GLUploadHelpers was trying to be too flexible, so remove some unused
options it provided. Require that the full surface and texture size is
passed in rather than only the updated subregion. This prevents textures
being initialized to an incorrect size when partial texture uploads are
disallowed.

MozReview-Commit-ID: 288ERE9ten5
2016-10-21 13:27:41 +01:00
Jeff Gilbert
c7f72a9b09 Bug 1288649 - Remove NextPowerOfTwo. - r=jrmuizel
MozReview-Commit-ID: 9CR6lscs3d2
2016-07-25 14:46:28 -07:00
Jeff Gilbert
2dfef79091 Bug 1288649 - Use mfbt IsPowerOfTwo funcs in gfx/. - r=jrmuizel
While fixing non-unified-build errors in dom/canvas, I started hitting a
static_assert that we were calling IsPowerOfTwo with a signed type. It
turns out we have at least three copies of IsPowerOfTwo() in the tree.
Let's drop the non-mfbt ones.

MozReview-Commit-ID: 1fwQw0CrgiE
2016-07-25 14:46:23 -07:00
Jamie Nicol
46b55780eb Bug 1164027 - Do not call glTexImage2D if likely to fail on Adreno 3xx devices; r=jrmuizel,snorp
There is a bug in the graphics driver for Adreno 3xx GPUs on android
versions up to 4.4 which segfaults if a texture allocation fails due to
virtual memory exhaustion.

On affected devices, guess whether an allocation would succeed and avoid
calling glTexImage2D where we believe it would fail. As the texture will
not be allocated this will likely cause problems such as black
rectangles appearing on the screen, but that is preferable to crashing.

MozReview-Commit-ID: 7xVI22pAdwb
2016-07-15 16:58:58 +01:00
Jeff Gilbert
fb8ac21c34 Bug 1279657 - Star to left against type. - r=jrmuizel
MozReview-Commit-ID: IAuzZp4qcRX
2016-06-21 14:04:00 -07:00
Jeff Gilbert
2c267daffa Bug 1279657 - Reference declarations should have the & against the type. - r=jrmuizel
MozReview-Commit-ID: 7RAd0TUJHfB
2016-06-21 14:04:00 -07:00
Carsten "Tomcat" Book
1b81416fb3 Backed out changeset a95a934791f7 (bug 1279657) for bustage on a CLOSED TREE 2016-06-17 13:33:26 +01:00
Carsten "Tomcat" Book
549e097eb2 Backed out changeset dfe70885c37c (bug 1279657) 2016-06-17 13:33:08 +01:00
Jeff Gilbert
f4d0e22d0d Bug 1279657 - Star to left against type. - r=jrmuizel
MozReview-Commit-ID: IAuzZp4qcRX
2016-06-17 05:10:55 -07:00
Jeff Gilbert
7f6ac361b6 Bug 1279657 - Reference declarations should have the & against the type. - r=jrmuizel
MozReview-Commit-ID: 7RAd0TUJHfB
2016-06-17 05:10:55 -07:00
James Willcox
5cb79600ce Bug 1243418 - Fix up incorrect 'aOverwrite' usage and impl in GLUploadHelpers r=jgilbert 2016-02-08 09:18:52 -06:00
James Willcox
a7cd82683b Bug 1243072 - Make GfxTexturesReporter work again r=nical,jgilbert 2016-02-08 09:18:52 -06:00
James Willcox
004b70c367 Also back out bug 1243072 for mac bustage on a CLOSED TREE 2016-02-03 14:45:21 -06:00
James Willcox
7182d03b92 Back out bug 1243418 for build bustage on mac 2016-02-03 14:33:57 -06:00
James Willcox
de55f5fc3e Bug 1243418 - Fix up incorrect 'aOverwrite' usage and impl in GLUploadHelpers r=jgilbert 2016-02-03 14:16:48 -06:00
James Willcox
1c99acc631 Bug 1243072 - Make GfxTexturesReporter work again r=nical,jgilbert 2016-02-03 14:16:40 -06:00
Nicholas Nethercote
241b89e77e Bug 1239864 (part 4) - Use the new rect iterators in gfx/. r=nical. 2016-01-18 17:20:58 -08:00
Nicholas Nethercote
7f19b68d7f Bug 1209812 (part 3) - Rename SurfaceFormat::R5G6B5 as R5G6B5_UINT16. r=Bas. 2015-10-22 23:01:31 -07:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Nicolas Silva
d73f54cb00 Bug 1155621 - Make nsIntRect and nsIntPoint typedefs of mozilla::gfx::IntRect and mozilla::gfx::IntPoint. r=Bas 2015-04-21 17:04:57 +02:00
jdashg
bc7e26ddd9 Bug 1066280 - Review fixes. - r=kamidphish,mattwoodrow 2014-10-08 13:04:19 -07:00
jdashg
fd685b2322 Bug 1066280 - Fixes. - r=kamidphish,mattwoodrow
From 4e9f52ab105333e8b1120342e9583b2d833a4465 Mon Sep 17 00:00:00 2001
---
 dom/canvas/WebGLContext.cpp                | 10 +++++--
 gfx/gl/GLContext.cpp                       | 20 --------------
 gfx/gl/GLContext.h                         |  3 --
 gfx/gl/GLReadTexImageHelper.cpp            |  5 +++-
 gfx/gl/GLScreenBuffer.cpp                  | 13 +++++++--
 gfx/gl/GLUploadHelpers.cpp                 | 27 ++++++++++++++++++
 gfx/gl/SharedSurfaceGralloc.cpp            | 14 ++++------
 gfx/gl/SharedSurfaceGralloc.h              | 10 +++++--
 gfx/gl/SurfaceTypes.cpp                    |  2 ++
 gfx/gl/SurfaceTypes.h                      |  1 +
 gfx/layers/client/CanvasClient.cpp         | 44 ++++++++++++++++++------------
 gfx/layers/client/CanvasClient.h           |  8 +++---
 gfx/layers/client/ClientCanvasLayer.cpp    |  6 ++++
 gfx/layers/client/ClientCanvasLayer.h      |  2 +-
 gfx/layers/client/TextureClient.cpp        | 11 ++++----
 gfx/layers/client/TextureClient.h          |  6 ++--
 gfx/layers/composite/TextureHost.cpp       | 15 +++++-----
 gfx/layers/composite/TextureHost.h         | 10 +++----
 gfx/layers/d3d10/CanvasLayerD3D10.cpp      |  9 ++++--
 gfx/layers/d3d9/CanvasLayerD3D9.cpp        |  8 ++++--
 gfx/layers/ipc/LayersSurfaces.ipdlh        |  4 +--
 gfx/layers/moz.build                       |  4 ++-
 gfx/layers/opengl/GrallocTextureClient.cpp | 26 +++++++++++++++++-
 gfx/layers/opengl/GrallocTextureClient.h   |  3 ++
 24 files changed, 171 insertions(+), 90 deletions(-)
2014-10-07 21:11:54 -07:00
Benoit Jacob
ec905a0441 Bug 987828 - 3/4 - Use IsGLES instead of IsGLES2 - r=jgilbert 2014-03-31 05:10:49 -04:00
Benoit Jacob
40616ca0f4 Bug 972682 - make UploadImageDataToTexture not pass uninitialized parameters to glTexImage2D - r=jgilbert 2014-02-20 08:05:34 -05:00
Andreas Pehrson
29b8fab090 Bug 959154 - Part 8: Moz2Dify GLUploadHelpers. r=nical 2014-02-13 17:28:48 +01:00
Andreas Pehrson
536041cd02 Bug 959154 - Part 3: Deprecate naming of gl::UploadTextureForSurface for thebes. r=nical 2014-02-13 17:22:31 +01:00
Andreas Pehrson
4985d81a10 Bug 959154 - Part 2: Remove local ImageFormatForSurfaceFormat. r=nical 2014-02-13 17:20:43 +01:00
Andreas Pehrson
3257bb1d0e Bug 959154 - Part 1: Moz2Dify gl::UploadImageData. r=nical 2014-02-14 12:40:26 +01:00
Ryan VanderMeulen
52149cbb01 Backed out 8 changesets (bug 959154) for various oranges.
Backed out changeset 00e465be0552 (bug 959154)
Backed out changeset 0f9be8d2caaf (bug 959154)
Backed out changeset 6ca9ba706c94 (bug 959154)
Backed out changeset c6ec9df2d729 (bug 959154)
Backed out changeset 53da6aef5629 (bug 959154)
Backed out changeset 88a6337fc8fb (bug 959154)
Backed out changeset b2535f63d78e (bug 959154)
Backed out changeset fffb200a94bc (bug 959154)
2014-02-14 13:30:39 -05:00
Andreas Pehrson
ab3018e408 Bug 959154 - Part 8: Moz2Dify GLUploadHelpers. r=nical 2014-02-13 17:28:48 +01:00
Andreas Pehrson
7df8a4600d Bug 959154 - Part 3: Deprecate naming of gl::UploadTextureForSurface for thebes. r=nical 2014-02-13 17:22:31 +01:00
Andreas Pehrson
1c405eeed8 Bug 959154 - Part 2: Remove local ImageFormatForSurfaceFormat. r=nical 2014-02-13 17:20:43 +01:00
Andreas Pehrson
f1bab1926c Bug 959154 - Part 1: Moz2Dify gl::UploadImageData. r=nical 2014-02-14 12:40:26 +01:00
Benoit Jacob
844232d97c Bug 959380 - 2/5 - Make gfxImageFormat a typed enum - r=jrmuizel
find . -type f | grep -v \./obj | grep -v \.hg | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)gfxImageFormat\(ARGB32\|RGB24\|A8\|A1\|RGB16_565\|Unknown\)\($\|[^A-Za-z0-9_]\)/\1gfxImageFormat::\2\3/g'
2014-01-23 13:26:40 -05:00
Benoit Jacob
f634d4797a Bug 958375 - 4/9 - Make SurfaceFormat a typed enum - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:16 -05:00
Benoit Jacob
1d084fad49 Bug 958369 - 2/5 - Make GLVendor and GLRenderer typed enums - r=jgilbert 2014-01-10 13:55:23 -05:00
Benoit Jacob
7c0a80f305 Bug 942499 - Part 2: Move CanUploadNonPowerOfTwo out of GLContext; remove the gfx.textures.poweroftwo.force-enabled preference - r=gal,BenWa 2013-12-03 13:44:38 -05:00
Benoit Jacob
3ad5f0eb75 Bug 942499 - Part 1: Move CanUploadSubTextures and WantsSmallTiles out of GLContext - r=BenWa 2013-12-03 13:44:38 -05:00
Benoit Jacob
3b9a55cf3c Bug 942500 - Move GLContext::TexImage2D and friends out of GLContext - r=jgilbert 2013-12-03 13:44:38 -05:00
Benoit Jacob
f9ab200aa0 Bug 942509 - Move Upload* functions to new GLUploadHelpers files - r=gal,jgilbert 2013-12-03 13:44:38 -05:00