a71649dde9 
								
							 
						 
						
							
							
								
								render/gles2: remove duplicated format list  
							
							
							
						 
						
							2020-03-09 15:26:28 +01:00  
				
					
						
							
							
								 
						
							
								6d3f3b9300 
								
							 
						 
						
							
							
								
								render/gles2: unbind textures after use  
							
							... 
							
							
							
							Keeping textures bound results in hard-to-debug situations where some GL
operations incorrectly affect the texture. 
							
						 
						
							2020-01-13 07:52:30 -07:00  
				
					
						
							
							
								 
						
							
								515679e4fe 
								
							 
						 
						
							
							
								
								Refactor EGL/GL API loading  
							
							... 
							
							
							
							Remove glapi.sh code generation, replace it with hand-written loading
code that checks extension strings before calling eglGetProcAddress.
The GLES2 renderer still uses global state because of:
- {PUSH,POP}_GLES2_DEBUG macros
- wlr_gles2_texture_from_* taking a wlr_egl instead of the renderer 
							
						 
						
							2019-12-20 01:03:34 +00:00  
				
					
						
							
							
								 
						
							
								5df606d8ab 
								
							 
						 
						
							
							
								
								render/gles2: do not set GL_TEXTURE_MAG_FILTER  
							
							
							
						 
						
							2019-11-26 09:42:10 -05:00  
				
					
						
							
							
								 
						
							
								16e5e9541b 
								
							 
						 
						
							
							
								
								Add -Wmissing-prototypes  
							
							... 
							
							
							
							This requires functions without a prototype definition to be static.
This allows to detect dead code, export less symbols and put shared
functions in headers. 
							
						 
						
							2019-11-20 02:05:03 +00:00  
				
					
						
							
							
								 
						
							
								4c9423278a 
								
							 
						 
						
							
							
								
								Introduce wlr_renderer_get_egl  
							
							
							
						 
						
							2019-11-11 19:10:10 +01:00  
				
					
						
							
							
								 
						
							
								447835afc1 
								
							 
						 
						
							
							
								
								render/gles2: provide public API to access GL texture  
							
							... 
							
							
							
							Prior to this commit, compositors needed to render the texture to an
intermediate off-screen buffer using wlr_renderer APIs if they wanted to
use a custom rendering path (e.g. render to a 3D scene).
A new wlr_gles2_texture_get_attribs exposes the GL texture target and ID
so that compositors can render wlr_textures with their own shaders. An
example of a compositor doing so is available at [1].
[1]: 3db905b784/src/render.c (L227) 
							
						 
						
							2019-11-07 14:24:03 -05:00  
				
					
						
							
							
								 
						
							
								85a2ee6d30 
								
							 
						 
						
							
							
								
								render/gles: Simplify textures a bit  
							
							... 
							
							
							
							We don't need our own enum for types. Instead we just use
GL_TEXTURE_{2D,EXTERNAL_OES}, which already describes usage.
Also fixes a situation where we were using GL_TEXTURE_2D in a situation
we should not have. wl_drm buffers are always GL_TEXTURE_EXTERNAL_OES,
no matter if they're RGB or any other format. 
							
						 
						
							2019-11-06 09:46:01 +01:00  
				
					
						
							
							
								 
						
							
								6bb7639a0f 
								
							 
						 
						
							
							
								
								render/gles2: don't unset the current EGL surface when destroying texture  
							
							... 
							
							
							
							When a texture is destroyed between wlr_egl_make_current and
wlr_egl_swap_buffers, it resets the current EGL surface to NULL. This
makes wlr_egl_swap_buffers fail.
If the EGL context is already current, there's no need to reset it. 
							
						 
						
							2019-10-16 09:40:26 -04:00  
				
					
						
							
							
								 
						
							
								734c64a6cc 
								
							 
						 
						
							
							
								
								render/gles2: fix calculation for partial gles2 pixel read ( #1809 )  
							
							
							
						 
						
							2019-08-31 23:00:52 +03:00  
				
					
						
							
							
								 
						
							
								107a1789ea 
								
							 
						 
						
							
							
								
								render/gles2: print GL_RENDERER  
							
							... 
							
							
							
							This is often the name of the GPU and can help debugging graphics issues. 
							
						 
						
							2019-05-07 10:51:52 -06:00  
				
					
						
							
							
								 
						
							
								e42178d03f 
								
							 
						 
						
							
							
								
								render: switch wlr_renderer to wlr_drm_format_set  
							
							
							
						 
						
							2019-04-01 19:18:04 +03:00  
				
					
						
							
							
								 
						
							
								5445d8aad0 
								
							 
						 
						
							
							
								
								meson: enable more compiler warnings  
							
							
							
						 
						
							2019-03-01 09:20:23 +01:00  
				
					
						
							
							
								 
						
							
								75371d2c88 
								
							 
						 
						
							
							
								
								Require libdrm >= 2.4.95  
							
							
							
						 
						
							2019-01-29 19:33:38 +01:00  
				
					
						
							
							
								 
						
							
								9af0c5338f 
								
							 
						 
						
							
							
								
								Standardize the wlr_box input paramaters  
							
							... 
							
							
							
							Fixes  #1094  
						
							2018-12-21 13:56:10 -05:00  
				
					
						
							
							
								 
						
							
								d592dcdedd 
								
							 
						 
						
							
							
								
								render/gles2: check for GL_OES_EGL_image_external  
							
							
							
						 
						
							2018-11-04 09:00:55 +01:00  
				
					
						
							
							
								 
						
							
								62d646f2b8 
								
							 
						 
						
							
							
								
								render/gles2: remove assumptions about supported formats  
							
							... 
							
							
							
							We were assuming GL_BGRA_EXT was always supported.
We now check that it's supported for rendering. We fail if it isn't because
this format is specified as "always supported" by the Wayland protocol.
We also check if it's supported for reading pixels. A new preferred_read_format
function returns the preferred format that can be used to read pixels. This is
used by the screencopy protocol. 
							
						 
						
							2018-11-04 09:00:51 +01:00  
				
					
						
							
							
								 
						
							
								cb03a41a3b 
								
							 
						 
						
							
							
								
								Use enum wl_shm_format for gles2 texture formats  
							
							... 
							
							
							
							Also rephrase the write_pixels comment. 
							
						 
						
							2018-10-16 09:35:28 +02:00  
				
					
						
							
							
								 
						
							
								cd28637187 
								
							 
						 
						
							
							
								
								Remove fmt parameter from wlr_texture_write_pixels  
							
							... 
							
							
							
							It's not allowed to change the format of a texture so remove
the confusing parameter. 
							
						 
						
							2018-10-15 23:56:56 +02:00  
				
					
						
							
							
								 
						
							
								ad406db21c 
								
							 
						 
						
							
							
								
								gles2: change context when it is not current  
							
							... 
							
							
							
							Texture functions, that create and manipulate textures should switch
the current context if necessary.
thanks to: @emersion
Fixes  #934  
							
						 
						
							2018-08-03 07:43:22 +02:00  
				
					
						
							
							
								 
						
							
								b902c2bd7c 
								
							 
						 
						
							
							
								
								Revert "Move side-effect out of assert statement"  
							
							... 
							
							
							
							This reverts commit a0afedcd8f 
							
						 
						
							2018-07-13 15:46:54 -04:00  
				
					
						
							
							
								 
						
							
								a0afedcd8f 
								
							 
						 
						
							
							
								
								Move side-effect out of assert statement  
							
							
							
						 
						
							2018-07-13 13:54:09 -04:00  
				
					
						
							
							
								 
						
							
								c4915d1492 
								
							 
						 
						
							
							
								
								render: add wlr_texture_is_opaque  
							
							
							
						 
						
							2018-07-12 23:35:33 +01:00  
				
					
						
							
							
								 
						
							
								7cbef15206 
								
							 
						 
						
							
							
								
								util: add wlr_ prefix to log symbols  
							
							
							
						 
						
							2018-07-09 22:49:54 +01:00  
				
					
						
							
							
								 
						
							
								cc9b198f9e 
								
							 
						 
						
							
							
								
								render/gles2: ditch extra parens  
							
							
							
						 
						
							2018-06-30 23:19:02 +01:00  
				
					
						
							
							
								 
						
							
								bf7560b7cd 
								
							 
						 
						
							
							
								
								screencopy: add capture_output_region support  
							
							
							
						 
						
							2018-06-30 22:18:04 +01:00  
				
					
						
							
							
								 
						
							
								2b9cbaddf3 
								
							 
						 
						
							
							
								
								screencopy: add support for frame flags  
							
							
							
						 
						
							2018-06-30 22:18:03 +01:00  
				
					
						
							
							
								 
						
							
								57548b557a 
								
							 
						 
						
							
							
								
								Merge branch 'master' into screencontent  
							
							
							
						 
						
							2018-06-17 14:49:18 +01:00  
				
					
						
							
							
								 
						
							
								d643361c48 
								
							 
						 
						
							
							
								
								Merge pull request  #1047  from NotKit/gles2fix  
							
							... 
							
							
							
							Fix GLES2 renderer to use glGetUniformLocations locations 
							
						 
						
							2018-06-13 15:37:16 +01:00  
				
					
						
							
							
								 
						
							
								6f29db1044 
								
							 
						 
						
							
							
								
								gles2 renderer: introduce struct wlr_gles2_tex_shader  
							
							
							
						 
						
							2018-06-13 13:43:01 +03:00  
				
					
						
							
							
								 
						
							
								f1a62a3200 
								
							 
						 
						
							
							
								
								Rename egl.exts to match the extension names  
							
							
							
						 
						
							2018-06-09 19:11:51 +02:00  
				
					
						
							
							
								 
						
							
								457bfcab19 
								
							 
						 
						
							
							
								
								render/egl: only request high priority context on DRM  
							
							
							
						 
						
							2018-06-08 00:17:45 +01: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  
				
					
						
							
							
								 
						
							
								21928cbe61 
								
							 
						 
						
							
							
								
								Merge branch 'master' into screencontent  
							
							
							
						 
						
							2018-05-31 12:33:27 +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  
				
					
						
							
							
								 
						
							
								5ba1a9af56 
								
							 
						 
						
							
							
								
								render: add wlr_texture_to_dmabuf  
							
							
							
						 
						
							2018-05-29 18:47:17 +01: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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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