Commit Graph

37 Commits

Author SHA1 Message Date
Thinker K.F. Li
2e91f0d8bd Bug 1269337 - Implement physical and logical size for GL render target. r=mattwoodrow 2016-11-28 02:14:00 +01:00
Nicolas Silva
bcf7968671 Bug 1280110 - Ensure CompositingRenderTargetOGL is never created without a gl context. r=sotaro 2016-06-21 17:31:13 +02:00
Milan Sreckovic
b873f75eaf Bug 1187464 - Part 2. RTTI for TextureSource debug purposes. Carry r=botond 2016-02-08 11:57:00 +01:00
Carsten "Tomcat" Book
d6a39e4f80 Backed out changeset 0cee3cdcce99 (bug 1187464) 2016-02-03 15:04:21 +01:00
Milan Sreckovic
18f168cc1b Bug 1187464 - Part 2. RTTI for TextureSource debug purposes. r=botond 2016-02-02 11:06:00 +01: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
Vladimir Vukicevic
b32faccead Bug 1179935, introduce complex viewport projections to Compositor, remove PrepareViewport; r=mstange
---
 gfx/layers/Compositor.h                          |  10 ---
 gfx/layers/basic/BasicCompositor.h               |   2 -
 gfx/layers/composite/TextureHost.h               |  34 +++++++-
 gfx/layers/d3d11/CompositorD3D11.cpp             |  47 +++++++---
 gfx/layers/d3d11/CompositorD3D11.h               |   4 +-
 gfx/layers/d3d9/CompositorD3D9.h                 |   2 +-
 gfx/layers/opengl/CompositingRenderTargetOGL.cpp |  23 +++--
 gfx/layers/opengl/CompositingRenderTargetOGL.h   |   2 +
 gfx/layers/opengl/CompositorOGL.cpp              | 104 +++++++++++++----------
 gfx/layers/opengl/CompositorOGL.h                |   6 +-
 10 files changed, 145 insertions(+), 89 deletions(-)
2015-05-19 13:51:26 -04: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
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Ehsan Akhgari
2b0bc024d5 Bug 1117263 - Mark virtual overridden functions as MOZ_OVERRIDE in graphics layers code; r=roc 2015-01-03 12:21:23 -05:00
Vladimir Vukicevic
bbe1bd564c Bug 1036602 - Add GL support for VR rendering; r=BenWa
From aec0bd50768482fe516111010bad2e57f01ede36 Mon Sep 17 00:00:00 2001
---
 gfx/layers/moz.build                           |   1 +
 gfx/layers/opengl/CompositingRenderTargetOGL.h |   4 +
 gfx/layers/opengl/CompositorOGL.cpp            |  14 ++
 gfx/layers/opengl/CompositorOGL.h              |  38 +++
 gfx/layers/opengl/CompositorOGLVR.cpp          | 326 +++++++++++++++++++++++++
 5 files changed, 383 insertions(+)
 create mode 100644 gfx/layers/opengl/CompositorOGLVR.cpp
2014-07-09 12:28:27 -07:00
Sotaro Ikeda
88543b81f5 Bug 1082986 - Use RefPtr to hold Compositor r=nical 2014-10-16 06:48:29 -07:00
Chris Lord
d97c2034f7 Bug 1006797 - Only apply the window render offset when actually rendering to the window. r=nical 2014-10-03 13:22:32 +13:00
Jeff Muizelaar
4f3610dd6b Bug 1064479. Redo how screen rotation is implemented on B2G/Layers. r=nical,mwoodrow
Currently we use a world transform on the LayerManager. This gets passed to the
screen render target which adjusts the gl transform to accomplish the rotation.
This causes a lot of the system to have to know about the transform.

