Closed
Bug 1036785
Opened 10 years ago
Closed 10 years ago
[OMTC] Use DIB surfaces when not accelerating content drawing
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
FIXED
mozilla33
People
(Reporter: bas.schouten, Assigned: bas.schouten)
References
Details
Attachments
(2 files, 1 obsolete file)
20.39 KB,
patch
|
nical
:
review+
|
Details | Diff | Splinter Review |
6.75 KB,
patch
|
jrmuizel
:
review+
|
Details | Diff | Splinter Review |
Currently we're using Cairo ImageSurfaces when not using accelerated content drawing (except with a D3D9 compositor), this is bad since it means we don't get subpixel AA, even when a surface is opaque. We should fix this.
Assignee | ||
Comment 1•10 years ago
|
||
This patch makes us use DIBs for opaque surfaces, and makes all that code shared between all the different compositors. We might want to consider DIBs even for transparent surfaces on windows, but let's hold off on that for now.
Attachment #8453556 -
Flags: review?(nical.bugzilla)
Assignee | ||
Comment 2•10 years ago
|
||
This time including the new files :-)
Attachment #8453556 -
Attachment is obsolete: true
Attachment #8453556 -
Flags: review?(nical.bugzilla)
Attachment #8453558 -
Flags: review?(nical.bugzilla)
Comment 3•10 years ago
|
||
Comment on attachment 8453558 [details] [diff] [review] Use DIBs for opaque surfaces v2 Review of attachment 8453558 [details] [diff] [review]: ----------------------------------------------------------------- Nice ::: gfx/layers/TextureDIB.h @@ +28,5 @@ > + virtual ~DIBTextureClient(); > + > + // TextureClient > + > + virtual bool IsAllocated() const MOZ_OVERRIDE{ return !!mSurface; } nit: missing space between MOZ_OVERRIDE and { same thing with IsLocked, CanExposeDrawTarget and HasInternalBuffer @@ +38,5 @@ > + virtual bool IsLocked() const MOZ_OVERRIDE{ return mIsLocked; } > + > + virtual bool ToSurfaceDescriptor(SurfaceDescriptor& aOutDescriptor) MOZ_OVERRIDE; > + > + virtual gfx::IntSize GetSize() const { return mSize; } nit: MOZ_OVERRIDE @@ +40,5 @@ > + virtual bool ToSurfaceDescriptor(SurfaceDescriptor& aOutDescriptor) MOZ_OVERRIDE; > + > + virtual gfx::IntSize GetSize() const { return mSize; } > + > + virtual gfx::SurfaceFormat GetFormat() const { return mFormat; } nit: MOZ_OVERRIDE
Attachment #8453558 -
Flags: review?(nical.bugzilla) → review+
Assignee | ||
Comment 4•10 years ago
|
||
This patch masks some subpixel AA differences I can't quite explain, but seem to be there on the try-servers.
Attachment #8455916 -
Flags: review?(jmuizelaar)
Updated•10 years ago
|
Attachment #8455916 -
Flags: review?(jmuizelaar) → review+
Assignee | ||
Comment 5•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/c98c4be7d7bf https://hg.mozilla.org/integration/mozilla-inbound/rev/65a89b89cb1e
Comment 6•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/c98c4be7d7bf https://hg.mozilla.org/mozilla-central/rev/65a89b89cb1e
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
You need to log in
before you can comment on or make changes to this bug.
Description
•