Closed Bug 901722 Opened 12 years ago Closed 12 years ago

Support component alpha layers with d3d11 compositor

Categories

(Core :: Graphics: Layers, defect)

x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla26

People

(Reporter: nrc, Assigned: nrc)

References

Details

Attachments

(4 files, 2 obsolete files)

Requires making Azure and component alpha work together in ThebesLayerBuffer. Also we need to not have component alpha for Metro.
Attachment #786025 - Flags: review?(matt.woodrow)
Attachment #786760 - Flags: review?(bas)
Depends on: 902329
Comment on attachment 786760 [details] [diff] [review] component alpha for d3d11 compositor Review of attachment 786760 [details] [diff] [review]: ----------------------------------------------------------------- D3D10 should use a single pass and use DualOutput blending. See also the current D3D10 code. This requires a little adjustment to the LayerManagerComposite, obviously. We should also actively investigate dropping component alpha in all the hard cases. (Or maybe everywhere as IE has done)
Attachment #786760 - Flags: review?(bas) → review-
Attachment #786025 - Flags: review?(matt.woodrow) → review+
Attached patch on pass component alpha (obsolete) — Splinter Review
Attachment #786760 - Attachment is obsolete: true
Attachment #787224 - Flags: review?(bas)
Comment on attachment 787224 [details] [diff] [review] on pass component alpha Review of attachment 787224 [details] [diff] [review]: ----------------------------------------------------------------- There we go! ::: gfx/layers/d3d9/CompositorD3D9.cpp @@ -376,5 @@ > device()->SetTexture(0, sourceOnBlack->GetD3D9Texture()); > device()->SetTexture(1, sourceOnWhite->GetD3D9Texture()); > device()->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ZERO); > device()->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR); > - device()->SetRenderState(D3DRS_SEPARATEALPHABLENDENABLE, TRUE); Not sure why this particular change is in this patch, probably shouldn't be :-).
Attachment #787224 - Flags: review?(bas) → review+
(In reply to Bas Schouten (:bas.schouten) from comment #5) > Comment on attachment 787224 [details] [diff] [review] > on pass component alpha > > Review of attachment 787224 [details] [diff] [review]: > ----------------------------------------------------------------- > > There we go! > > ::: gfx/layers/d3d9/CompositorD3D9.cpp > @@ -376,5 @@ > > device()->SetTexture(0, sourceOnBlack->GetD3D9Texture()); > > device()->SetTexture(1, sourceOnWhite->GetD3D9Texture()); > > device()->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ZERO); > > device()->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR); > > - device()->SetRenderState(D3DRS_SEPARATEALPHABLENDENABLE, TRUE); > > Not sure why this particular change is in this patch, probably shouldn't be > :-). Oh, they were just things I noticed were wrong with the d3d9 compositor whilst looking at blend modes. I'll pull them out into another patch.
Splitting the previous patch into three. Carrying r=Bas for all patches.
Attachment #787224 - Attachment is obsolete: true
Attachment #787782 - Flags: review+
Attachment #787783 - Flags: review+
Depends on: 905780
Depends on: 904214
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: