Victor Brekenfeld
ae6334d376
gles2: Fix `import_bitmap` resulting in black textures
2021-05-17 19:08:20 +02:00
Victor Brekenfeld
5e1128b973
gles2: Link texture in buffer for caching
2021-05-17 00:40:10 +02:00
Victor Brekenfeld
b675b59e3b
gles2: Use buffer damage to partially update texture
2021-05-16 23:07:48 +02:00
Victor Brekenfeld
2019be737f
gles2: Respect shm buffer offset
2021-05-16 23:06:42 +02:00
Victor Brekenfeld
0025f13adc
gles2: Make proper use of formats to avoid unnecessary shaders
2021-05-16 23:05:44 +02:00
Victor Brekenfeld
c41cc9828f
renderer: Cache textures in SurfaceAttributes
2021-05-16 20:00:45 +02:00
Victor Brekenfeld
e4f72f7516
Merge pull request #272 from cmeissl/allow_multiple_egl_platforms
...
Dynamically select the EGL platform display
2021-05-16 15:27:16 +02:00
Christian Meissl
f20ff8a178
reduce severity to error in case...
...
...no suitable egl platform could be selected
2021-05-16 10:58:29 +02:00
Victor Brekenfeld
62fcd84226
Reverse legacy check order
2021-05-15 23:38:24 +02:00
Christian Meissl
8dc94e0817
ignore eglplatform doc examples
2021-05-15 23:34:50 +02:00
Christian Meissl
af66a9c152
add more supported egl platforms
2021-05-15 23:05:26 +02:00
Christian Meissl
2e55501dea
dynamically select the EGL platform display
2021-05-15 23:05:26 +02:00
Victor Brekenfeld
5d6fadcea8
cargo fmt
2021-05-15 22:35:44 +02:00
Victor Brekenfeld
524057418e
drm: Fixup tty switching
2021-05-15 22:28:39 +02:00
Victor Brekenfeld
3012e87e0e
drm: Do support IN_FORMATS on legacy surfaces (mostly for nouveau)
2021-05-15 21:01:44 +02:00
Victor Brekenfeld
4e2afb0f1f
drm render: Don't fallback to linear but implicit modifiers
2021-05-15 21:01:44 +02:00
Victor Brekenfeld
4ffa329fe9
drm render: Log Argb8888 formats of plane and renderer
2021-05-15 21:01:44 +02:00
Victor Brekenfeld
cedc536033
drm: Do not spam ALL supported plane formats
2021-05-15 21:01:44 +02:00
Victor Brekenfeld
beeb810edb
egl display: do not spam ALL supported formats
2021-05-15 21:01:44 +02:00
Christian Meissl
f7b58b146c
fixed formatting in gles2 version.rs
2021-05-15 20:41:48 +02:00
Christian Meissl
3ceff8ec67
check for gl version in gles renderer...
...
...in case the version is greater or equal 3.0 the
check for GL_EXT_unpack_subimage is not needed
2021-05-15 20:41:44 +02:00
Victor Brekenfeld
149c923876
cargo fmt
2021-05-15 18:17:43 +02:00
Victor Brekenfeld
f0e7ff3312
cleanup + docs
2021-05-15 16:12:13 +02:00
Victor Brekenfeld
0b0067a3fd
egl: Make EGLBufferReader clonable
2021-05-15 16:12:13 +02:00
Victor Brekenfeld
75b2a2d801
renderer: allow caching resources on WlBuffer
...
- renderer: Change the renderer api to not import different buffer types directly,
but import any supported wl_buffer
- renderer: Remove destroy_texture call and move responsibility into implementation
- gles2: Cache egl images as well as textures on wl_buffer userdata
- gles2: Implement delayed destruction of textures to avoid leaking or changing global state on drop
2021-05-15 16:12:13 +02:00
Victor Brekenfeld
2200d09841
drm: adjust RenderSurface to swapchain changes and AsDmabuf
2021-05-15 16:12:13 +02:00
Victor Brekenfeld
5cf328a1b8
allocator: Introdce AsDmabuf
2021-05-15 16:12:13 +02:00
Victor Brekenfeld
378f826c26
swapchain: do not convert buffers automatically anymore
2021-05-15 16:12:13 +02:00
Christian Meissl
7016e82bed
replace hardcoded type casts...
...
...with platform types in the gles2 renderer
2021-05-15 16:12:13 +02:00
Victor Brekenfeld
6c25dde36e
Fix some missing Debug implementations
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
7e47d648d4
First pass of adding documentation
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
52c01535d0
rustfmt
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
36bf5618ed
clippy fixes
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
e329adcbd8
fix warnings
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
ca6ed6b684
allocator: Expose dumb buffer handle
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
46462b20b6
drm: Fix unnecessary Clone requirement
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
85bef5fec6
renderer: rename Texture to TextureId to better convey nature of the handle
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
ab6dd61592
renderer: add destroy_texture function
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
cb8d637d38
drm: Fixup missing reexport
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
50b0083269
renderer: Implement import_egl for wl_drm
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
348c63b350
egl: EGLBuffer add accessor for EGLImages, remove old code
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
8e3b0c0b9b
egl: Do not expose multi-planar buffers for now
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
1f70aa6a08
egl: Rename EGLImages to EGLBuffer
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
3d8cf0e458
renderer: Add importing bitmaps as textures
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
243afb1030
drm: Introduce RenderSurface for compatibility/ease-of-use
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
73554aaf7f
reexports: fixup gbm, remove unused image dependency
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
2c9c150e5e
renderer: Remove `Frame` trait and merge into `Renderer`
...
Tracking of Frames, so that only one unique one can exist at a time
(gles does not allow multiple frames being rendered in parallel)
lead to very unfriendly lifetime-heavy code. A renderer is already
*unique*, just move the code there and add an error variant to catch
misuses.
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
66fbb3eb06
egl: less busy logging
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
cb825910a6
drm: fixup test_buffer
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
93edc842b2
drm: allow commit/page_flip calls to *not* trigger an event
2021-05-15 16:12:12 +02:00