Instead we can just bake the transform into the root layer's shadow transform.
Everything now mostly just works.
2014-09-10 15:59:00 -04:00
Michael Comella
ea27988781 Bug 1046017 - Backed out changesets 1c213218173f & 8588817f7f86 (bugs 1017427 & 1006797) 2014-09-04 18:07:59 -07:00
Jeff Muizelaar
46a8420ee3 Bug 1016539. Add support for accelerated a11y filters. r=mwoodrow
This adds the ability to render to a temporary surface and use that
to apply a filter effect to all of the content.
2014-08-07 17:44:08 -04:00
Chris Lord
0a8423e79a Bug 1006797 - Fix application of OGL compositor screen render offset. r=nical 2014-05-27 13:31:01 +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
David Zbarsky
c8159d0d05 Bug 952977: Convert CompositingRenderTargetOGL to gfx::Matrix4x4 r=nical 2014-01-27 15:25:21 -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
Andreas Pehrson
1cde164801 Bug 877115 - Remove GetTexImage from GLContext helper. r=nical 2014-01-08 09:37:58 +01:00
Matt Woodrow
3e540d9552 Bug 935380 - Part 3: Make CompositingRenderTarget store it's origin. r=nrc 2013-11-07 22:53:08 +13:00
Nicholas Cameron
99f4158d80 Don't include mozilla-config.h in gfx.layers. No bug. r=me 2013-09-09 08:55:48 +12:00
Benoit Jacob
8b1ffe319e Bug 912042 - Avoid including GLContext.h in headers that don't need it - r=jrmuizel 2013-09-04 08:14:52 -04:00
Nicholas Cameron
6ff5d55180 Bug 903816. Include-what-you-use for gfx/layers. r=roc 2013-08-12 11:17:23 +12:00
Nicolas Silva
86064316f3 Bug 858914 - Various TextureClient/Host cleanups. r=nrc. 2013-08-08 14:53:12 +02:00
Phil Ringnalda
06a2cbfa32 Back out d393cfeb5dbf:9f82224bb8a3 (bug 903816) for Android reftest failures
CLOSED TREE
2013-08-11 19:21:17 -07:00
Nicholas Cameron
b2b3fa4f0b Bug 903816. Include-what-you-use for gfx/layers. r=roc 2013-08-12 11:17:23 +12:00
Nicolas Silva
c039b2a50f Bug 858914 - New texture classes + OGL backend (preffed off). r=bas, nrc 2013-07-30 11:59:51 +02:00
Matt Woodrow
3928d446c5 Bug 886667 - Just assert rather than aborting when our framebuffer is invalid. r=jrmuizel 2013-07-16 15:56:10 -04:00
Andreas Gal
cc4fcded13 Bug 867460: remove notion of ShaderProgramTypes from gfx/gl. Carry r=bas. r=bgirard for the changes. 2013-07-04 13:25:50 -04:00
Ehsan Akhgari
5c293abae0 Backed out changeset 1bf0cdeacb22 (bug 867460) for assertions in various test suites
Landed on a CLOSED TREE
2013-06-25 21:39:07 -04:00
Andreas Gal
0b9f23e900 Bug 867460 - Remove notion of ShaderProgramTypes from gfx/gl. r=bschouten, sr=joe 2013-06-24 13:05:13 -04:00
Matt Woodrow
376d7ac524 Bug 756601 - Setup our OpenGL surface before compositing. r=mstange 2013-05-10 09:02:49 +12:00
Bas Schouten
b439abe1f3 Bug 825928: Land layers refactoring. r=jrmuizel,bas,nical,mattwoodrow,roc,nrc,benwa,bjacob,jgilbert,kchen CLOSED TREE
Please contact Bas Schouten <bschouten@mozilla.com>, Nicolas Silva <nsilva@mozilla.com> or Nicholas Cameron <ncameron@mozilla.com> with general questions. Below is a rough list of authors to contact with specific questions.

Authors:
gfx/layers/Compositor.* gfx/layers/Effects.h - Compositor Interface - bas,nrc,nical
gfx/layers/d3d* - D3D9/D3D10 - bas
gfx/layers/ThebesLayer* - ThebesLayers - nrc,bas
gfx/layers/composite/* - CompositeLayers - nrc,nical
gfx/layers/client/* - Client - nrc,nical,bas
gfx/layers/*Image* - nical
gfx/layers/ipc ipc - IPC - nical
gfx/layers/opengl - CompositorOGL - nrc,nical
gfx/2d - bas,nrc
gfx/gl - GLContext - bjacob
dom/* layout/* - DOM - mattwoodrow
2013-04-10 09:20:52 +00:00