|
883 | 883 | <span id="883">883</span>
|
884 | 884 | <span id="884">884</span>
|
885 | 885 | <span id="885">885</span>
|
| 886 | +<span id="886">886</span> |
| 887 | +<span id="887">887</span> |
| 888 | +<span id="888">888</span> |
| 889 | +<span id="889">889</span> |
| 890 | +<span id="890">890</span> |
| 891 | +<span id="891">891</span> |
| 892 | +<span id="892">892</span> |
| 893 | +<span id="893">893</span> |
886 | 894 | </pre><pre class="rust"><code><span class="kw">use </span>glow::HasContext;
|
887 | 895 | <span class="kw">use </span>std::sync::Arc;
|
888 | 896 | <span class="kw">use </span>wgt::AstcChannel;
|
|
1670 | 1678 | <span class="kw-2">&</span><span class="self">self</span>,
|
1671 | 1679 | surface: <span class="kw-2">&</span><span class="kw">super</span>::Surface,
|
1672 | 1680 | ) -> <span class="prelude-ty">Option</span><<span class="kw">crate</span>::SurfaceCapabilities> {
|
| 1681 | + <span class="kw">let </span><span class="kw-2">mut </span>formats = <span class="kw">if </span>surface.supports_srgb() { |
| 1682 | + <span class="macro">vec!</span>[ |
| 1683 | + wgt::TextureFormat::Rgba8UnormSrgb, |
| 1684 | + <span class="attribute">#[cfg(not(target_arch = <span class="string">"wasm32"</span>))] |
| 1685 | + </span>wgt::TextureFormat::Bgra8UnormSrgb, |
| 1686 | + ] |
| 1687 | + } <span class="kw">else </span>{ |
| 1688 | + <span class="macro">vec!</span>[ |
| 1689 | + wgt::TextureFormat::Rgba8Unorm, |
| 1690 | + <span class="attribute">#[cfg(not(target_arch = <span class="string">"wasm32"</span>))] |
| 1691 | + </span>wgt::TextureFormat::Bgra8Unorm, |
| 1692 | + ] |
| 1693 | + }; |
| 1694 | + <span class="kw">if </span><span class="self">self |
| 1695 | + </span>.shared |
| 1696 | + .private_caps |
| 1697 | + .contains(<span class="kw">super</span>::PrivateCapabilities::COLOR_BUFFER_HALF_FLOAT) |
| 1698 | + { |
| 1699 | + formats.push(wgt::TextureFormat::Rgba16Float) |
| 1700 | + } |
1673 | 1701 | <span class="kw">if </span>surface.presentable {
|
1674 | 1702 | <span class="prelude-val">Some</span>(<span class="kw">crate</span>::SurfaceCapabilities {
|
1675 |
| - formats: <span class="kw">if </span>surface.supports_srgb() { |
1676 |
| - <span class="macro">vec!</span>[ |
1677 |
| - wgt::TextureFormat::Rgba8UnormSrgb, |
1678 |
| - <span class="attribute">#[cfg(not(target_arch = <span class="string">"wasm32"</span>))] |
1679 |
| - </span>wgt::TextureFormat::Bgra8UnormSrgb, |
1680 |
| - ] |
1681 |
| - } <span class="kw">else </span>{ |
1682 |
| - <span class="macro">vec!</span>[ |
1683 |
| - wgt::TextureFormat::Rgba8Unorm, |
1684 |
| - <span class="attribute">#[cfg(not(target_arch = <span class="string">"wasm32"</span>))] |
1685 |
| - </span>wgt::TextureFormat::Bgra8Unorm, |
1686 |
| - ] |
1687 |
| - }, |
| 1703 | + formats, |
1688 | 1704 | present_modes: <span class="macro">vec!</span>[wgt::PresentMode::Fifo], <span class="comment">//TODO
|
1689 | 1705 | </span>composite_alpha_modes: <span class="macro">vec!</span>[wgt::CompositeAlphaMode::Opaque], <span class="comment">//TODO
|
1690 | 1706 | </span>swap_chain_sizes: <span class="number">2</span>..=<span class="number">2</span>,
|
|
0 commit comments