Bug 240637 - [Linux] GBMBufferSwapchain should only conditionally create linear-formatted buffer objects
Summary: [Linux] GBMBufferSwapchain should only conditionally create linear-formatted ...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Zan Dobersek (Reviews)
URL:
Keywords: InRadar
Depends on:
Blocks: DMA-BUF
  Show dependency treegraph
 
Reported: 2022-05-19 02:53 PDT by Zan Dobersek
Modified: 2022-05-25 10:24 PDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Zan Dobersek 2022-05-19 02:53:19 PDT
Right now, every gbm_bo object created in GBMBufferSwapchain is created in linear format. This shouldn't be the case, giving the graphics driver chance to choose the best possible attributes for the buffer object (e.g. most optimal tiling approach).

Currently, linearity is required only in media playback, when falling back onto software decoder, results of which are then copied into the spawned gbm_bo object. In most other cases avoiding linearity might be beneficial, so it should be done.

This will most likely be solved by passing the GBMBufferSwapchain constructor or getBuffer() call some specific flags requesting a linear buffer.
Comment 1 Zan Dobersek 2022-05-25 07:23:34 PDT
Pull request: https://github.com/WebKit/WebKit/pull/1008
Comment 2 EWS 2022-05-25 10:23:50 PDT
Committed r294803 (250959@main): <https://commits.webkit.org/250959@main>

Reviewed commits have been landed. Closing PR #1008 and removing active labels.
Comment 3 Radar WebKit Bug Importer 2022-05-25 10:24:16 PDT
<rdar://problem/93911506>