-
Notifications
You must be signed in to change notification settings - Fork 707
Unify GPU texture conversion (with focus on chroma downsampled formats) #7608
Copy link
Copy link
Closed
Labels
feat-videoanything video decoding, player, querying, data modelling of videos etc.anything video decoding, player, querying, data modelling of videos etc.📉 performanceOptimization, memory use, etcOptimization, memory use, etc🔺 re_rendererrendering, graphics, GPUrendering, graphics, GPU
Description
Today, we have a variety of formats that we directly support by out "rectangle" shader.
There's a few issues with this though:
- every time we make it longer we see issues on WebGL on Linux
- we keep appending to the shader that gets more and more complicated Web-view crashes in chrome on linux when shaders are too large #3931
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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
feat-videoanything video decoding, player, querying, data modelling of videos etc.anything video decoding, player, querying, data modelling of videos etc.📉 performanceOptimization, memory use, etcOptimization, memory use, etc🔺 re_rendererrendering, graphics, GPUrendering, graphics, GPU