From dd9397473a42d3929d39b82ac4ddf7e956d1e502 Mon Sep 17 00:00:00 2001 From: kd-11 <15904127+kd-11@users.noreply.github.com> Date: Wed, 13 May 2020 00:36:55 +0300 Subject: [PATCH] vk: Remove deprecated enum VK_DYNAMIC_STATE_RANGE_SIZE (#8202) --- rpcs3/Emu/RSX/VK/VKProgramBuffer.h | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/rpcs3/Emu/RSX/VK/VKProgramBuffer.h b/rpcs3/Emu/RSX/VK/VKProgramBuffer.h index f2159d47dd..5bea8e9ceb 100644 --- a/rpcs3/Emu/RSX/VK/VKProgramBuffer.h +++ b/rpcs3/Emu/RSX/VK/VKProgramBuffer.h @@ -120,24 +120,25 @@ struct VKTraits shader_stages[1].module = fragmentProgramData.handle; shader_stages[1].pName = "main"; - VkDynamicState dynamic_state_descriptors[VK_DYNAMIC_STATE_RANGE_SIZE] = {}; - VkPipelineDynamicStateCreateInfo dynamic_state_info = {}; - dynamic_state_info.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; - dynamic_state_descriptors[dynamic_state_info.dynamicStateCount++] = VK_DYNAMIC_STATE_VIEWPORT; - dynamic_state_descriptors[dynamic_state_info.dynamicStateCount++] = VK_DYNAMIC_STATE_SCISSOR; - dynamic_state_descriptors[dynamic_state_info.dynamicStateCount++] = VK_DYNAMIC_STATE_LINE_WIDTH; - dynamic_state_descriptors[dynamic_state_info.dynamicStateCount++] = VK_DYNAMIC_STATE_BLEND_CONSTANTS; - dynamic_state_descriptors[dynamic_state_info.dynamicStateCount++] = VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK; - dynamic_state_descriptors[dynamic_state_info.dynamicStateCount++] = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK; - dynamic_state_descriptors[dynamic_state_info.dynamicStateCount++] = VK_DYNAMIC_STATE_STENCIL_REFERENCE; - dynamic_state_descriptors[dynamic_state_info.dynamicStateCount++] = VK_DYNAMIC_STATE_DEPTH_BIAS; + std::vector dynamic_state_descriptors; + dynamic_state_descriptors.push_back(VK_DYNAMIC_STATE_VIEWPORT); + dynamic_state_descriptors.push_back(VK_DYNAMIC_STATE_SCISSOR); + dynamic_state_descriptors.push_back(VK_DYNAMIC_STATE_LINE_WIDTH); + dynamic_state_descriptors.push_back(VK_DYNAMIC_STATE_BLEND_CONSTANTS); + dynamic_state_descriptors.push_back(VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK); + dynamic_state_descriptors.push_back(VK_DYNAMIC_STATE_STENCIL_WRITE_MASK); + dynamic_state_descriptors.push_back(VK_DYNAMIC_STATE_STENCIL_REFERENCE); + dynamic_state_descriptors.push_back(VK_DYNAMIC_STATE_DEPTH_BIAS); if (vk::get_current_renderer()->get_depth_bounds_support()) { - dynamic_state_descriptors[dynamic_state_info.dynamicStateCount++] = VK_DYNAMIC_STATE_DEPTH_BOUNDS; + dynamic_state_descriptors.push_back(VK_DYNAMIC_STATE_DEPTH_BOUNDS); } - dynamic_state_info.pDynamicStates = dynamic_state_descriptors; + VkPipelineDynamicStateCreateInfo dynamic_state_info = {}; + dynamic_state_info.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; + dynamic_state_info.pDynamicStates = dynamic_state_descriptors.data(); + dynamic_state_info.dynamicStateCount = ::size32(dynamic_state_descriptors); VkPipelineVertexInputStateCreateInfo vi = { VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO };