Skip to content

Unify GPU texture conversion (with focus on chroma downsampled formats) #7608

@Wumpf

Description

@Wumpf

Today, we have a variety of formats that we directly support by out "rectangle" shader.
There's a few issues with this though:

What we need instead is a flexible system for arbitrary (potentially) on-gpu texture conversion.
The interface we want is something that gives you a buffer to write in your special-format bytes and then get back a gpu texture. How the texture is filled then is up to the system and may scheduled more gpu operations.

The immediate need for this is chroma conversions for video data, but everything we enable there, we'd also like to remove from the rectangle shader.

Open questions:

  • exact interface
  • does this live on the 2d texture manager? Makes sense, but gets bulky. Have it as a extendable sub-system "under" it instead?
  • any alternatives to scheduling work on the "global" per-frame encoder?
    • likely the easy go-to solution for the moment
  • Output format limited to RGBA8(srgb)?
    • good start definitely

Metadata

Metadata

Assignees

Labels

feat-videoanything video decoding, player, querying, data modelling of videos etc.📉 performanceOptimization, memory use, etc🔺 re_rendererrendering, graphics, GPU

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions