Commit Graph

55 Commits

Author SHA1 Message Date
Milan Sreckovic
a5c26ca04e Bug 1130195: Report the failed bitmap creation, but still crash. r=bschouten 2015-02-25 17:44:56 -05:00
Bas Schouten
ce170cb3f3 Bug 1083245: Pop all clips before copying to the destination blending surface. r=jrmuizel
We need to pop the clips from the decide context before flushing and copying to the destination blending surface, otherwise drawing commands executed on a pushed layer for clipping will not be realized on the destination surface for blending.

Note that this fixes most situation, but in the case of doing custom blending to an area of a surface which is not opaque while having a complex clip pushed this will still lead to some artifacts. I haven't seen this be a problem in practice though.
2015-02-04 22:03:21 +01:00
Bas Schouten
e7a45f235f Bug 1089454: Prevent usage of incompatible graphics objects after device reset. r=jrmuizel 2015-01-28 00:54:19 +00:00
David Major
5ea7fa8ef7 Bug 1122367: Null check the result of D2DFactory(). r=Bas 2015-01-20 10:56:59 +13:00
Bas Schouten
5396c56489 Bug 1114398 - Part 1: Make Direct2D paths specifically typed to a backend type. r=jrmuizel 2015-01-08 00:10:48 +00:00
Milan Sreckovic
24a732e527 Bug 1101685 - Optionally assert in loggers, default to true on gfxCriticalError. Clean up the calls where large texture sizes were triggering the asserts in tests. r=nical 2014-12-17 17:54:04 -05:00
Carsten "Tomcat" Book
4c225d7e54 Backed out changeset 8b751f12a3ad (bug 1101685) for windows 7 debug crashtest/reftest crashes 2014-12-17 12:56:04 +01:00
Milan Sreckovic
46b29f1150 Bug 1101685 - Optionally assert in loggers, default to true on gfxCriticalError. Clean up the calls where large texture sizes were triggering the asserts in tests. r=nical 2014-12-16 13:22:26 -05:00
Nicolas Silva
eccf760d11 Bug 1086670 - Add more gfxCriticalError logging in the D2D backend. r=jrmuizel 2014-11-26 21:05:01 +01:00
Bas Schouten
f08b2404b5 Bug 1101248: Properly check return values of creation functions in DrawTargetD2D1::Init. r=BenWa 2014-11-24 19:44:48 +00:00
Bas Schouten
13df588328 Bug 892910: Deal with newSize becoming empty in CreatePartialBitmapForSurface. r=BenWa
This patch deals with the situation where newSize becomes empty and causes a division by 0 in the current code. It also ensures all the callers will abort any potential drawing when CreatePartialBitmapForSurface returns a nullptr.
2014-11-20 20:48:01 +00:00
Bas Schouten
218b3cfb39 Bug 1101130: Make Direct2D 1.1 clean up its resources on shutdown. r=jrmuizel 2014-11-20 00:16:48 +00:00
Bas Schouten
5b27300620 Bug 1097293: Do not draw radial gradients when centers and radii are identical. r=jrmuizel
When Cinner and Couter are equal, as well as Rinner and Router, the algorithm described in the canvas specification will hit a division by 0. As described in section 7 of the Canvas2D specification nothing should be drawn in this situation.
2014-11-12 15:05:13 +00:00
Bas Schouten
81d29cc4b4 Bug 1088235: Use DrawBitmap when we can. r=jrmuizel 2014-11-11 22:09:31 +00:00
Bas Schouten
62c763162c Bug 1085187: Properly deal with sampling restriction when using DataSourceSurfaces. r=jrmuizel 2014-10-29 23:40:38 +01:00
Bas Schouten
91f5c62793 Bug 1075615: Pretranslate the pattern matrix when the pattern specifies a sampling rect. r=jrmuizel 2014-10-01 19:50:24 +02:00
Markus Stange
bc25984738 Bug 983574 - When setting a SourceSurface input on a FilterNodeD2D1, delay the conversion to ID2D1Image until the actual DrawFilter call. r=Bas 2014-09-25 15:18:29 -04:00
Nicolas Silva
ab23cc4fba Bug 1070018 - Log HRESULT error codes as hexadecimal values rather than signed integers. r=Bas 2014-09-23 11:35:39 -04:00
Bas Schouten
9bd3f60f10 Bug 1068613 - Addendum 2: Fix bustage due to stray character. r=bustage on a CLOSED TREE 2014-09-18 00:35:48 +02:00
Nicolas Silva
1d405a8655 Bug 1068613 - Part 3: Log failures in D2D, D2D 1.1 and the D3D11 TextureClient. r=bas 2014-09-17 23:23:09 +02:00
Bas Schouten
68f2fad908 Bug 1066465: Fixup DrawTargetD2D1::DrawFilter to respect the AA mode and Finalize properly. r=jrmuizel 2014-09-14 23:52:47 +02:00
Bas Schouten
551b9e6641 Bug 1066463: Have DrawTargetD2D1::DrawSurface take the transform into account when doing a partial upload. r=jrmuizel 2014-09-14 23:52:46 +02:00
Bas Schouten
014cbe4801 Bug 1066676: Make DrawTargetD2D1::DrawSurface respect the interpolation mode. r=jrmuizel 2014-09-14 23:51:35 +02:00
Bas Schouten
de2e0dfe09 Bug 1066673: Change DrawTargetD2D1::DrawSurfaceWithShadow to operate as per Canvas spec. r=jrmuizel 2014-09-14 23:51:35 +02:00
Bas Schouten
c46391eb0a Bug 1066670: Deal with a failed brush creation by drawing transparent black. r=jrmuizel 2014-09-14 23:51:34 +02:00
Bas Schouten
cf394caa67 Bug 1066254: Make the temporary surface used in DrawTargetD2D1 always be transparent. r=jrmuizel 2014-09-14 23:51:33 +02:00
Bas Schouten
f66dcfee43 Bug 1066153: Fail to create DrawTargetD2D1 over the maximum size. r=jrmuizel 2014-09-14 23:51:33 +02:00
Bas Schouten
adf609ffcd Bug 1066147: Clear new DrawTargets upon creation in D2D 1.1 backend. r=jrmuizel 2014-09-14 23:51:33 +02:00
Bas Schouten
564bfeb026 Bug 1066142: Respect AntiAlias mode in Direct2D 1.1 backend. r=jrmuizel 2014-09-14 23:51:32 +02:00
Bas Schouten
97d8894b02 Bug 1062412: Support blending composition operations in D2D 1.1. r=jrmuizel 2014-09-14 23:51:31 +02:00
Bas Schouten
124a96d56c Bug 1066138: Disable using TextureClientD3D11 for A8 surfaces and fix various TextureClientD3D11 A8 bugs. r=jrmuizel 2014-09-14 23:51:31 +02:00
Bas Schouten
8dfe79e18c Bug 1060963: Correctly deal with adjusted Source rectangle in DrawTargetD2D1::DrawSurface. r=jrmuizel 2014-09-14 23:51:30 +02:00
Bas Schouten
76796092a4 Bug 1060960: Fix D2D 1.1 backend's ClearRect to deal with transforms and complex clips. r=jrmuizel 2014-09-14 23:51:29 +02:00
Bas Schouten
799eb1e0e5 Bug 1060951: Properly unset the transform when doing the custom blend in FinalizeDrawing. r=jrmuizel 2014-09-14 23:51:29 +02:00
Bas Schouten
adc9640d08 Bug 1060950: Call PrepareForDrawing before GetImageForSurface. r=jrmuizel 2014-09-14 23:51:28 +02:00
Bas Schouten
cce115f0e0 Bug 1060953: Fix reference cycle between DrawTargetD2D1 and SourceSurfaceD2D1. r=jrmuizel 2014-09-14 23:51:28 +02:00
Matt Woodrow
8c5c06f212 Bug 1046550 - Part 2: Allow creating D2D 1.1 DrawTargets for D3D11 textures. r=bas 2014-09-14 23:51:27 +02:00
Matt Woodrow
a4cc03c70e Bug 1062723 - Part 6: Implement source clipping for DrawTargetD2D1. r=Bas
--HG--
extra : rebase_source : bd1c022efe0548a9e7860fb18d6aced33ddad40f
2014-09-12 17:18:22 +12:00
Jonathan Watt
7bf3859764 Bug 1065031, part 1 - Changes to Moz2D code to document and rename Moz2D Matrix's Translate, Scale and Rotate methods. r=Bas 2014-09-10 18:29:35 +01:00
Carsten "Tomcat" Book
d9c5bea4e5 Backed out changeset e6b766d8a815 (bug 1065127) for bustage 2014-09-10 14:30:36 +02:00
Jonathan Watt
cc5bf95ddf Bug 1065127 - Avoid Matrix().Translate()/Scale()/Rotate() multiplication in lots of places. r=Bas
--HG--
extra : rebase_source : ef075258c31973c4943b9b3a9229685a9bb83917
2014-09-10 11:45:42 +01:00
Jonathan Watt
344fb8cd20 Bug 1024983 - Stop addrefing and releasing excessively in the Moz2D code in functions that return a TemporaryRef. r=mstange 2014-06-13 17:09:23 +01:00
Matt Woodrow
9728f8a42e Bug 997551 - Avoid copying data in GetSourceSurfaceForSurface whenever possible. r=Bas 2014-04-25 15:31:53 +12:00
Matt Woodrow
375c837dc3 Bug 996929 - Implement OptimizeSourceSurface for all Moz2D backends. r=Bas 2014-04-17 12:45:25 +12:00
Jacek Caban
06c5f9e5cc Bug 970429 - Don't allow using INITGUID in unified sources. r=Ehsan 2014-02-12 10:59:05 +01:00
Benoit Jacob
06f7a9c4a2 Bug 958375 - 8/9 - Make remaining Moz2D enums typed - 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:17 -05:00
Benoit Jacob
3a7886f0e9 Bug 958375 - 7/9 - Make Font-related enums typed - 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
2d5774ca0a Bug 958375 - 6/9 - Make BackendType and NativeSurfaceType typed enums - 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
55e7c24065 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
b493201ca4 Bug 958375 - 1/9 - Make SurfaceType 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 13:55:24 -05:00