2585f322cb 
								
									
								
							
								 
							
						 
						
							
							
								
								render/gles2: fix EGL use-after-free  
							
							... 
							
							
 
							
							The wlr_egl was cleaned up too early.
While at it, also fix a memory leak.
Fixes: b899a412e3 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								b899a412e3 
								
							
								 
							
						 
						
							
							
								
								backend: remove wlr_egl from all backends  
							
							
 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								3fd8098881 
								
									
								
							
								 
							
						 
						
							
							
								
								render/gles2: require GL_EXT_unpack_subimage  
							
							... 
							
							
 
							
							We implicitly depended on this extension. 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								f91e89fd9f 
								
							
								 
							
						 
						
							
							
								
								render/gles2: query alpha size from render buffer  
							
							... 
							
							
 
							
							If we're using a render buffer, query the alpha size from it.
Closes: https://github.com/swaywm/wlroots/issues/2527  
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								be8403e73d 
								
							
								 
							
						 
						
							
							
								
								render/gles2: don't eglGetConfigAttrib on EGL_NO_CONFIG_KHR  
							
							... 
							
							
 
							
							If we don't have an EGL config, don't try to query anything from it. 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								c94ab99ae2 
								
							
								 
							
						 
						
							
							
								
								render: rename wlr_renderer_get_formats  
							
							... 
							
							
 
							
							Rename wlr_renderer_get_formats to wlr_renderer_get_shm_texture_formats.
This makes it clear those formats are only suitable for shm import. 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								49115e9d5d 
								
							
								 
							
						 
						
							
							
								
								render: rename wlr_renderer_get_dmabuf_formats  
							
							... 
							
							
 
							
							Rename wlr_renderer_get_dmabuf_formats to
wlr_renderer_get_dmabuf_texture_formats. This makes it clear the formats
are only suitable for creating wlr_textures. 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								5d008d9030 
								
							
								 
							
						 
						
							
							
								
								render: introduce wlr_renderer_get_dmabuf_render_formats  
							
							... 
							
							
 
							
							It describes which DMA-BUF formats can be used to render. 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								61612ecb36 
								
							
								 
							
						 
						
							
							
								
								render: remove wlr_renderer_format_supported  
							
							... 
							
							
 
							
							Instead, callers can just use wlr_renderer_get_formats and iterate over
the list.
This function was unused in wlroots. 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								eb8360bda3 
								
							
								 
							
						 
						
							
							
								
								render: introduce wlr_renderer_get_drm_fd  
							
							
 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								1245730ea2 
								
							
								 
							
						 
						
							
							
								
								render/gles2: fix y-inverted output when rendering to buffer  
							
							
 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								6136fe87d1 
								
							
								 
							
						 
						
							
							
								
								render/gles2: implement wlr_renderer_bind_buffer  
							
							
 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								1dbcfdaf81 
								
							
								 
							
						 
						
							
							
								
								render/gles2: remove gles2_procs  
							
							... 
							
							
 
							
							Move the global into wlr_gles2_renderer. This removes global state and
allows us to have multiple renderers with different GL loaders. 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								62da61716f 
								
							
								 
							
						 
						
							
							
								
								render/gles2: make push/pop debug functions take a wlr_renderer  
							
							
 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								e8872d9ed7 
								
							
								 
							
						 
						
							
							
								
								render/gles2: keep ref to wlr_gles2_renderer in wlr_gles2_texture  
							
							
 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								26af316b3b 
								
							
								 
							
						 
						
							
							
								
								render/gles2: make wlr_gles2_texture_from_* private  
							
							... 
							
							
 
							
							These functions are unused by compositors (see e.g. [1]) and prevent
