mirror of
				https://gitlab.freedesktop.org/wlroots/wlroots.git
				synced 2025-11-03 09:01:40 -05:00 
			
		
		
		
	render/vulkan: fix bound pipeline check for output_pipe
renderer->bound_pipe is legacy, pass->bound_pipeline is used for the render pass API code-path. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3657
This commit is contained in:
		
							parent
							
								
									1b947c08c6
								
							
						
					
					
						commit
						fd9e4b860f
					
				
					 1 changed files with 1 additions and 6 deletions
				
			
		| 
						 | 
					@ -82,12 +82,6 @@ static bool render_pass_submit(struct wlr_render_pass *wlr_pass) {
 | 
				
			||||||
		// Apply output shader to map blend image to actual output image
 | 
							// Apply output shader to map blend image to actual output image
 | 
				
			||||||
		vkCmdNextSubpass(render_cb->vk, VK_SUBPASS_CONTENTS_INLINE);
 | 
							vkCmdNextSubpass(render_cb->vk, VK_SUBPASS_CONTENTS_INLINE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		VkPipeline pipe = render_buffer->render_setup->output_pipe;
 | 
					 | 
				
			||||||
		if (pipe != renderer->bound_pipe) {
 | 
					 | 
				
			||||||
			vkCmdBindPipeline(render_cb->vk, VK_PIPELINE_BIND_POINT_GRAPHICS, pipe);
 | 
					 | 
				
			||||||
			renderer->bound_pipe = pipe;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		float final_matrix[9] = {
 | 
							float final_matrix[9] = {
 | 
				
			||||||
			renderer->render_width, 0, -1,
 | 
								renderer->render_width, 0, -1,
 | 
				
			||||||
			0, renderer->render_height, -1,
 | 
								0, renderer->render_height, -1,
 | 
				
			||||||
| 
						 | 
					@ -99,6 +93,7 @@ static bool render_pass_submit(struct wlr_render_pass *wlr_pass) {
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
		mat3_to_mat4(final_matrix, vert_pcr_data.mat4);
 | 
							mat3_to_mat4(final_matrix, vert_pcr_data.mat4);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							bind_pipeline(pass, render_buffer->render_setup->output_pipe);
 | 
				
			||||||
		vkCmdPushConstants(render_cb->vk, renderer->output_pipe_layout,
 | 
							vkCmdPushConstants(render_cb->vk, renderer->output_pipe_layout,
 | 
				
			||||||
			VK_SHADER_STAGE_VERTEX_BIT, 0, sizeof(vert_pcr_data), &vert_pcr_data);
 | 
								VK_SHADER_STAGE_VERTEX_BIT, 0, sizeof(vert_pcr_data), &vert_pcr_data);
 | 
				
			||||||
		vkCmdBindDescriptorSets(render_cb->vk,
 | 
							vkCmdBindDescriptorSets(render_cb->vk,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue