6f29db1044 
								
							 
						 
						
							
							
								
								gles2 renderer: introduce struct wlr_gles2_tex_shader  
							
							
							
						 
						
							2018-06-13 13:43:01 +03:00  
				
					
						
							
							
								 
						
							
								de91c55ea9 
								
							 
						 
						
							
							
								
								Fix GLES2 renderer to use glGetUniformLocations locations  
							
							... 
							
							
							
							This is needed as uniform locations are driver implementation-specific. 
							
						 
						
							2018-06-07 18:06:31 +03:00  
				
					
						
							
							
								 
						
							
								6b7a55aa3d 
								
							 
						 
						
							
							
								
								Merge pull request  #1020  from emersion/remove-check-dmabuf  
							
							... 
							
							
							
							render: remove wlr_renderer_check_import_dmabuf 
							
						 
						
							2018-05-31 21:49:57 +01:00  
				
					
						
							
							
								 
						
							
								d1cf9acbd5 
								
							 
						 
						
							
							
								
								cleanup: Use void for zero-parameter functions  
							
							... 
							
							
							
							Signed-off-by: Genki Sky <sky@genki.is> 
							
						 
						
							2018-05-30 20:19:16 -04:00  
				
					
						
							
							
								 
						
							
								135721118a 
								
							 
						 
						
							
							
								
								render: remove wlr_renderer_check_import_dmabuf  
							
							... 
							
							
							
							It's possible to implement it outside the renderer, by creating a
texture and destroying it right away. This reduces the API surface
of the renderer. 
							
						 
						
							2018-05-30 17:08:15 +01:00  
				
					
						
							
							
								 
						
							
								28020ff577 
								
							 
						 
						
							
							
								
								Only allow one modifier per DMA-BUF, split attributes struct in render/  
							
							
							
						 
						
							2018-05-30 09:29:12 +01:00  
				
					
						
							
							
								 
						
							
								6eb4b5b54d 
								
							 
						 
						
							
							
								
								Merge pull request  #993  from emersion/bind-wl-drm-in-renderer  
							
							... 
							
							
							
							render: bind wl_drm in renderer 
							
						 
						
							2018-05-25 13:54:16 +01:00  
				
					
						
							
							
								 
						
							
								24cf70ae96 
								
							 
						 
						
							
							
								
								backends: implement custom EGL and renderer initialization  
							
							... 
							
							
							
							Compositors now have more control over how the backend creates its
renderer. Currently all backends create an EGL/GLES2 renderer, so
the necessary attributes for creating the context are passed to a
user-provided callback function. It is responsible for initializing
provided wlr_egl and to return a renderer. On fail, return 0.
Fixes  #987  
							
						 
						
							2018-05-25 14:56:52 +03:00  
				
					
						
							
							
								 
						
							
								4e89e0fc6c 
								
							 
						 
						
							
							
								
								fix server exit: eglMakeCurrent Invalid display  
							
							
							
						 
						
							2018-05-23 16:17:29 +02:00  
				
					
						
							
							
								 
						
							
								41130fe54b 
								
							 
						 
						
							
							
								
								render: bind wl_drm in renderer  
							
							
							
						 
						
							2018-05-21 19:07:08 +01:00  
				
					
						
							
							
								 
						
							
								47ffd0e184 
								
							 
						 
						
							
							
								
								gles2: pre-multiply alpha and fix blending function  
							
							
							
						 
						
							2018-05-18 20:34:36 +03:00  
				
					
						
							
							
								 
						
							
								35e83800d4 
								
							 
						 
						
							
							
								
								Fix alpha for src_rgba and src_rgbx  
							
							
							
						 
						
							2018-05-15 22:29:36 -04:00  
				
					
						
							
							
								 
						
							
								b2f8f00ae3 
								
							 
						 
						
							
							
								
								fix check of EGL_WL_bind_wayland_display presence  
							
							
							
						 
						
							2018-05-13 15:17:17 +02:00  
				
					
						
							
							
								 
						
							
								5a87712ca8 
								
							 
						 
						
							
							
								
								Log required extension name if unavailable  
							
							
							
						 
						
							2018-04-26 11:11:28 +01:00  
				
					
						
							
							
								 
						
							
								fecb971518 
								
							 
						 
						
							
							
								
								Merge pull request  #902  from emersion/various-memory-leaks  
							
							... 
							
							
							
							Various memory leaks 
							
						 
						
							2018-04-26 11:34:49 +02:00  
				
					
						
							
							
								 
						
							
								449f06556a 
								
							 
						 
						
							
							
								
								Destroy wlr_surface with wlr_renderer  
							
							
							
						 
						
							2018-04-26 00:11:36 +01:00  
				
					
						
							
							
								 
						
							
								71ca45e2c0 
								
							 
						 
						
							
							
								
								Make sure we don't use others' prefixes  
							
							
							
						 
						
							2018-04-25 23:24:58 +01:00  
				
					
						
							
							
								 
						
							
								018b82c01e 
								
							 
						 
						
							
							
								
								render/egl: allow passing NULL to surface and image destructors  
							
							
							
						 
						
							2018-04-25 08:28:48 +01:00  
				
					
						
							
							
								 
						
							
								eaed6bd03b 
								
							 
						 
						
							
							
								
								render/egl: add wlr_egl_destroy_surface  
							
							
							
						 
						
							2018-04-24 23:44:43 +01:00  
				
					
						
							
							
								 
						
							
								12298ce88c 
								
							 
						 
						
							
							
								
								Do not advertize *RGB8888 as supported shm formats  
							
							... 
							
							
							
							They're always available and supported, and are added automatically.
Adding them again just duplicates them. 
							
						 
						
							2018-04-21 14:58:25 +01:00  
				
					
						
							
							
								 
						
							
								b116414bd5 
								
							 
						 
						
							
							
								
								Merge pull request  #880  from emersion/advertize-renderer-formats  
							
							... 
							
							
							
							Advertize supported renderer formats 
							
						 
						
							2018-04-21 14:45:09 +02:00  
				
					
						
							
							
								 
						
							
								1588094b99 
								
							 
						 
						
							
							
								
								Remove a few local prefixed symbols  
							
							
							
						 
						
							2018-04-21 10:20:33 +01:00  
				
					
						
							
							
								 
						
							
								70d820be25 
								
							 
						 
						
							
							
								
								Add wlr_renderer_init_wl_shm to advertize supported renderer formats  
							
							
							
						 
						
							2018-04-20 23:58:30 +01:00  
				
					
						
							
							
								 
						
							
								1b802d9251 
								
							 
						 
						
							
							
								
								Make wlr_renderer_scissor take normal coords instead of upside-down ones  
							
							
							
						 
						
							2018-04-12 19:38:33 -04:00  
				
					
						
							
							
								 
						
							
								d2ebbd103c 
								
							 
						 
						
							
							
								
								backend: remove wlr_backend_get_egl  
							
							
							
						 
						
							2018-04-08 11:00:56 -04:00  
				
					
						
							
							
								 
						
							
								6a05bd3886 
								
							 
						 
						
							
							
								
								egl: silence dmabuf error when extension is not present  
							
							... 
							
							
							
							This makes it match 4bf936360d 
							
						 
						
							2018-04-04 09:28:07 +02:00  
				
					
						
							
							
								 
						
							
								f3f61bed3e 
								
							 
						 
						
							
							
								
								Untie wlr_gles2_renderer and wlr_gles2_texture  
							
							
							
						 
						
							2018-04-01 16:07:50 -04:00  
				
					
						
							
							
								 
						
							
								a7bb48b404 
								
							 
						 
						
							
							
								
								render/egl: add wlr_egl_create_image_from_wl_drm  
							
							... 
							
							
							
							This allows external renderers and potential future GL-based
renderers to re-use this function. 
							
						 
						
							2018-03-31 23:20:00 -04:00  
				
					
						
							
							
								 
						
							
								33a2eb4b77 
								
							 
						 
						
							
							
								
								Untie wlr_backend from wlr_renderer  
							
							
							
						 
						
							2018-03-31 18:49:43 -04:00  
				
					
						
							
							
								 
						
							
								23d357e371 
								
							 
						 
						
							
							
								
								Downgrade gles2 messages to L_DEBUG  
							
							... 
							
							
							
							L_INFO is for stuff that's useful to the user 
							
						 
						
							2018-03-31 00:27:30 -04:00  
				
					
						
							
							
								 
						
							
								c9ed6fed59 
								
							 
						 
						
							
							
								
								Fix build error with -O2  
							
							... 
							
							
							
							../render/gles2/renderer.c: In function ‘gles2_render_texture_with_matrix’:
