Commit Graph

1579 Commits

Author SHA1 Message Date
Nicolas Silva
c419224832 Bug 1200595 - Merge TextureClient and ClientTexture back into TextureClient. r=mattwoodrow 2015-11-20 14:25:00 +01:00
Nicolas Silva
a560723399 Bug 1200595 - AndroidSurface TextureData implementation. r=mattwoodrow 2015-11-20 14:24:52 +01:00
Nicolas Silva
1e3687efb8 Bug 1200595 - EGLImage TextureData implementation. r=mattwoodrow 2015-11-20 14:24:49 +01:00
Nicolas Silva
54a83c03ce Bug 1200595 - MacIOSurface TextureData implementation. r=mattwoodrow 2015-11-20 14:24:46 +01:00
Nicolas Silva
87c9127e1e Bug 1200595 - Gralloc TextureData implementation. r=sotaro 2015-10-15 17:53:37 +02:00
Nicolas Silva
abb5d0f407 Bug 1200595 - Buffer TextureData implementation. r=mattwoodrow 2015-10-15 17:53:33 +02:00
Carsten "Tomcat" Book
f2da327ad7 Backed out 13 changesets (bug 1200595) for possibly breaking Reftest [TC] Crashtest tc-R on a CLOSED TREE
Backed out changeset e7278af0a484 (bug 1200595)
Backed out changeset c13228f84d85 (bug 1200595)
Backed out changeset 4b88e8a3d8af (bug 1200595)
Backed out changeset e55376bd2cf8 (bug 1200595)
Backed out changeset 9c27c8e2c021 (bug 1200595)
Backed out changeset a369a2983ceb (bug 1200595)
Backed out changeset 09e71ba15ea8 (bug 1200595)
Backed out changeset b555b130d439 (bug 1200595)
Backed out changeset 6819f6d82287 (bug 1200595)
Backed out changeset a8cdfbf443d8 (bug 1200595)
Backed out changeset 0092c9d7a86b (bug 1200595)
Backed out changeset 6dc38a1e6073 (bug 1200595)
Backed out changeset fe2164aa1468 (bug 1200595)
2015-11-20 16:55:26 +01:00
Nicolas Silva
51da7ff08c Bug 1200595 - Consolidate the TextureClient's destruction logic. r=mattwoodrow
* * *
Bug 1200595 - Rebase fixes
2015-11-20 14:25:03 +01:00
Nicolas Silva
5aa757715e Bug 1200595 - Merge TextureClient and ClientTexture back into TextureClient. r=mattwoodrow 2015-11-20 14:25:00 +01:00
Nicolas Silva
ab844e4eb2 Bug 1200595 - AndroidSurface TextureData implementation. r=mattwoodrow 2015-11-20 14:24:52 +01:00
Nicolas Silva
7c76ec31b2 Bug 1200595 - EGLImage TextureData implementation. r=mattwoodrow 2015-11-20 14:24:49 +01:00
Nicolas Silva
3f1d42e349 Bug 1200595 - MacIOSurface TextureData implementation. r=mattwoodrow 2015-11-20 14:24:46 +01:00
Nicolas Silva
bd5414e7ad Bug 1200595 - Gralloc TextureData implementation. r=sotaro 2015-10-15 17:53:37 +02:00
Nicolas Silva
75de75b2f5 Bug 1200595 - Buffer TextureData implementation. r=mattwoodrow 2015-10-15 17:53:33 +02:00
David Anderson
0b40b8cdc2 Remove Gonk usage of ImageContainer::CreateImage. (bug 1222910, r=sotaro) 2015-11-17 00:09:01 -08:00
David Anderson
1a51373570 Decouple EGLImageImage from ImageContainer. (bug 1222910, r=snorp) 2015-11-17 00:09:00 -08:00
Nathan Froyd
e877842021 Bug 1216644 - part 1 - simple s/nsAutoArrayPtr/UniquePtr/ changes in gfx/; r=jrmuizel
This patch handles all the cases where we just want to swap out
nsAutoArrayPtr for UniquePtr and don't require code changes other than
updating uses that implicitly converted to T* to follow UniquePtr's
conventions.
2015-10-20 13:13:35 -04:00
Nicholas Nethercote
c3c2a5bf71 Bug 1223310 (part 2) - Use LayoutDeviceIntRect for bounds-related functions in nsIWidget. r=kats.
The patch renames the existing functions (GetBounds(), GetClientBounds(), etc)
by adding an |Untyped| suffix. It then adds typed equivalents, and uses those
typed equivalents in all the call sites where it's easy to do so. The trickier
remaining call sites are converted to use the Untyped-suffix version.
2015-11-09 21:37:32 -08:00
Botond Ballo
abbcf770b6 Bug 1220923 - Make nsIntRegion a typedef for IntRegionTyped<UnknownUnits>. r=nical 2015-11-04 11:49:49 -05:00
Milan Sreckovic
8feec0d950 Bug 1214802 - gfxEnv - consolidate environment variables used by the graphics code in one place. r=botond 2015-10-28 14:31: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
James Willcox
3971dc1305 Bug 1213968 - Renew the surface on iOS when resuming the compositor r=kats 2015-10-28 14:10:28 -05:00
James Willcox
c59d06cbd9 Bug 1208513 - Resurrect SharedSurface_GLTexture for use on iOS r=jgilbert 2015-10-28 14:10:25 -05:00
Sotaro Ikeda
a8e31215e6 Bug 1210182 - Implement GrallocTextureHostBasic r=nical 2015-10-26 22:43:07 -07:00
Sotaro Ikeda
f8586d9f85 Bug 1215364 - Implement BasicCOmpositor::EndFrameForExternalComposition r=nical 2015-10-25 22:41:57 -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
David Anderson
8d8b07fc9d Disable screen and multiply mix-blend-mode support in the D3D11 and OGL compositors. (bug 1135271, r=mattwoodrow) 2015-10-07 16:38:19 -07:00
Nicholas Nethercote
69ab754504 Bug 1211324 (part 5) - Remove GraphicsFilter and gfxGraphicsFilter. r=mattwoodrow. 2015-10-05 17:18:10 -07:00
Nicholas Nethercote
e04159e24b Bug 1211324 (part 4) - Replace GraphicsFilter constants with gfx::Filter equivalents. r=mattwoodrow.
The conversion is as follows:

