File tree Expand file tree Collapse file tree 2 files changed +21
-3
lines changed Expand file tree Collapse file tree 2 files changed +21
-3
lines changed Original file line number Diff line number Diff line change @@ -281,6 +281,13 @@ pub fn map_vertex_format(format: wgt::VertexFormat) -> Dxgi::Common::DXGI_FORMAT
281281 }
282282}
283283
284- pub fn map_acomposite_alpha_mode ( _mode : wgt:: CompositeAlphaMode ) -> Dxgi :: Common :: DXGI_ALPHA_MODE {
285- Dxgi :: Common :: DXGI_ALPHA_MODE_IGNORE
284+ pub fn map_acomposite_alpha_mode ( mode : wgt:: CompositeAlphaMode ) -> Dxgi :: Common :: DXGI_ALPHA_MODE {
285+ match mode {
286+ wgt:: CompositeAlphaMode :: PreMultiplied => Dxgi :: Common :: DXGI_ALPHA_MODE_PREMULTIPLIED ,
287+ wgt:: CompositeAlphaMode :: PostMultiplied => Dxgi :: Common :: DXGI_ALPHA_MODE_STRAIGHT ,
288+ wgt:: CompositeAlphaMode :: Opaque => Dxgi :: Common :: DXGI_ALPHA_MODE_IGNORE ,
289+ wgt:: CompositeAlphaMode :: Auto | wgt:: CompositeAlphaMode :: Inherit => {
290+ Dxgi :: Common :: DXGI_ALPHA_MODE_UNSPECIFIED
291+ }
292+ }
286293}
Original file line number Diff line number Diff line change @@ -828,7 +828,18 @@ impl crate::Adapter for super::Adapter {
828828 | crate :: TextureUses :: COPY_SRC
829829 | crate :: TextureUses :: COPY_DST ,
830830 present_modes,
831- composite_alpha_modes : vec ! [ wgt:: CompositeAlphaMode :: Opaque ] ,
831+ composite_alpha_modes : match surface. target {
832+ SurfaceTarget :: WndHandle ( _) => vec ! [ wgt:: CompositeAlphaMode :: Opaque ] ,
833+ SurfaceTarget :: Visual ( _)
834+ | SurfaceTarget :: SurfaceHandle ( _)
835+ | SurfaceTarget :: SwapChainPanel ( _) => vec ! [
836+ wgt:: CompositeAlphaMode :: Auto ,
837+ wgt:: CompositeAlphaMode :: Inherit ,
838+ wgt:: CompositeAlphaMode :: Opaque ,
839+ wgt:: CompositeAlphaMode :: PostMultiplied ,
840+ wgt:: CompositeAlphaMode :: PreMultiplied ,
841+ ] ,
842+ } ,
832843 } )
833844 }
834845
You can’t perform that action at this time.
0 commit comments