forked from eden-emu/eden
		
	Vulkan: Fix drivers that don't support dynamic_state_2 up
This commit is contained in:
		
							parent
							
								
									0415135f8c
								
							
						
					
					
						commit
						660ea18f85
					
				
					 2 changed files with 11 additions and 8 deletions
				
			
		|  | @ -148,7 +148,7 @@ void FixedPipelineState::Refresh(Tegra::Engines::Maxwell3D& maxwell3d, DynamicFe | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
|     if (!extended_dynamic_state_2_extra) { |     if (!extended_dynamic_state_2_extra) { | ||||||
|         dynamic_state.Refresh2(regs, topology, extended_dynamic_state_2); |         dynamic_state.Refresh2(regs, topology_, extended_dynamic_state_2); | ||||||
|     } |     } | ||||||
|     if (!extended_dynamic_state_3_blend) { |     if (!extended_dynamic_state_3_blend) { | ||||||
|         if (maxwell3d.dirty.flags[Dirty::Blending]) { |         if (maxwell3d.dirty.flags[Dirty::Blending]) { | ||||||
|  |  | ||||||
|  | @ -644,12 +644,15 @@ void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) { | ||||||
|         .pNext = nullptr, |         .pNext = nullptr, | ||||||
|         .flags = 0, |         .flags = 0, | ||||||
|         .topology = input_assembly_topology, |         .topology = input_assembly_topology, | ||||||
|         .primitiveRestartEnable = dynamic.primitive_restart_enable != 0 && |         .primitiveRestartEnable = | ||||||
|                                   ((input_assembly_topology != VK_PRIMITIVE_TOPOLOGY_PATCH_LIST && |             dynamic.primitive_restart_enable != 0 && | ||||||
|                                     device.IsTopologyListPrimitiveRestartSupported()) || |                     ((input_assembly_topology != VK_PRIMITIVE_TOPOLOGY_PATCH_LIST && | ||||||
|                                    SupportsPrimitiveRestart(input_assembly_topology) || |                       device.IsTopologyListPrimitiveRestartSupported()) || | ||||||
|                                    (input_assembly_topology == VK_PRIMITIVE_TOPOLOGY_PATCH_LIST && |                      SupportsPrimitiveRestart(input_assembly_topology) || | ||||||
|                                     device.IsPatchListPrimitiveRestartSupported())), |                      (input_assembly_topology == VK_PRIMITIVE_TOPOLOGY_PATCH_LIST && | ||||||
|  |                       device.IsPatchListPrimitiveRestartSupported())) | ||||||
|  |                 ? VK_TRUE | ||||||
|  |                 : VK_FALSE, | ||||||
|     }; |     }; | ||||||
|     const VkPipelineTessellationStateCreateInfo tessellation_ci{ |     const VkPipelineTessellationStateCreateInfo tessellation_ci{ | ||||||
|         .sType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO, |         .sType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO, | ||||||
|  | @ -699,7 +702,7 @@ void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) { | ||||||
|         .cullMode = static_cast<VkCullModeFlags>( |         .cullMode = static_cast<VkCullModeFlags>( | ||||||
|             dynamic.cull_enable ? MaxwellToVK::CullFace(dynamic.CullFace()) : VK_CULL_MODE_NONE), |             dynamic.cull_enable ? MaxwellToVK::CullFace(dynamic.CullFace()) : VK_CULL_MODE_NONE), | ||||||
|         .frontFace = MaxwellToVK::FrontFace(dynamic.FrontFace()), |         .frontFace = MaxwellToVK::FrontFace(dynamic.FrontFace()), | ||||||
|         .depthBiasEnable = (dynamic.depth_bias_enable == 0 ? VK_TRUE : VK_FALSE), |         .depthBiasEnable = (dynamic.depth_bias_enable != 0 ? VK_TRUE : VK_FALSE), | ||||||
|         .depthBiasConstantFactor = 0.0f, |         .depthBiasConstantFactor = 0.0f, | ||||||
|         .depthBiasClamp = 0.0f, |         .depthBiasClamp = 0.0f, | ||||||
|         .depthBiasSlopeFactor = 0.0f, |         .depthBiasSlopeFactor = 0.0f, | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Fernando Sahmkow
						Fernando Sahmkow