wlr_gles2_texture from accessing wlr_gles2_renderer state. This is an
issue for proper teardown [2] and for accessing GLES2 extensions.
[1]: https://github.com/swaywm/wlroots/pull/1962#issuecomment-569511830 
[2]: https://github.com/swaywm/wlroots/pull/1962  
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								e05a85327f 
								
							
								 
							
						 
						
							
							
								
								render: gles2: Fix y-inversion in gles2_blit_dmabuf()  
							
							
 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								4a4da256dd 
								
							
								 
							
						 
						
							
							
								
								render/gles2: use glGetAttribLocation instead of hardcoded indices  
							
							
 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								315bf08733 
								
							
								 
							
						 
						
							
							
								
								render: add wlr_render_subtexture_with_matrix  
							
							... 
							
							
 
							
							This renders only a subset of the texture, instead of the full texture. 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								5118189a2b 
								
							
								 
							
						 
						
							
							
								
								render/gles2: use .x/.y instead of .s/.t  
							
							... 
							
							
 
							
							texcoord is a vector of coordinates, with the first member being the X
axis value and the second member being the Y axis value. It makes more
sense to use the accessors with the same names. 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								78d6eed6b3 
								
							
								 
							
						 
						
							
							
								
								render: Fix blit_dmabuf() breakage due to API change  
							
							
 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								b64a8a7f98 
								
							
								 
							
						 
						
							
							
								
								render: Add wlr_renderer_blit_dmabuf()  
							
							
 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								a3ba82885c 
								
							
								 
							
						 
						
							
							
								
								render: choose DMA-BUF texture target via eglQueryDmaBufModifiersEXT  
							
							... 
							
							
 
							
							EGL_EXT_image_dma_buf_import_modifiers tells us whether we should use
GL_TEXTURE_2D or GL_TEXTURE_EXTERNAL_OES. Using the right texture target
can fix some failures and/or improve performance on some drivers.
This does the same as a Weston commit [1].
[1]: https://gitlab.freedesktop.org/wayland/weston/commit/40c519a3e613 
Closes: https://github.com/swaywm/wlroots/issues/2173  
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								e91417ea8d 
								
							
								 
							
						 
						
							
							
								
								render: stop making EGL context current in wlr_egl_init  
							
							... 
							
							
 
							
							This leaves an EGL context current behind. wlr_gles2_renderer_create was
assuming the EGL context was already current because of this (because it
called a GL function right off the bat). 
							
						 
						
							5 years ago  
				
					
						
							
							
								 
						
							
							
								1edc42157b 
								
							
								 
							
						 
						
							
							
								
								render/egl: introduce wlr_egl_unset_current  
							
							... 
							
							
 
							
							This function can be called after wlr_egl_make_current to cleanup the
EGL context. This avoids having lingering EGL contexts that make things
work by chance.
Closes: https://github.com/swaywm/wlroots/issues/2197  
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								06f4c3945d 
								
							
								 
							
						 
						
							
							
								
								render/texture: add width and height fields  
							
							... 
							
							
 
							
							Instead of requiring compositors to call wlr_texture_get_size each time
they want to access the texture's size, expose this information as
wlr_texture fields. 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								5dc3a9c754 
								
							
								 
							
						 
						
							
							
								
								render/gles2: add wlr_gles2_renderer_check_ext  
							
							
 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								d10f8a98ec 
								
							
								 
							
						 
						
							
							
								
								render: only expose linux-dmabuf if EGL extension is supported  
							
							... 
							
							
 
							
							Only expose linux-dmabuf extension if EGL_EXT_image_dmabuf_import_ext is
supported.
Closes: https://github.com/swaywm/wlroots/issues/2076  
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								4a1015faff 
								
							
								 
							
						 
						
							
							
								
								render/gles2: only call wlr_egl_bind_display if supported  
							
							... 
							
							
 
							
							This allows us to hard-fail if the extension is advertised but we fail
to enable it. 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								c682d97841 
								
							
								 
							
						 
						
							
							
								
								Return failure of wlr_renderer_init_wl_display()  
							
							... 
							
							
 
							
							This makes it easier for the user of this library to properly handle
