56ec13596a 
								
							
								 
							
						 
						
							
							
								
								Cleanup wlr_matrix.h includes  
							
							... 
							
							
 
							
							Many files used to require wlr_matrix but no longer do. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								9e702e9cfe 
								
							
								 
							
						 
						
							
							
								
								util/transform: move over wl_output_transform helpers  
							
							... 
							
							
 
							
							These aren't really tied to wlr_output. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								41494244df 
								
							
								 
							
						 
						
							
							
								
								render: drop legacy rendering API  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								b2aac3390d 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: drop legacy rendering API  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								514caea437 
								
							
								 
							
						 
						
							
							
								
								render/pixman: drop legacy rendering API  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								4635717d82 
								
							
								 
							
						 
						
							
							
								
								render/gles2: drop legacy rendering API  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								40633ae7fd 
								
							
								 
							
						 
						
							
							
								
								render: drop legacy render pass  
							
							... 
							
							
 
							
							All built-in renderers now implement the new API. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								dbe7fb7027 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: undo alpha premult for 8-bpc ARGB/ABGR  
							
							... 
							
							
 
							
							When a texel from the Vulkan format VK_FORMAT_B8G8R8A8_SRGB is read,
the sRGB to linear conversion is applied independently to the R, G,
and B channels; the A channel has no influence on this. However,
DRM_FORMAT_ARGB8888 buffers are, per Wayland protocol, not encoded
in this fashion; one must first unpremultiply the color channels
before doing sRGB to linear conversion. This commit switches to
handling ARGB8888 and ABGR8888 formats using the general fragment
shader conversion from electrical to optical values. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								8ebfeffdc8 
								
							
								 
							
						 
						
							
							
								
								Remove unnecessary code  
							
							... 
							
							
 
							
							Not needs set GL_DEPTH_TEST, Because when rendering to a framebuffer
that has no depth buffer, depth testing always behaves as though
the test is disabled, The initial value for each capability with
the exception of GL_DITHER is GL_FALSE. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								3232697252 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: use VK_KHR_global_priority  
							
							... 
							
							
 
							
							References: #3386  
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								1c2f608331 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: remove unused queue_props in renderer  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								47bf87ade2 
								
							
								 
							
						 
						
							
							
								
								renderer/vulkan: don't add two alphas together in blend func  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								5adf325333 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: undo alpha premult before sRGB encoding/decoding  
							
							... 
							
							
 
							
							sRGB encoding/decoding needs to happen with straight alpha, not
pre-multiplied alpha. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								0b15b4a6ae 
								
							
								 
							
						 
						
							
							
								
								render/allocator: log message when GBM is disabled  
							
							... 
							
							
 
							
							When the backend and renderer would need GBM but it's disabled at
compile-time, log a message to make this situation easier to debug. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								db7751f39e 
								
							
								 
							
						 
						
							
							
								
								render: log error when requested renderer is compile-time disabled  
							
							... 
							
							
 
							
							It can be a bit confusing to debug when the user requests an
explicit renderer but it's disabled at build-time. Log an error
when that happens. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								e0adaaffb6 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: constrain blend to output subpass to redrawn region  
							
							... 
							
							
 
							
							This commit only applies to the render pass API. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								d817ebb80f 
								
							
								 
							
						 
						
							
							
								
								renderer: Don't crash when trying to fallback to pixman  
							
							... 
							
							
 
							
							Pixman won't be chosen by default if the system has a valid render node
but gles2 and vulkan creation failed. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								4f92ecde82 
								
							
								 
							
						 
						
							
							
								
								renderer_autocreate_with_drm_fd: Ensure fd isn't bogus  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								1b0694b794 
								
							
								 
							
						 
						
							
							
								
								treewide: Migrate from sizeof(struct) to sizeof(*pointer) where practical  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								98a745d926 
								
							
								 
							
						 
						
							
							
								
								render/pass: Remove empty box early return  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								e9706e62f5 
								
							
								 
							
						 
						
							
							
								
								renderer: Use wlr_render_rect_options_get_box  
							
							... 
							
							
 
							
							Fixes : #3697  
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								5299d973d5 
								
							
								 
							
						 
						
							
							
								
								render/pass: Introduce wlr_render_rect_options_get_box  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								5aea90264f 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: fix validation error with vkCmdBlitImage  
							
							... 
							
							
 
							
							Specfically, VUID-vkCmdBlitImage-srcImage-00247. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								65bbbbbf0c 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: de-duplicate VkImageUsageFlags  
							
							... 
							
							
 
							
							The flags passed to vkCreateImage() must match the flags used when
querying formats. Make this clearer by using the same variable. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								7bf6c1fc6c 
								
							
								 
							
						 
						
							
							
								
								render/pass: ensure rect has positive size  
							
							... 
							
							
 
							
							Ported from wlr_render_rect(). 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								a94168b5fe 
								
							
								 
							
						 
						
							
							
								
								render: ensure wlr_render_rect_options->box is nonempty  
							
							... 
							
							
 
							
							This optimization also fixes an validation error with the Vulkan
renderer by ensuring vkCmdClearAttachments does not receive empty
regions. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								11aba53ead 
								
							
								 
							
						 
						
							
							
								
								render: only open DRM render node if necessary  
							
							... 
							
							
 
							
							Only open a render node if we actually need one (ie, if we're about
to attempt GLES2 or Vulkan). 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								ce615a44c0 
								
							
								 
							
						 
						
							
							
								
								egl: Don't assume display is owned when KHR_display_reference is unsupported  
							
							... 
							
							
 
							
							We could potentially leak a display here, but not really because the
display acts as a singleton that will be returned next time a renderer
of the same device is created. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								91a1797a96 
								
							
								 
							
						 
						
							
							
								
								egl: Remove dead code  
							
							... 
							
							
 
							
							Display is always NULL here since egl_init is always last to be called. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								5f6912595e 
								
							
								 
							
						 
						
							
							
								
								renderer/vulkan: Defer device lost signal until end of pass  
							
							... 
							
							
 
							
							If the compositor were to try to handle a GPU reset within the lost
signal (by recreating the renderer) we should avoid referencing renderer
resources after the lost signal. This prevents use after free for such
compositors. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								664ec59095 
								
							
								 
							
						 
						
							
							
								
								renderer: Sanity check texture source bounds  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								c74f89d4f8 
								
							
								 
							
						 
						
							
							
								
								Avoid using memcpy() to copy structs  
							
							... 
							
							
 
							
							We can just use a regular assignment instead. This is more
type-safe since there is no need to provide the struct size.
The remaining memcpy() calls perform array copies or copies from
void pointers (which may be unaligned). 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								061f5fafbd 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: use renamed glslang binary by default  
							
							... 
							
							
 
							
							glslang 12.3.0 renamed glslangValidator to glslang,
use that by default and use the old name as a fallback.
References: https://github.com/KhronosGroup/glslang/blob/main/CHANGES.md?plain=1#L14  
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								1205f03ec9 
								
							
								 
							
						 
						
							
							
								
								render/gles2: wrap timer setup in push_gles2_debug()  
							
							... 
							
							
 
							
							With this, errors should be properly wrapped in the debug scope. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								b7dca21c2b 
								
							
								 
							
						 
						
							
							
								
								render: constify struct wlr_buffer_pass_options  
							
							... 
							
							
 
							
							Let's not allow renderer implementations to mutate the passed in
options. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								fe06e5f49a 
								
							
								 
							
						 
						
							
							
								
								Use wl_container_of() instead of casts  
							
							... 
							
							
 
							
							This slightly improves type safety.
The culprits were found with:
    git grep -E '\([a-z0-9_ ]+ \*\)\W?[a-z]' 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								c2c536de03 
								
							
								 
							
						 
						
							
							
								
								render/gles2: drop unnecessary cast  
							
							... 
							
							
 
							
							We can just refer to the struct field here. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								7a9f8d8d6b 
								
							
								 
							
						 
						
							
							
								
								Use struct initializers instead of memset()  
							
							... 
							
							
 
							
							This is a bit more type-safe. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								38d451bcb5 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: Don't compute texture.has_alpha until first...  
							
							... 
							
							
 
							
							...texture view is dynamically created 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								06c0b0a204 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: Initialize to fix compilation error  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								be73da28b2 
								
							
								 
							
						 
						
							
							
								
								allocator: only use DRM auth if we are master  
							
							... 
							
							
 
							
							Legacy DRM auth will only work if we are DRM master. Keep using an
unauthenticated DRM FD if we are not DRM master. This should be
enough for GBM.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3674  
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								2044cc2311 
								
							
								 
							
						 
						
							
							
								
								render: Introduce wlr_render_texture_options.blend_mode  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								693005ac99 
								
							
								 
							
						 
						
							
							
								
								pixman: Remove dead code  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								6bd44c4fcd 
								
							
								 
							
						 
						
							
							
								
								renderer: Introduce wlr_scale_filter_mode  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								3ee0f52e09 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: Dynamically create texture views  
							
							... 
							
							
 
							
							Now that we are dynamically creating pipeline layouts, we need separate
texture views for each pipeline layout we choose to use with a texture. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								7c5a3afd60 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: Inline init_sampler  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								8a387b5558 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: Dynamically create pipeline layouts  
							
							... 
							
							
 
							
							These will happen lazily when pipelines get created. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								3623005858 
								
							
								 
							
						 
						
							
							
								
								render/vulkan/pipeline_key: Add blending  
							
							... 
							
							
 
							
							This will become necessary when we switch away from scissoring. For the
time being, this cleans things up a bit and allows for a trivial
blending implementation for textures when that comes. 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								9d31372930 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: Handle quad pipeline through generic pipeline path  
							
							
 
							
						 
						
							2 years ago  
				
					
						
							
							
								 
						
							
							
								97fdd57eb2 
								
							
								 
							
						 
						
							
							
								
								render/vulkan: Dynamically handle pipeline creation for textures  
							
							... 
							
							
 
							
							If we ever wanted to handle dynamic state that requires new pipelines
such as using different texture filters those can be added here with more
ease. 
							
						 
						
							2 years ago