Pixel format API design
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- rust
- Domaine
- backend-api-design, computer-graphics
Piste de recherche
Commencez par examiner les exigences de format de pixel de cette issue, ainsi que les issues 17 et 44 et la pull request 95. Inspectez la conversion BGRX-to-RGBA du backend web et les contraintes de format de wl_shm de Wayland. Le travail sera considéré comme terminé lorsqu'il y aura accord sur les formats pris en charge et optimaux, la gestion de l'alpha, le comportement universel de fallback et une API permettant de les lister et de les sélectionner.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
We need an API to list available pixel formats, and select one. Some considerations:
- We want a way to support transparency: https://github.com/rust-windowing/softbuffer/issues/17
- The web backend current converts BGRX to RGBA. It would be better if it could use RGBA directly, if an application can render that way.
- It looks like for https://github.com/rust-windowing/softbuffer/issues/44 we'd have to use RGBX, rather than BGRX.
- For https://github.com/rust-windowing/softbuffer/pull/95, it seems BGRA is supported, but not BGRX. So we need to make sure to set alpha to 255.
- Wayland's
wl_shmcan support many formats, but only two are required to be supported by compositors.
So some questions here:
- What formats should be supported?
- We want to offer a format for each platform that can be used efficiently without conversion, at least, and there doesn't seem to be one that can be assumed everywhere, unfortunately.
- There are many formats that could be supported on at least some platforms.
- Do we want to support formats that are not 4 byte per pixel? This will impact the API, which currently uses u32 values for pixels.
- How to we communicate what formats are supported, and what formats are optimal?
- We still want at least one format to work on all platforms, even if it requires conversion on some, right? What formats should be universally supported, then?
- Langage dominant
- Rust
- Étoiles
- 506
- Forks
- 84
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Nous n'avons pas encore vérifié les fichiers d'installation de ce projet. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de rust-windowing/softbuffer
-
DS - X11
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
rust-windowing/softbuffer#368 ·
-
`Buffer<'_>` shouldn't be `Send`Ouvertebug DS - Android NDK
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
rust-windowing/softbuffer#347 · 1 commentaire ·
-
Needs Design Work
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
rust-windowing/softbuffer#342 · 1 commentaire ·
-
enhancement question
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
rust-windowing/softbuffer#338 ·
-
Zero-copying on AndroidOuverteDS - Android NDK enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
rust-windowing/softbuffer#318 · 2 commentaires ·
Toutes les issues de rust-windowing/softbuffer
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
aws-samples/sample-pacer#76 ·
Les mainteneurs répondent en général sous 1 jour
-
mime-type element is mandatoryOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
axodotdev/cargo-dist#2523 ·
Les mainteneurs répondent en général sous 2 jours