failure of this function.
The signature of wlr_renderer_impl.init_wl_display was also modified to
allow for proper error propagation. 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								a71649dde9 
								
							
								 
							
						 
						
							
							
								
								render/gles2: remove duplicated format list  
							
							
 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								6d3f3b9300 
								
							
								 
							
						 
						
							
							
								
								render/gles2: unbind textures after use  
							
							... 
							
							
 
							
							Keeping textures bound results in hard-to-debug situations where some GL
operations incorrectly affect the texture. 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								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 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								5df606d8ab 
								
							
								 
							
						 
						
							
							
								
								render/gles2: do not set GL_TEXTURE_MAG_FILTER  
							
							
 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								4c9423278a 
								
							
								 
							
						 
						
							
							
								
								Introduce wlr_renderer_get_egl  
							
							
 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								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) 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								734c64a6cc 
								
							
								 
							
						 
						
							
							
								
								render/gles2: fix calculation for partial gles2 pixel read ( #1809 )  
							
							
 
							
						 
						
							6 years ago  
				
					
						
							
							
								 
						
							
							
								107a1789ea 
								
							
								 
							
						 
						
							
							
								
								render/gles2: print GL_RENDERER  
							
							... 
							
							
 
							
							This is often the name of the GPU and can help debugging graphics issues. 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								e42178d03f 
								
									
								
							
								 
							
						 
						
							
							
								
								render: switch wlr_renderer to wlr_drm_format_set  
							
							
 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								5445d8aad0 
								
							
								 
							
						 
						
							
							
								
								meson: enable more compiler warnings  
							
							
 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								75371d2c88 
								
									
								
							
								 
							
						 
						
							
							
								
								Require libdrm >= 2.4.95  
							
							
 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								9af0c5338f 
								
									
								
							
								 
							
						 
						
							
							
								
								Standardize the wlr_box input paramaters  
							
							... 
							
							
 
							
							Fixes  #1094  
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								d592dcdedd 
								
									
								
							
								 
							
						 
						
							
							
								
								render/gles2: check for GL_OES_EGL_image_external  
							
							
 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								cb03a41a3b 
								
							
								 
							
						 
						
							
							
								
								Use enum wl_shm_format for gles2 texture formats  
							
							... 
							
							
 
							
							Also rephrase the write_pixels comment. 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								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  
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								b902c2bd7c 
								
							
								 
							
						 
						
							
							
								
								Revert "Move side-effect out of assert statement"  
							
							... 
							
							
 
							
							This reverts commit a0afedcd8f 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								a0afedcd8f 
								
							
								 
							
						 
						
							
							
								
								Move side-effect out of assert statement  
							
							
 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								c4915d1492 
								
							
								 
							
						 
						
							
							
								
								render: add wlr_texture_is_opaque  
							
							
 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								7cbef15206 
								
									
								
							
								 
							
						 
						
							
							
								
								util: add wlr_ prefix to log symbols  
							
							
 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								cc9b198f9e 
								
									
								
							
								 
							
						 
						
							
							
								
								render/gles2: ditch extra parens  
							
							
 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								bf7560b7cd 
								
									
								
							
								 
							
						 
						
							
							
								
								screencopy: add capture_output_region support  
							
							
 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								2b9cbaddf3 
								
									
								
							
								 
							
						 
						
							
							
								
								screencopy: add support for frame flags  
							
							
 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								57548b557a 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into screencontent  
							
							
 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								d643361c48 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #1047  from NotKit/gles2fix  
							
							... 
							
							
 
							
							Fix GLES2 renderer to use glGetUniformLocations locations 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								6f29db1044 
								
							
								 
							
						 
						
							
							
								
								gles2 renderer: introduce struct wlr_gles2_tex_shader  
							
							
 
							
						 
						
							7 years ago  
				
					
						
							
							
								 
						
							
							
								f1a62a3200 
								
							
								 
							
						 
						
							
							
								
								Rename egl.exts to match the extension names  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								457bfcab19 
								
									
								
							
								 
							
						 
						
							
							
								
								render/egl: only request high priority context on DRM  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								de91c55ea9 
								
							
								 
							
						 
						
							
							
								
								Fix GLES2 renderer to use glGetUniformLocations locations  
							
							... 
							
							
 
							
							This is needed as uniform locations are driver implementation-specific. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								6b7a55aa3d 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #1020  from emersion/remove-check-dmabuf  
							
							... 
							
							
 
							
							render: remove wlr_renderer_check_import_dmabuf 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								21928cbe61 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into screencontent  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								d1cf9acbd5 
								
							
								 
							
						 
						
							
							
								
								cleanup: Use void for zero-parameter functions  
							
							... 
							
							
 
							
							Signed-off-by: Genki Sky <sky@genki.is> 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								28020ff577 
								
									
								
							
								 
							
						 
						
							
							
								
								Only allow one modifier per DMA-BUF, split attributes struct in render/  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								5ba1a9af56 
								
									
								
							
								 
							
						 
						
							
							
								
								render: add wlr_texture_to_dmabuf  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								41130fe54b 
								
									
								
							
								 
							
						 
						
							
							
								
								render: bind wl_drm in renderer  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								47ffd0e184 
								
							
								 
							
						 
						
							
							
								
								gles2: pre-multiply alpha and fix blending function  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								35e83800d4 
								
							
								 
							
						 
						
							
							
								
								Fix alpha for src_rgba and src_rgbx  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								71ca45e2c0 
								
									
								
							
								 
							
						 
						
							
							
								
								Make sure we don't use others' prefixes  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								018b82c01e 
								
									
								
							
								 
							
						 
						
							
							
								
								render/egl: allow passing NULL to surface and image destructors  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								1b802d9251 
								
									
								
							
								 
							
						 
						
							
							
								
								Make wlr_renderer_scissor take normal coords instead of upside-down ones  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								d2ebbd103c 
								
									
								
							
								 
							
						 
						
							
							
								
								backend: remove wlr_backend_get_egl  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								f3f61bed3e 
								
									
								
							
								 
							
						 
						
							
							
								
								Untie wlr_gles2_renderer and wlr_gles2_texture  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								33a2eb4b77 
								
									
								
							
								 
							
						 
						
							
							
								
								Untie wlr_backend from wlr_renderer  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								23d357e371 
								
							
								 
							
						 
						
							
							
								
								Downgrade gles2 messages to L_DEBUG  
							
							... 
							
							
 
							
							L_INFO is for stuff that's useful to the user 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								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); 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								330ee08126 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #744  from emersion/texture-redesign  
							
							... 
							
							
 
							
							Redesign wlr_texture 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								c42fd1018b 
								
									
								
							
								 
							
						 
						
							
							
								
								render: remove GL calls from wlr_egl  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								adf4fb08dd 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into texture-redesign  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								793c3b3047 
								
									
								
							
								 
							
						 
						
							
							
								
								render: add simple functions to render rectangles and ellipses  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								b1852096c5 
								
							
								 
							
						 
						
							
							
								
								linux-dmabuf: Support multi plane formats like NV12  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								a854c2f246 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into gles2-renderer-redesign  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								b1f93bc5cc 
								
									
								
							
								 
							
						 
						
							
							
								
								render/egl: use EGL_KHR_debug  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								8207f0f081 
								
									
								
							
								 
							
						 
						
							
							
								
								render/gles2: use gles2_pixel_format::has_alpha for shader selection  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								cc5ef1d2ff 
								
									
								
							
								 
							
						 
						
							
							
								
								render/gles2: move list of supported WL formats to pixel_format.c  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								3581573bdc 
								
									
								
							
								 
							
						 
						
							
							
								
								render/gles2: make wlr_renderer_begin take viewport size  
							
							... 
							
							
 
							
							This allows raw GL calls outside wlr_renderer to be removed. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								95e86e675a 
								
									
								
							
								 
							
						 
						
							
							
								
								render/gles2: remove global state, use OpenGL debug extension  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								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 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								13e4ba4867 
								
							
								 
							
						 
						
							
							
								
								gles2_texture_bind: use texture's target type  
							
							... 
							
							
 
							
							Hardcoding GL_TEXTURE_2D leads to rendering errors when using
GL_TEXTURE_EXTERNAL_OES textures. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								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. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								c41de2d1be 
								
									
								
							
								 
							
						 
						
							
							
								
								render: split render.h into wlr_renderer.h and wlr_texture.h  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								6ecb0eefcb 
								
									
								
							
								 
							
						 
						
							
							
								
								render/gles2: transpose matrices before binding them  
							
							... 
							
							
 
							
							Setting glUniformMatrix3fv's transpose parameter to GL_TRUE is
not allowed for OpenGL ES 2.
This adds a wlr_matrix_transpose function. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								1956d3cedb 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #722  from emersion/matrix-redesign  
							
							... 
							
							
 
							
							Matrix redesign 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								f1cbbac636 
								
									
								
							
								 
							
						 
						
							
							
								
								render/gles2: remove matrix transposition in shaders  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								876f07e9f1 
								
									
								
							
								 
							
						 
						
							
							
								
								renderer: replace wlr_texture_get_matrix by wlr_render_texture  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								0e253e0615 
								
									
								
							
								 
							
						 
						
							
							
								
								render/gles2: don't set inverted_y when EGL_WAYLAND_Y_INVERTED_WL is unsupported  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								8b58e1a3ad 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into matrix-redesign  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								824a95ad19 
								
									
								
							
								 
							
						 
						
							
							
								
								matrix: use 2D matrices  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								653bc282a7 
								
							
								 
							
						 
						
							
							
								
								Indent GLSL by two spaces  
							
							... 
							
							
 
							
							since this is the most established indentation 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								14cdb6153f 
								
							
								 
							
						 
						
							
							
								
								Add initial linux_dmabuf protocol support  
							
							... 
							
							
 
							
							Tested with
    ./weston-simple-dmabuf-drm
    ./weston-simple-dmabuf-drm --import-immediate=1
    ./weston-simple-dmabuf-drm --y-inverted=1
    (and combinations)
Supports only single plane XRGB dmabufs for now. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								d26b67cb06 
								
									
								
							
								 
							
						 
						
							
							
								
								matrix: unify API, don't use array pointers  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								b6a3f240c7 
								
									
								
							
								 
							
						 
						
							
							
								
								matrix: move to types/  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								2d0db16942 
								
							
								 
							
						 
						
							
							
								
								render: Flip textures in case of inverted_y  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								2dc8a35db2 
								
							
								 
							
						 
						
							
							
								
								textures: tell us which texture format is unsupported  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								d08792bfff 
								
							
								 
							
						 
						
							
							
								
								Add alpha to wlr_render_with_matrix  
							
							... 
							
							
 
							
							so we can use the alpha channel to e.g. blend in textures 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								1d9be89e2d 
								
									
								
							
								 
							
						 
						
							
							
								
								Revert "ELF Visibility"  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								86269052eb 
								
							
								 
							
						 
						
							
							
								
								Explicitly export EFL symbols  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								c2e1474010 
								
									
								
							
								 
							
						 
						
							
							
								
								Reformat all #include directives  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								36ead80cd1 
								
									
								
							
								 
							
						 
						
							
							
								
								Make wlr_signal_emit_safe private  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								5e58d46cc1 
								
									
								
							
								 
							
						 
						
							
							
								
								Add wlr_signal_emit_safe  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								ddb1779f9f 
								
									
								
							
								 
							
						 
						
							
							
								
								render: make wlr_renderer_clear take a float[4] for the color  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								51c22d39a4 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge remote-tracking branch 'upstream/master' into output-damage  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								ed5b1fdedd 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #580  from emersion/screenshooter-renderer-backport  
							
							... 
							
							
 
							
							Backport screenshooter fixes from the renderer redesign v1 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								f34a1b75eb 
								
									
								
							
								 
							
						 
						
							
							
								
								render/gles2: use format bpp when reading pixels  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								6281deb90f 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge remote-tracking branch 'upstream/master' into output-damage  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								4fa90b0511 
								
									
								
							
								 
							
						 
						
							
							
								
								Backport screenshooter fixes from the renderer redesign v1  
							
							... 
							
							
 
							
							This backports some changes to #319  to fix the screenshooter data
format. This also adds wlr_backend_get_renderer which will be
useful to support multiple renderers. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								415a2b7c56 
								
									
								
							
								 
							
						 
						
							
							
								
								render: add wlr_renderer_clear and wlr_renderer_scissor  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								a0f24b809e 
								
									
								
							
								 
							
						 
						
							
							
								
								output: add damage event  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								5017d7f762 
								
									
								
							
								 
							
						 
						
							
							
								
								rootston: only draw damaged regions  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								3751a17321 
								
							
								 
							
						 
						
							
							
								
								decorate xwayland views  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								bc113c16aa 
								
							
								 
							
						 
						
							
							
								
								Use correct include path for glapi.h  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								37b8a096a9 
								
							
								 
							
						 
						
							
							
								
								Pass backend to render  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								9b984253e2 
								
							
								 
							
						 
						
							
							
								
								Move egl.h to render/egl.h  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								9e1ff2dce9 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #140  from emersion/screenshooter  
							
							... 
							
							
 
							
							Add screenshooter 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								c0e5feea37 
								
							
								 
							
						 
						
							
							
								
								Add GL/EGL extension loader generator  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								0ce3135304 
								
									
								
							
								 
							
						 
						
							
							
								
								Move read_pixels from output to renderer  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								c5df6ca900 
								
							
								 
							
						 
						
							
							
								
								Fix memory leaks  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								009c3747a8 
								
							
								 
							
						 
						
							
							
								
								Multi-GPU DRM  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								220a6e9bf6 
								
							
								 
							
						 
						
							
							
								
								Add xwayland activate and fix EGL bug  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								f24b3df980 
								
							
								 
							
						 
						
							
							
								
								wlr renderer/texture: rename init to create when it does alloc  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								27c13d621d 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #88  from 4e554c4c/alloc_crashing  
							
							... 
							
							
 
							
							Prevent alloc errors from crashing 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								4f2b1cc930 
								
							
								 
							
						 
						
							
							
								
								implement get_buffer_size for egl buffers  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								72a33b736f 
								
							
								 
							
						 
						
							
							
								
								implement texture get buffer size  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								5cc7342606 
								
							
								 
							
						 
						
							
							
								
								Prevent alloc errors from crashing  
							
							... 
							
							
 
							
							Resolves  #76  
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								f998bb8299 
								
							
								 
							
						 
						
							
							
								
								Fix style issues  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								4bbf718e7d 
								
							
								 
							
						 
						
							
							
								
								impl->destroy cleanup:  
							
							... 
							
							
 
							
							- remove trivial destroy() function
 - make sure we check impl and impl->destroy before calling
 - always call free if not implemented 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								2facf1df65 
								
							
								 
							
						 
						
							
							
								
								Fix software cursors  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								de6f32c84e 
								
							
								 
							
						 
						
							
							
								
								Refactor away wlr_renderer_state  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								94e6e6334b 
								
							
								 
							
						 
						
							
							
								
								Refactor out wlr_texture_state  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								f066ff6d02 
								
							
								 
							
						 
						
							
							
								
								Fix external shader  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								2d6d2bcef9 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #75  from nyorain/egl_image_leak  
							
							... 
							
							
 
							
							Fix egl image leak in gles renderer 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								862bc9783f 
								
							
								 
							
						 
						
							
							
								
								Fix egl image leak in gles renderer  
							
							
 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								c323bfc6a0 
								
							
								 
							
						 
						
							
							
								
								GLES2: detach and delete shaders after LinkProgram  
							
							... 
							
							
 
							
							Also make sure program linked correctly! 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								a6efb90382 
								
							
								 
							
						 
						
							
							
								
								s/gen/ensure/  fixes   #47  
							
							
 
							
						 
						
							8 years ago