- GraphicsFilter::FILTER_NEAREST == gfx::Filter::POINT
- GraphicsFilter::FILTER_GOOD    == gfx::Filter::GOOD
- GraphicsFilter::FILTER_BEST    == gfx::Filter::LINEAR

Also typedef GraphicsFilter to gfx::Filter; this will be removed in the next
patch.

These changes mean ToFilter() and ThebesFilter() are no longer needed.
2015-10-05 17:12:46 -07:00
David Anderson
89329365b2 Remove the static compositor backend variable. (bug 1211109 part 2, r=mattwoodrow) 2015-10-05 23:39:00 -07:00
Piotr Tworek
7c42590509 Bug 1209446 - Make sure mFrameInProgress flag is set to true only when we actually begin drawing new frame. r=nical 2015-09-29 08:18:00 +02: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
Botond Ballo
7bcef4b705 Bug 1206915 - Move dumping of compositor textures under its own environment variable. r=mattwoodrow
The rationale is that it's broken at least on some platforms (e.g.
TextureHost::GetAsSurface() is not implemented), and moving it under its own
environment variable allows us to use the client-side parts of paint dumping
without crashing while attempting to do the compositor-side parts.
2015-09-21 18:27:27 -04:00
Kearwood (Kip) Gilbert
c44c41fd55 Bug 1207326 - Part 1: Correct projection clipping rectangle,r=matt.woodrow
- The clipping rectangle used in a call to Matrix4x4::TransformAndClipRect
  within CompositorOGL::DrawQuad is now using mRenderBound, with an
  offset applied consistent with use later in the function.
2015-09-25 13:43:52 -07:00
Matt Woodrow
a8bdc8b75b Bug 1204106 - Use correct alpha blend modes for OVER in CompositorOGL. r=jrmuizel 2015-09-24 18:33:59 -04:00
Ted Mielczarek
828976e47f bug 1178956 - Specify precision in OGLShaderProgram.cpp to fix compositor on iOS. r=kip 2015-09-22 15:41:46 -04:00
Nicolas Silva
65ab142b26 Bug 1072313 - Never call TextureClient::KeepUntilFullDeallocation off the ipdl thread. r=mattwoodrow 2015-09-21 16:54:40 +02:00
Wes Kocher
778219cf27 Backed out changeset 09c2a214244b (bug 1072313) for Windows textureclient crashes CLOSED TREE 2015-09-21 10:37:07 -07:00
Nicolas Silva
f88df820fa Bug 1072313 - Never call TextureClient::KeepUntilFullDeallocation off the ipdl thread. r=mattwoodrow 2015-09-21 16:54:40 +02:00
Phil Ringnalda
18097728cb Back out changeset e18e75437c6e (bug 1204106) for Android 4.0 API11+ debug reftest-5 opacity-blending.html failures 2015-09-17 20:30:09 -07:00
Matt Woodrow
b3fb498717 Bug 1204106 - Use correct alpha blend modes for OVER in CompositorOGL. r=jrmuizel 2015-09-17 19:31:00 -04:00
Matt Woodrow
c857cd19ba Bug 1203744 - Fix the SCREEN blend mode with CompositorOGL when the source data is unpremultiplied. r=dvander 2015-09-14 14:17:39 -04:00
Kearwood (Kip) Gilbert
0cac799a77 Bug 1157984 - Part 3: Correct bounding box transformations to support projections and correct clipping when transforming behind the camera,r=vlad
- Update callsites of Matrix4x4::TransformBounds to use
  Matrix4x4::TransformAndClipBounds.
2015-08-06 17:26:09 -07:00
Andrew Comminos
680d1c28b0 Bug 788873 - Only rebind a GLXPixmap if the texture has changed. r=karlt 2015-08-26 23:46:33 -04:00
Andrew Comminos
d8ffd23931 Bug 1195110 - Check if GLContext is destroyed before freeing resources in CompositingRenderTargetOGL. r=jrmuizel 2015-08-18 20:03:04 -04:00
Matt Woodrow
9949478058 Bug 1192571 - Make sure we reparent all TextureSources when dragging a tab between windows. r=jrmuizel 2015-08-13 15:59:07 -04:00
Jerry Shih
e8b61f07dc Bug 1192192 - fix quad culling method. r=nical 2015-08-13 08:22:58 -07:00
Sotaro Ikeda
3066a490bc Bug 1192352 - Fix fence handling of display mirroring r=nical 2015-08-13 06:52:49 -07:00
Matt Woodrow
6ca7077ed1 Bug 1061525 - Part 4: Add an NV12 effect, and implement it for CompositorOGL. r=nical 2015-08-10 22:04:26 +10:00