Skip to content
Snippets Groups Projects
Commit 69795aed authored by Lyude Paul's avatar Lyude Paul
Browse files

squash! WIP: rust: drm/kms: Add OpaqueEncoder

* Add safety comments for AsRawEncoder
parent c6317cb2
No related branches found
No related tags found
No related merge requests found
...@@ -294,7 +294,11 @@ unsafe impl<T: KmsDriver> ModeObject for OpaqueEncoder<T> { ...@@ -294,7 +294,11 @@ unsafe impl<T: KmsDriver> ModeObject for OpaqueEncoder<T> {
// SAFETY: Encoders do not have a refcount // SAFETY: Encoders do not have a refcount
unsafe impl<T: KmsDriver> StaticModeObject for OpaqueEncoder<T> {} unsafe impl<T: KmsDriver> StaticModeObject for OpaqueEncoder<T> {}
impl<T: KmsDriver> AsRawEncoder for OpaqueEncoder<T> { // SAFETY:
// * Via our type variants our data layout is identical to with `drm_encoder`
// * Since we don't expose `Encoder` to users before it has been initialized, this and our data
// layout ensure that `as_raw()` always returns a valid pointer to a `drm_encoder`.
unsafe impl<T: KmsDriver> AsRawEncoder for OpaqueEncoder<T> {
fn as_raw(&self) -> *mut bindings::drm_encoder { fn as_raw(&self) -> *mut bindings::drm_encoder {
self.encoder.get() self.encoder.get()
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment