Skip to content

Commit d5f4783

Browse files
authored
Merge pull request #203 from wackbyte/kms-fix
Implement `BufferInterface::pixels` for KMS backend
2 parents 2bcb5c9 + 8024a84 commit d5f4783

File tree

1 file changed

+1
-11
lines changed

1 file changed

+1
-11
lines changed

src/backends/kms.rs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,6 @@ struct Buffers {
8787

8888
/// Whether to use the first buffer or the second buffer as the front buffer.
8989
first_is_front: bool,
90-
91-
/// A buffer full of zeroes.
92-
zeroes: Box<[u32]>,
9390
}
9491

9592
/// The buffer implementation.
@@ -106,9 +103,6 @@ pub(crate) struct BufferImpl<'a, D: ?Sized, W: ?Sized> {
106103
/// This is used to change the front buffer.
107104
first_is_front: &'a mut bool,
108105

109-
/// Buffer full of zeroes.
110-
zeroes: &'a [u32],
111-
112106
/// The current size.
113107
size: (NonZeroU32, NonZeroU32),
114108

@@ -232,7 +226,6 @@ impl<D: HasDisplayHandle + ?Sized, W: HasWindowHandle> SurfaceInterface<D, W> fo
232226
self.buffer = Some(Buffers {
233227
first_is_front: true,
234228
buffers: [front_buffer, back_buffer],
235-
zeroes: vec![0; width.get() as usize * height.get() as usize].into_boxed_slice(),
236229
});
237230

238231
Ok(())
@@ -276,7 +269,6 @@ impl<D: HasDisplayHandle + ?Sized, W: HasWindowHandle> SurfaceInterface<D, W> fo
276269
front_fb,
277270
crtc_handle: self.crtc.handle(),
278271
display: &self.display,
279-
zeroes: &set.zeroes,
280272
front_age,
281273
back_age,
282274
_window: PhantomData,
@@ -302,9 +294,7 @@ impl<D: ?Sized, W: ?Sized> Drop for KmsImpl<D, W> {
302294
impl<D: ?Sized, W: ?Sized> BufferInterface for BufferImpl<'_, D, W> {
303295
#[inline]
304296
fn pixels(&self) -> &[u32] {
305-
// drm-rs doesn't let us have the immutable reference... so just use a bunch of zeroes.
306-
// TODO: There has to be a better way of doing this!
307-
self.zeroes
297+
bytemuck::cast_slice(self.mapping.as_ref())
308298
}
309299

310300
#[inline]

0 commit comments

Comments
 (0)