Commit Graph

284 Commits

Author SHA1 Message Date
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
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
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
JerryShih
3a04ffd63c Bug 1186236 - Fix drawQuad culling bug. r=nical
Consider the render target size for drawQuad culling.
2015-08-04 03:16:00 -04:00
Wes Kocher
88bf1fe444 Backed out 6 changesets (bug 1061525) for mochitest-2 failures in test_BufferedSeek_mp4.html CLOSED TREE
Backed out changeset 5e90b9dab7fa (bug 1061525)
Backed out changeset ef5ce3d6412a (bug 1061525)
Backed out changeset 19c8682665a6 (bug 1061525)
Backed out changeset b48d13edb48d (bug 1061525)
Backed out changeset fae6602192a7 (bug 1061525)
Backed out changeset 5dfbd6e73c7a (bug 1061525)
2015-08-03 19:53:33 -07:00
Matt Woodrow
d912fd9cd6 Bug 1061525 - Part 4: Add an NV12 effect, and implement it for CompositorOGL. r=nical 2015-08-03 17:57:39 -04:00
CJ Ku
c1c30c1099 Bug 1061393 - Export display list info to layer scope viewer. r=kamidphish 2015-08-03 02:11:00 -04:00
Andrew Comminos
b5026b093e Bug 1184534 - Fetch viewport size from context in CompositorOGL, discard if changed during composition. r=nical 2015-07-30 12:39:32 -04:00
Matt Woodrow
f2668193dc Bug 1150944 - Add a flags parameter to GLContextProvider functions instead of a bool. r=jgilbert 2015-07-29 16:35:55 -04:00
Wes Kocher
47eb6fb630 Backed out 6 changesets (bug 1150944, bug 1034370) for build failures in WebGLContext.cpp CLOSED TREE
Backed out changeset e2a6160242e5 (bug 1150944)
Backed out changeset 1c510537d20b (bug 1150944)
Backed out changeset 7ae813666ed5 (bug 1150944)
Backed out changeset 2f29ac2e31cd (bug 1150944)
Backed out changeset bf7681b1567e (bug 1150944)
Backed out changeset 79c6b8d014d2 (bug 1034370)
2015-07-29 14:16:17 -07:00
Matt Woodrow
ade701f6b4 Bug 1150944 - Add a flags parameter to GLContextProvider functions instead of a bool. r=jgilbert 2015-07-29 16:35:55 -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
Sotaro Ikeda
94c1a83c68 Bug 1187048 - Code clean up around nsScreenGonk's EGLSurface handling r=mwu 2015-07-24 10:56:05 -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
Robert O'Callahan
0ba3a7002d Bug 1143575. Make GL context current before cleaning up programs. r=nical
Otherwise we can get a crash with the following stack:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 14711]
0x5d99974e in mozilla::gl::GLContext::BeforeGLCall (this=0x6dbf0800,
    funcName=0x60f251a4 <mozilla::gl::GLContext::raw_fDeleteProgram(unsigned int)::__PRETTY_FUNCTION__> "void mozilla::gl::GLContext::raw_fDeleteProgram(GLuint)") at /home/roc/mozilla-inbound/gfx/gl/GLContext.h:683
683	        MOZ_ASSERT(IsCurrent());
(gdb) where
#0  0x5d99974e in mozilla::gl::GLContext::BeforeGLCall (this=0x6dbf0800,
    funcName=0x60f251a4 <mozilla::gl::GLContext::raw_fDeleteProgram(unsigned int)::__PRETTY_FUNCTION__> "void mozilla::gl::GLContext::raw_fDeleteProgram(GLuint)") at /home/roc/mozilla-inbound/gfx/gl/GLContext.h:683
#1  0x5d99bed6 in mozilla::gl::GLContext::raw_fDeleteProgram (this=0x6dbf0800, program=210003)
    at /home/roc/mozilla-inbound/gfx/gl/GLContext.h:2232
#2  0x5d99c10a in mozilla::gl::GLContext::fDeleteProgram (this=0x6dbf0800, program=210003)
    at /home/roc/mozilla-inbound/gfx/gl/GLContext.h:2270
#3  0x5daa0ae6 in mozilla::layers::ShaderProgramOGL::~ShaderProgramOGL (this=0x6d7df000, __in_chrg=<optimized out>)
    at /home/roc/mozilla-inbound/gfx/layers/opengl/OGLShaderProgram.cpp:491
#4  0x5da86bdc in mozilla::layers::CompositorOGL::CleanupResources (this=0x67ae4d70)
    at /home/roc/mozilla-inbound/gfx/layers/opengl/CompositorOGL.cpp:177
2015-06-12 03:18:46 +12:00
Nicolas Silva
fb6854370b Bug 1170189 - Remove the TiledLayerComposer interface. r=BenWa 2015-07-01 13:51:03 +02: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
Wes Kocher
e82c05d0e6 Merge b2ginbound to central, a=merge 2015-06-09 19:25:38 -07:00
JerryShih
bf22117921 Bug 1170966 - Check quad's effective region before drawing. r=nical, a=me 2015-06-09 10:53:00 -04:00
Shelly Lin
ff08c27b91 Bug 1138287 - Part 2: Support multi-screen on Gonk platform. r=mwu, r=sotaro, r=jgilbert, r=mattwoodrow 2015-06-05 11:29:30 +08:00
Ryan VanderMeulen
be91d25dc9 Backed out changeset 89807785d4d4 (bug 1170966) for OSX 10.10 reftest failures. 2015-06-05 11:12:09 -04:00
JerryShih
91fa484d13 Bug 1170966 - check quad's effective region before drawing. r=nical 2015-06-03 08:04:00 +02:00
Kearwood (Kip) Gilbert
ebc5141a35 Bug 766345 - Part 3 - Implement correct clipping of DEAA edges for quads that cross the w=0 plane (v3 Patch). r=vlad
- Use Matrix4x4::ProjectAndClipRect for accurate calculation of DEAA edge
line coefficients of quads clipped by the view frustum.
2015-05-08 11:21:45 -07:00
Kearwood (Kip) Gilbert
47e5ded309 Bug 766345 - Part 1 - Implement DEAA Antialiasing for transformed layers (v5 Patch). r=vladimir, r=djg 2014-12-17 16:28:45 -08:00
Amanda Sambath
0d488979b7 Bug 1158120 - Replace gfxIntSize by mozilla::gfx::IntSize in gfx/layers. r=nical 2015-05-28 11:59:15 +02:00
CJKu
0f44ef05e2 Bug 1163908 - Export GL draw data to layerscope for drawing heat-map view. r=:djg 2015-05-22 11:36:00 +02:00
Nathan Froyd
43cddcfc0d Bug 1160485 - remove implicit conversion from RefPtr<T> to TemporaryRef<T>; r=ehsan
Having this implicit conversion means that we can silently do extra
refcounting when it's completely unnecessary.  It's also an obstacle to
making RefPtr more nsRefPtr-like, so let's get rid of it.
2015-05-01 09:14:16 -04:00
Ethan Lin
154c338ed7 Bug 1155498 - Part 3 - Use new FenceHandle to handle the fence in Compositor. r=sotaro 2015-05-13 00:37:00 +02:00
Thibaud Backenstrass
93145c402c Bug 1158122 - Remove the remaining occurences of nsIntRect in gfx/layers. r=nical 2015-05-07 11:07:53 +02:00
Thibaud Backenstrass
6441969f4f Bug 1157661 - Fix a null-check in CompositorOGL::DrawQuad. r=nical 2015-05-05 18:31:41 +02:00
Sotaro Ikeda
d9d7ee9afb Bug 1152370 part 3 - Use DisplaySurface r=mwu 2015-04-23 06:49:40 -07:00
Sotaro Ikeda
0afc17b2f3 Bug 1152135 - Split EGLSurface buffer swap and HWC buffer swap r=mwu,nical,jgilbert 2015-04-17 09:28:41 -07:00
Carsten "Tomcat" Book
7bb0b237fe Backed out changeset abe6234be8a3 (bug 1152135) for Android 4 opt/debug perma failure 2015-04-17 12:04:55 +02:00
Sotaro Ikeda
ca5c89c607 Bug 1152135 - Split EGLSurface buffer swap and HWC buffer swap r=mwu,nical,jgilbert 2015-04-16 18:15:26 -07:00
Sotaro Ikeda
6a4dad5b54 Backed out changeset 29d01ad10d0b (bug 1152135) 2015-04-13 12:28:06 -07:00
Sotaro Ikeda
1aad030e25 Bug 1152135 - Split EGLSurface buffer swap and HWC buffer swap r=mwu,nical,jgilbert 2015-04-12 11:23:46 -07:00
Milan Sreckovic
a5610e14a3 Bug 1140113 - Catch direct (and some indirect) callers of CreateDrawTarget* and deal with failure. r=mstange 2015-03-09 15:48:20 -04:00
Jeff Gilbert
4f9c932a23 Bug 1124394 - Support Core profiles for GLContext. - r=kamidphish 2015-02-12 19:00:41 -08:00
Nicholas Nethercote
0247de46d8 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo. 2015-02-09 14:34:50 -08:00
Andrew McCreight
e048a7df33 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Jeff Gilbert
9fb0acb86f Backout 80a88a3badba for causing bug 1130086. 2015-02-06 11:37:04 -08:00
Nicholas Nethercote
40ab0270d5 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo. 2015-02-04 20:05:36 -08:00
Jeff Gilbert
2f2bc0d4e9 Bug 1124394 - Support WebGL 2 with Core Profiles on Mac. - r=kamidphish 2015-02-04 16:34:55 -08:00