Commit Graph

959 Commits

Author SHA1 Message Date
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 b4f216d7b8 anvil: Update to new renderer changes 2021-05-15 16:12:13 +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 5245595037 fix: Compiling anvil without egl 2021-05-15 16:12:12 +02:00
Victor Brekenfeld 1839756f68 fix: Try shm-buffer imports, even if we do not have an egl-buffer reader... 2021-05-15 16:12:12 +02:00
Victor Brekenfeld e490116d9a Use newer drm-fourcc version 2021-05-15 16:12:12 +02:00
Victor Brekenfeld c33ccde56d Move to stable drm-rs and gbm.rs versions 2021-05-15 16:12:12 +02:00
Victor Brekenfeld 4665f829e8 ci: Adjust to new feature set 2021-05-15 16:12:12 +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 ccd86cd8c1 anvil: Do not throw rendering errors away 2021-05-15 16:12:12 +02:00
Victor Brekenfeld 795903d7e0 anvil: Fixup compiling egl support 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 05f11cffeb examples: fix raw_drm 2021-05-15 16:12:12 +02:00
Victor Brekenfeld 0661ebebb8 anvil: Properly free textures 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 30a8693789 anvil: Reintroduce egl buffer support 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 45cd37373a anvil: Render software cursors again 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 43d3e9cd14 anvil: Fixup udev/tty backend, so that it runs at least 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