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
Victor Brekenfeld
c8b370a030
drm: change logger visibility
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
0414417f3c
egl: Allow creation of shared contexts
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
c6df50cb67
egl: Rexport EGLContext on toplevel
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
347507fc92
drm/legacy: Assume Argb8888 is at least supported like we used to
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
1f86faf1e6
drm: re-add device_id() to DrmDevice
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
c05a7aafdf
swapchain: export Error type
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
1bba21bf4f
swapchain: allow slots to contain userdata
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
c107d42ced
drm/renderer: Fixup convertion into SwapBuffersError
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
0180bb6ef5
drm: allow to test if scanning out a buffer would succeed
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
d042609dbd
swapchain: increase cap for additional queuing (e.g. explicit synchronization)
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
bcf6a5c4b9
gbm: allow to import dmabufs
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
58f22afa40
dmabuf's take ownership over their contents -> do not reference original buffer
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
9d021d52a4
drm: expose supported plane formats
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
52d581371c
renderer: Allow Bind implementations to expose supported formats
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
b7aa4c416b
egl: enumerate supported dmabuf formats
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
4d8bd26131
egl: enumerate supported dmabuf formats
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
a74aa728f7
swapchain: handle buffer conversion for the user
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
84439e5400
swapchain: fix borked resize logic
2021-05-15 16:12:12 +02:00
Victor Brekenfeld
3a2e4ddf61
Migrate the winit backend to the new egl and renderer apis.
2021-05-15 16:12:12 +02:00