1
0
Fork 0
forked from wry/wry

gfx: return formats by reference

This commit is contained in:
Julian Orth 2026-02-15 14:13:30 +01:00
parent b921c81e5d
commit 0f556fc054
7 changed files with 12 additions and 12 deletions

View file

@ -103,7 +103,7 @@ fn create_fd_data(ctx: &dyn GfxContext) -> (Vec<u8>, AHashMap<(u32, Modifier), u
let mut vec = vec![];
let mut map = AHashMap::new();
let mut pos = 0;
for (format, info) in &*ctx.formats() {
for (format, info) in &**ctx.formats() {
for modifier in &info.read_modifiers {
vec.write_u32::<NativeEndian>(*format).unwrap();
vec.write_u32::<NativeEndian>(0).unwrap();

View file

@ -747,7 +747,7 @@ pub trait GfxContext: Debug {
fn render_node(&self) -> Option<Rc<CString>>;
fn formats(&self) -> Rc<AHashMap<u32, GfxFormat>>;
fn formats(&self) -> &Rc<AHashMap<u32, GfxFormat>>;
fn fast_ram_access(&self) -> bool;

View file

@ -187,8 +187,8 @@ impl GlRenderContext {
self.render_node.clone()
}
pub fn formats(&self) -> Rc<AHashMap<u32, GfxFormat>> {
self.ctx.formats.clone()
pub fn formats(&self) -> &Rc<AHashMap<u32, GfxFormat>> {
&self.ctx.formats
}
fn dmabuf_fb(self: &Rc<Self>, buf: &DmaBuf) -> Result<Rc<Framebuffer>, RenderError> {
@ -253,7 +253,7 @@ impl GfxContext for GlRenderContext {
Some(self.render_node())
}
fn formats(&self) -> Rc<AHashMap<u32, GfxFormat>> {
fn formats(&self) -> &Rc<AHashMap<u32, GfxFormat>> {
self.formats()
}

View file

@ -263,8 +263,8 @@ impl GfxContext for Context {
Some(self.0.device.render_node.clone())
}
fn formats(&self) -> Rc<AHashMap<u32, GfxFormat>> {
self.0.formats.clone()
fn formats(&self) -> &Rc<AHashMap<u32, GfxFormat>> {
&self.0.formats
}
fn fast_ram_access(&self) -> bool {

View file

@ -74,7 +74,7 @@ impl ZwpLinuxBufferParamsV1 {
Some(ctx) => ctx,
None => return Err(ZwpLinuxBufferParamsV1Error::NoRenderContext),
};
let formats = ctx.formats();
let formats = ctx.formats().clone();
let format = match formats.get(&format) {
Some(f) => f,
None => return Err(ZwpLinuxBufferParamsV1Error::InvalidFormat(format)),

View file

@ -103,8 +103,8 @@ impl GfxContext for TestGfxCtx {
None
}
fn formats(&self) -> Rc<AHashMap<u32, GfxFormat>> {
self.formats.clone()
fn formats(&self) -> &Rc<AHashMap<u32, GfxFormat>> {
&self.formats
}
fn fast_ram_access(&self) -> bool {

View file

@ -211,9 +211,9 @@ impl UsrJayRenderCtxOwner for PortalDisplay {
if let Some(ctx) = render_ctx {
let client_formats = ctx.ctx.formats();
let usable_formats = match &server_formats {
None => client_formats,
None => client_formats.clone(),
Some(server_formats) => {
Rc::new(cross_intersect_formats(&client_formats, server_formats))
Rc::new(cross_intersect_formats(client_formats, server_formats))
}
};
self.render_ctx.set(Some(Rc::new(PortalServerRenderCtx {