aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-02-21 21:27:44 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-02-21 22:15:21 +0400
commit48f0f6fb3ceb68fdb559ab38c8dcbb7b9ba3a13e (patch)
treed71dbc10132f38f59e4a72d1d8a509102f701f8c /src/backend
parent340bac0690972ee6f6badc8d386162320d70b7bd (diff)
downloadniri-48f0f6fb3ceb68fdb559ab38c8dcbb7b9ba3a13e.tar.gz
niri-48f0f6fb3ceb68fdb559ab38c8dcbb7b9ba3a13e.tar.bz2
niri-48f0f6fb3ceb68fdb559ab38c8dcbb7b9ba3a13e.zip
Implement gradient borders
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/tty.rs3
-rw-r--r--src/backend/winit.rs10
2 files changed, 8 insertions, 5 deletions
diff --git a/src/backend/tty.rs b/src/backend/tty.rs
index a0a50dd1..1f0cdb16 100644
--- a/src/backend/tty.rs
+++ b/src/backend/tty.rs
@@ -53,6 +53,7 @@ use super::RenderResult;
use crate::frame_clock::FrameClock;
use crate::niri::{Niri, RedrawState, State};
use crate::render_helpers::renderer::AsGlesRenderer;
+use crate::render_helpers::shaders;
use crate::utils::get_monotonic_time;
const SUPPORTED_COLOR_FORMATS: &[Fourcc] = &[Fourcc::Argb8888, Fourcc::Abgr8888];
@@ -443,6 +444,8 @@ impl Tty {
renderer.bind_wl_display(&niri.display_handle)?;
+ shaders::init(renderer.as_gles_renderer());
+
// Create the dmabuf global.
let primary_formats = renderer.dmabuf_formats().collect::<HashSet<_>>();
let default_feedback =
diff --git a/src/backend/winit.rs b/src/backend/winit.rs
index 7f35e153..e9413698 100644
--- a/src/backend/winit.rs
+++ b/src/backend/winit.rs
@@ -19,6 +19,7 @@ use smithay::reexports::winit::window::WindowBuilder;
use super::RenderResult;
use crate::niri::{Niri, RedrawState, State};
+use crate::render_helpers::shaders;
use crate::utils::get_monotonic_time;
pub struct Winit {
@@ -123,14 +124,13 @@ impl Winit {
}
pub fn init(&mut self, niri: &mut Niri) {
- if let Err(err) = self
- .backend
- .renderer()
- .bind_wl_display(&niri.display_handle)
- {
+ let renderer = self.backend.renderer();
+ if let Err(err) = renderer.bind_wl_display(&niri.display_handle) {
warn!("error binding renderer wl_display: {err}");
}
+ shaders::init(renderer);
+
niri.add_output(self.output.clone(), None);
}