Commit Graph

58 Commits

Author SHA1 Message Date
Chih-Yi Leu
f531e9cf46 Bug 1304291 - Move driver workaround code into fReadPixels and remove alpha check. r=jgilbert 2016-10-27 23:23:00 -04:00
Jeff Gilbert
42b4e69ed5 Bug 1306171 - Expect core profiles to fill in alpha for RGB->RGBA reads properly. - r=mtseng 2016-09-29 13:51:02 -07:00
Milan Sreckovic
e871a21d1e Bug 1296731: Add parameter to GetAlignedStride and check for overflow. r=bas
MozReview-Commit-ID: 5Ptm0bxwKdG
2016-08-25 13:57:39 -04:00
Jeff Gilbert
8de543ad14 Bug 1250710 - User of ReadPixel should clear PBO to 0. - r=ethlin
MozReview-Commit-ID: JvXOfN6138g
2016-07-17 21:44:49 -07:00
Jeff Gilbert
24a32f90a4 Bug 1278403 - Choose GLContext::DebugFlags based on ContextCreateFlags. - r=jrmuizel
MozReview-Commit-ID: KSjIhu8I20C
2016-06-21 13:47:30 -07:00
Jeff Gilbert
ad8d28d3f0 Bug 1224199 - Destroy SharedSurfaces before ~GLContext(). - r=jrmuizel 2016-04-14 13:50:04 -07:00
Morris Tseng
8d79d1ba56 Bug 1215438 - Part 1: Add utility functions to support transferring ImageBitmap. r=roc 2015-12-18 14:52:16 +08:00
Milan Sreckovic
b8ea2e4f01 Bug 1219494 - Part 3 gfx/gl with gfxCrash. r=mchang 2015-12-10 13:01:00 +01:00
Nicholas Nethercote
7f19b68d7f Bug 1209812 (part 3) - Rename SurfaceFormat::R5G6B5 as R5G6B5_UINT16. r=Bas. 2015-10-22 23:01:31 -07:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Nathan Froyd
bf7f6dda03 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Morris Tseng
07bba8f130 Bug 709490 - Part 9: Readback without blocking main thread. r=jgilbert 2015-10-12 11:21:03 +08:00
Morris Tseng
8ce8403338 Bug 709490 - Part 7: If layer is not available, fallback to BasicCanvasLayer. r=roc 2015-10-12 11:21:03 +08:00
Botond Ballo
6b6d5cb0d0 Bug 1212664 - Perform y-inversion correctly when dumping compositor surface. r=jrmuizel 2015-10-07 19:58:23 -04:00
Wes Kocher
bbd458236d Backed out 11 changesets (bug 709490) for webgl-color-test.html failures a=backout
Backed out changeset fc04c5d43550 (bug 709490)
Backed out changeset cd8f9410d335 (bug 709490)
Backed out changeset 6e687c9143c1 (bug 709490)
Backed out changeset 9b20f2c833c4 (bug 709490)
Backed out changeset f9d130aea88e (bug 709490)
Backed out changeset fc513b410949 (bug 709490)
Backed out changeset acf6220b431a (bug 709490)
Backed out changeset 9bceaf913791 (bug 709490)
Backed out changeset 37fba20111e2 (bug 709490)
Backed out changeset 2285ce1596b8 (bug 709490)
Backed out changeset fb4e09920569 (bug 709490)
2015-10-05 08:28:25 -07:00
Morris Tseng
1e04cd9230 Bug 709490 - Part 9: Readback without blocking main thread. r=jgilbert 2015-10-05 10:50:16 +08:00
Morris Tseng
c17e9b2c66 Bug 709490 - Part 7: If layer is not available, fallback to BasicCanvasLayer. r=roc 2015-10-05 10:50:16 +08:00
Wes Kocher
20f2b1dd4d Backed out 13 changesets (bug 709490) for android webgl-color-test.html failures
Backed out changeset 5be7514914b6 (bug 709490)
Backed out changeset 04b6f94fbe8a (bug 709490)
Backed out changeset 00c0e85dd8cd (bug 709490)
Backed out changeset 221385b7b81a (bug 709490)
Backed out changeset ecc38c18734f (bug 709490)
Backed out changeset 22878c936384 (bug 709490)
Backed out changeset 0edcbb60eee3 (bug 709490)
Backed out changeset 5feceec2014b (bug 709490)
Backed out changeset 835b655cb873 (bug 709490)
Backed out changeset 6fbb4a3f8cf7 (bug 709490)
Backed out changeset a5f8646fa156 (bug 709490)
Backed out changeset 2ae1386916b3 (bug 709490)
Backed out changeset 6b29a2a0a8fb (bug 709490)
2015-09-29 08:57:36 -07:00
Morris Tseng
26711ddcad Bug 709490 - Part 9: Readback without blocking main thread, r=jgilbert 2015-09-29 11:51:25 +01:00
Morris Tseng
a0c3fca880 Bug 709490 - Part 7: If layer is not available, fallback to BasicCanvasLayer, r=roc 2015-09-29 11:51:25 +01:00
Nicholas Nethercote
9b0389603b Bug 1208300 (part 4) - Remove gfxRGBA and some related things. r=jwatt.
Hooray!
2015-09-24 19:24:16 -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
Nathan Froyd
92a8124fef Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Andrew Comminos
092f12d45a Bug 1167356 - Handle return value of DataSourceSurface::Map wherever possible. r=Bas 2015-06-11 13:06:23 -04: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
jdashg
e48648f8ea Bug 1066280 - Add TexClient for ShSurf. - r=kamidphish,mattwoodrow
From a7c09c0f17e19fd2254cb1d7a8ddd07b327151ad Mon Sep 17 00:00:00 2001
---
 gfx/2d/HelpersCairo.h                   |   2 +
 gfx/gl/GLContext.cpp                    |   3 +-
 gfx/gl/GLContext.h                      |   2 -
 gfx/gl/GLReadTexImageHelper.cpp         |  21 +--
 gfx/gl/GLReadTexImageHelper.h           |   6 +
 gfx/gl/GLScreenBuffer.h                 |   6 +-
 gfx/gl/ScopedGLHelpers.cpp              |  40 +++++
 gfx/gl/ScopedGLHelpers.h                |  26 ++-
 gfx/gl/SharedSurface.cpp                |  94 +++++++++++
 gfx/gl/SharedSurface.h                  |  19 +++
 gfx/gl/SharedSurfaceIO.h                |   4 +
 gfx/layers/CopyableCanvasLayer.cpp      |   3 +-
 gfx/layers/client/CanvasClient.cpp      | 276 +++++++++++++++++++++++++++++---
 gfx/layers/client/CanvasClient.h        |  34 ++++
 gfx/layers/client/ClientCanvasLayer.cpp |  21 ++-
 gfx/layers/client/ClientCanvasLayer.h   |   9 +-
 gfx/layers/client/TextureClient.cpp     |  35 ++++
 gfx/layers/client/TextureClient.h       |  85 +++++++++-
 gfx/layers/composite/TextureHost.cpp    | 131 ++++++++++++++-
 gfx/layers/composite/TextureHost.h      |  64 ++++++++
 gfx/layers/d3d10/CanvasLayerD3D10.cpp   |   5 +-
 gfx/layers/ipc/LayersSurfaces.ipdlh     |   5 +
 22 files changed, 828 insertions(+), 63 deletions(-)
2014-10-07 21:01:51 -07:00
Morris Tseng
a29f37e412 Bug 1067283 - Flip NS_WARNING_IF check at GLReadTexImageHelper::ReadTexImge. r=nical 2014-09-15 03:05:00 +02:00
Milan Sreckovic
e5735c90c6 Bug 1033310: Handle CreateDataSourceSurface* returning nullptr. f=nsilva, r=bschouten 2014-08-27 11:57:43 -04:00
Jeff Gilbert
e6f9efb107 Bug 1045957 - Improve code in GLReadTexImageHelper.cpp. - r=mattwoodrow 2014-07-30 10:35:30 -07:00
Jeff Gilbert
acff580bb3 Bug 1045955 - Fix style. - r=kamidphish 2014-07-30 10:03:07 -07:00
Jonathan Watt
4b2c71b657 Bug 1025489 - Stop using gfxImageSurface in the GL code. r=Bas 2014-06-17 18:35:50 +01:00
Andreas Gal
53ea7fe9ad Bug 1016086 - Part 3: Make sure ReadTexImageHelper doesn't change the attribute state during composition (r=Bas) 2014-05-29 18:28:40 -04:00
Nicolas Silva
8a0c258ce9 Bug 1013292 - Fix some using namespace + unified build issues in gfx code. r=kats 2014-05-22 12:11:45 +02:00
Matt Woodrow
23efaf7624 Bug 1006198 - Remove a bunch of dead Thebes code. r=jgilbert 2014-05-13 14:20:27 +12:00
Matt Woodrow
98e6035664 Bug 1006198 - Use a temporary surface if alignment is wrong during WebGL readback. r=jgilbert 2014-05-13 14:20:27 +12:00
Wes Kocher
296ba356fc Backed out 6 changesets (bug 1006198) for webgl assertions on a CLOSED TREE
Backed out changeset 5be3c8c44eed (bug 1006198)
Backed out changeset 4b15abd14f28 (bug 1006198)
Backed out changeset bd11a10e7028 (bug 1006198)
Backed out changeset e1044a8ab189 (bug 1006198)
Backed out changeset 558abe22ab30 (bug 1006198)
Backed out changeset 5462b9babaed (bug 1006198)
2014-05-12 20:47:52 -07:00
Matt Woodrow
2c973642df Bug 1006198 - Remove a bunch of dead Thebes code. r=jgilbert 2014-05-13 14:20:27 +12:00
Matt Woodrow
82782e221d Bug 1006198 - Use a temporary surface if alignment is wrong during WebGL readback. r=jgilbert 2014-05-13 14:20:27 +12:00
Jeff Gilbert
a5b03f084c Bug 1003027 - Use temp surface for bad strides. - r=mattwoodrow 2014-05-02 13:22:07 -07:00
Jonathan Watt
90113d9d69 Bug 1001683 - Convert a bunch of ReadPixelsIntoImageSurface callers to ReadPixelsIntoDataSurface callers (Moz2D migration). r=mattwoodrow 2014-04-29 00:26:54 +01:00
Jonathan Watt
4b567f4f7c Bug 1001682 - Don't reverse the R and B components in the GL CopyDataSourceSurface code for SurfaceFormat::R5G6B5. r=mattwoodrow 2014-04-29 00:26:53 +01:00
Jonathan Watt
55c20bd03b Bug 996901 - Remove lots of gfxASurface.h and gfxImageSurface.h includes and forward declarations that are no longer needed. r=mattwoodrow 2014-04-16 01:41:40 +01:00
Benoit Jacob
ec905a0441 Bug 987828 - 3/4 - Use IsGLES instead of IsGLES2 - r=jgilbert 2014-03-31 05:10:49 -04:00
Dan Glastonbury
d3fec2c97e Bug 982475 - Prevent SwapRAndBComponents derefencing NULL pointer. r=jgilbert 2014-03-11 11:01:00 +10:00
Morris Tseng
faeaca61be Bug 975930 - [LayerScope] All textured buffers show RB swapped which is incorrect. r=jgilbert, r=kamidphish 2014-03-11 11:14:50 -04:00
Morris Tseng
cc3e76aa1d Bug 926128 - Use a single configurable shader in OpenGL layers backend. r=vlad, r=nical, r=gal 2013-11-07 22:22:05 -08:00
Jeff Gilbert
86a0386d44 Bug 960378 - Allow Reading into non-tightly-packed surfaces. - r=bjacob 2014-02-13 15:38:53 -08:00
Dan Glastonbury
f916d63808 Bug 963455 - Fix the setting of viewport in GLReadTexImageHelper::ReadTexImage. r=BenWa 2014-01-31 09:18:15 +10: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
Markus Stange
1e21df3620 Bug 958550 - Use ScopedGLState for scissor test + blend state in two more places. r=bjacob 2014-01-13 15:29:10 +01:00