|
1525 | 1525 | <a href="#1524" id="1524">1524</a> |
1526 | 1526 | <a href="#1525" id="1525">1525</a> |
1527 | 1527 | <a href="#1526" id="1526">1526</a> |
1528 | | -<a href="#1527" id="1527">1527</a></pre></div><pre class="rust"><code><span class="kw">use </span>glow::HasContext; |
| 1528 | +<a href="#1527" id="1527">1527</a> |
| 1529 | +<a href="#1528" id="1528">1528</a> |
| 1530 | +<a href="#1529" id="1529">1529</a> |
| 1531 | +<a href="#1530" id="1530">1530</a> |
| 1532 | +<a href="#1531" id="1531">1531</a> |
| 1533 | +<a href="#1532" id="1532">1532</a> |
| 1534 | +<a href="#1533" id="1533">1533</a></pre></div><pre class="rust"><code><span class="kw">use </span>glow::HasContext; |
1529 | 1535 | <span class="kw">use </span>hashbrown::HashMap; |
1530 | 1536 | <span class="kw">use </span>once_cell::sync::Lazy; |
1531 | 1537 | <span class="kw">use </span>parking_lot::{MappedMutexGuard, Mutex, MutexGuard, RwLock}; |
|
1786 | 1792 | </span><span class="macro">log::warn!</span>(<span class="string">"EGL says it can present to the window but not natively"</span>,); |
1787 | 1793 | } |
1788 | 1794 | <span class="comment">// Android emulator can't natively present either. |
1789 | | - </span><span class="kw">let </span>tier_threshold = <span class="kw">if </span><span class="macro">cfg!</span>(target_os = <span class="string">"android"</span>) || <span class="macro">cfg!</span>(windows) { |
1790 | | - <span class="number">1 |
1791 | | - </span>} <span class="kw">else </span>{ |
1792 | | - <span class="number">2 |
1793 | | - </span>}; |
| 1795 | + </span><span class="kw">let </span>tier_threshold = |
| 1796 | + <span class="kw">if </span><span class="macro">cfg!</span>(target_os = <span class="string">"android"</span>) || <span class="macro">cfg!</span>(windows) || <span class="macro">cfg!</span>(target_env = <span class="string">"ohos"</span>) { |
| 1797 | + <span class="number">1 |
| 1798 | + </span>} <span class="kw">else </span>{ |
| 1799 | + <span class="number">2 |
| 1800 | + </span>}; |
1794 | 1801 | <span class="kw">return </span><span class="prelude-val">Ok</span>((config, tier_max >= tier_threshold)); |
1795 | 1802 | } |
1796 | 1803 | <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>) => { |
|
2483 | 2490 | (Rwh::Xcb(<span class="kw">_</span>), <span class="kw">_</span>) => {} |
2484 | 2491 | (Rwh::Win32(<span class="kw">_</span>), <span class="kw">_</span>) => {} |
2485 | 2492 | (Rwh::AppKit(<span class="kw">_</span>), <span class="kw">_</span>) => {} |
| 2493 | + (Rwh::OhosNdk(<span class="kw">_</span>), <span class="kw">_</span>) => {} |
2486 | 2494 | <span class="attr">#[cfg(target_os = <span class="string">"android"</span>)] |
2487 | 2495 | </span>(Rwh::AndroidNdk(handle), <span class="kw">_</span>) => { |
2488 | 2496 | <span class="kw">let </span>format = inner |
|
2833 | 2841 | (WindowKind::Unknown, Rwh::AndroidNdk(handle)) => { |
2834 | 2842 | handle.a_native_window.as_ptr() |
2835 | 2843 | } |
| 2844 | + (WindowKind::Unknown, Rwh::OhosNdk(handle)) => handle.native_window.as_ptr(), |
2836 | 2845 | (WindowKind::Wayland, Rwh::Wayland(handle)) => { |
2837 | 2846 | <span class="kw">let </span>library = <span class="kw-2">&</span><span class="self">self</span>.wsi.display_owner.as_ref().unwrap().library; |
2838 | 2847 | <span class="kw">let </span>wl_egl_window_create: libloading::Symbol<WlEglWindowCreateFun> = |
|
2876 | 2885 | <span class="comment">// We don't want any of the buffering done by the driver, because we |
2877 | 2886 | // manage a swapchain on our side. |
2878 | 2887 | // Some drivers just fail on surface creation seeing `EGL_SINGLE_BUFFER`. |
2879 | | - </span><span class="kw">if </span><span class="macro">cfg!</span>(any(target_os = <span class="string">"android"</span>, target_os = <span class="string">"macos"</span>)) |
2880 | | - || <span class="macro">cfg!</span>(windows) |
| 2888 | + </span><span class="kw">if </span><span class="macro">cfg!</span>(any( |
| 2889 | + target_os = <span class="string">"android"</span>, |
| 2890 | + target_os = <span class="string">"macos"</span>, |
| 2891 | + target_env = <span class="string">"ohos" |
| 2892 | + </span>)) || <span class="macro">cfg!</span>(windows) |
2881 | 2893 | || <span class="self">self</span>.wsi.kind == WindowKind::AngleX11 |
2882 | 2894 | { |
2883 | 2895 | khronos_egl::BACK_BUFFER |
|
0 commit comments