../render/gles2/renderer.c:140:2: error: ‘target’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  glBindTexture(target, tex_id);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../render/gles2/renderer.c:145:2: error: ‘prog’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  glUseProgram(prog); 
							
						 
						
							2018-03-31 01:05:33 +03:00  
				
					
						
							
							
								 
						
							
								330ee08126 
								
							 
						 
						
							
							
								
								Merge pull request  #744  from emersion/texture-redesign  
							
							... 
							
							
							
							Redesign wlr_texture 
							
						 
						
							2018-03-28 00:14:57 -04:00  
				
					
						
							
							
								 
						
							
								13edb19a6c 
								
							 
						 
						
							
							
								
								Fix issue starting up client EGL on X11 backend  
							
							
							
						 
						
							2018-03-27 18:51:38 -04:00  
				
					
						
							
							
								 
						
							
								f444a0d14c 
								
							 
						 
						
							
							
								
								Implement layer surface damage  
							
							
							
						 
						
							2018-03-27 18:50:32 -04:00  
				
					
						
							
							
								 
						
							
								4bf936360d 
								
							 
						 
						
							
							
								
								Arrange & render layer surfaces  
							
							
							
						 
						
							2018-03-27 18:50:09 -04:00  
				
					
						
							
							
								 
						
							
								c42fd1018b 
								
							 
						 
						
							
							
								
								render: remove GL calls from wlr_egl  
							
							
							
						 
						
							2018-03-27 17:02:48 -04:00  
				
					
						
							
							
								 
						
							
								adf4fb08dd 
								
							 
						 
						
							
							
								
								Merge branch 'master' into texture-redesign  
							
							
							
						 
						
							2018-03-26 19:13:13 -04:00  
				
					
						
							
							
								 
						
							
								793c3b3047 
								
							 
						 
						
							
							
								
								render: add simple functions to render rectangles and ellipses  
							
							
							
						 
						
							2018-03-26 12:41:51 -04:00  
				
					
						
							
							
								 
						
							
								c63d94483b 
								
							 
						 
						
							
							
								
								Redesign wlr_texture  
							
							... 
							
							
							
							- Textures are now immutable (apart from those created from raw
  pixels), no more invalid textures
- Move all wl_drm stuff in wlr_renderer
- Most of wlr_texture fields are now private
- Remove some duplicated DMA-BUF code in the DRM backend
- Add more assertions
- Stride is now always given as bytes rather than pixels
- Drop wl_shm functions
Fun fact: this patch has been written 10,000 meters up in the air. 
							
						 
						
							2018-03-24 23:48:32 -04:00  
				
					
						
							
							
								 
						
							
								b1852096c5 
								
							 
						 
						
							
							
								
								linux-dmabuf: Support multi plane formats like NV12  
							
							
							
						 
						
							2018-03-23 09:03:31 +01:00  
				
					
						
							
							
								 
						
							
								a854c2f246 
								
							 
						 
						
							
							
								
								Merge branch 'master' into gles2-renderer-redesign  
							
							
							
						 
						
							2018-03-23 00:55:55 +01:00  
				
					
						
							
							
								 
						
							
								b1f93bc5cc 
								
							 
						 
						
							
							
								
								render/egl: use EGL_KHR_debug  
							
							
							
						 
						
							2018-03-21 10:42:43 +01:00  
				
					
						
							
							
								 
						
							
								8207f0f081 
								
							 
						 
						
							
							
								
								render/gles2: use gles2_pixel_format::has_alpha for shader selection  
							
							
							
						 
						
							2018-03-21 08:53:36 +01:00  
				
					
						
							
							
								 
						
							
								cc5ef1d2ff 
								
							 
						 
						
							
							
								
								render/gles2: move list of supported WL formats to pixel_format.c  
							
							
							
						 
						
							2018-03-21 08:50:59 +01:00  
				
					
						
							
							
								 
						
							
								3581573bdc 
								
							 
						 
						
							
							
								
								render/gles2: make wlr_renderer_begin take viewport size  
							
							... 
							
							
							
							This allows raw GL calls outside wlr_renderer to be removed. 
							
						 
						
							2018-03-21 07:37:09 +01:00  
				
					
						
							
							
								 
						
							
								95e86e675a 
								
							 
						 
						
							
							
								
								render/gles2: remove global state, use OpenGL debug extension  
							
							
							
						 
						
							2018-03-20 19:14:33 +01:00  
				
					
						
							
							
								 
						
							
								2d01663b25 
								
							 
						 
						
							
							
								
								gles2: Honor alpha in fragment_src_external  
							
							... 
							
							
							
							By using the same vertex shader and adding alpha to the fragment shader
for external textures we can:
  - use alpha blending
  - have wlr_gles2_render_texture_with_matrix work with
    the GL_TEXTURE_EXTERNAL_OES. So far this failed
    since we passed in alpha which was unknown by fragment_src_external 
							
						 
						
							2018-03-20 14:30:30 +01:00  
				
					
						
							
							
								 
						
							
								13e4ba4867 
								
							 
						 
						
							
							
								
								gles2_texture_bind: use texture's target type  
							
							... 
							
							
							
							Hardcoding GL_TEXTURE_2D leads to rendering errors when using
GL_TEXTURE_EXTERNAL_OES textures. 
							
						 
						
							2018-03-20 14:30:30 +01:00  
				
					
						
							
							
								 
						
							
								b3cb5a36c7 
								
							 
						 
						
							
							
								
								gles2: allow to specify texture target type  
							
							... 
							
							
							
							Allow to set the texture target type when generating/binding the
texture.  This allows us to attach the texture type to the texture so we
don't have to keep the logic elsewhere. 
							
						 
						
							2018-03-20 14:30:30 +01:00  
				
					
						
							
							
								 
						
							
								c41de2d1be 
								
							 
						 
						
							
							
								
								render: split render.h into wlr_renderer.h and wlr_texture.h  
							
							
							
						 
						
							2018-03-19 23:16:29 +01:00