mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-10 00:41:26 +12:00
vk: Properly fix dynamic state descriptors
This commit is contained in:
parent
ed82288c1b
commit
cc723ed45c
2 changed files with 9 additions and 10 deletions
|
@ -164,7 +164,7 @@ namespace vk
|
||||||
return fs_inputs;
|
return fs_inputs;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void get_dynamic_state_entries(VkDynamicState* /*state_descriptors*/, VkPipelineDynamicStateCreateInfo& /*info*/)
|
virtual void get_dynamic_state_entries(std::vector<VkDynamicState>& /*state_descriptors*/)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
virtual std::vector<VkPushConstantRange> get_push_constants()
|
virtual std::vector<VkPushConstantRange> get_push_constants()
|
||||||
|
@ -207,15 +207,14 @@ namespace vk
|
||||||
shader_stages[1].module = m_fragment_shader.get_handle();
|
shader_stages[1].module = m_fragment_shader.get_handle();
|
||||||
shader_stages[1].pName = "main";
|
shader_stages[1].pName = "main";
|
||||||
|
|
||||||
|
|
||||||
std::vector<VkDynamicState> dynamic_state_descriptors;
|
std::vector<VkDynamicState> dynamic_state_descriptors;
|
||||||
VkPipelineDynamicStateCreateInfo dynamic_state_info = {};
|
|
||||||
dynamic_state_info.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
|
|
||||||
dynamic_state_descriptors.push_back(VK_DYNAMIC_STATE_VIEWPORT);
|
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_SCISSOR);
|
||||||
dynamic_state_info.dynamicStateCount = ::size32(dynamic_state_descriptors);
|
get_dynamic_state_entries(dynamic_state_descriptors);
|
||||||
|
|
||||||
get_dynamic_state_entries(dynamic_state_descriptors.data(), dynamic_state_info);
|
VkPipelineDynamicStateCreateInfo dynamic_state_info = {};
|
||||||
|
dynamic_state_info.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
|
||||||
|
dynamic_state_info.dynamicStateCount = ::size32(dynamic_state_descriptors);
|
||||||
dynamic_state_info.pDynamicStates = dynamic_state_descriptors.data();
|
dynamic_state_info.pDynamicStates = dynamic_state_descriptors.data();
|
||||||
|
|
||||||
VkVertexInputBindingDescription vb = { 0, 16, VK_VERTEX_INPUT_RATE_VERTEX };
|
VkVertexInputBindingDescription vb = { 0, 16, VK_VERTEX_INPUT_RATE_VERTEX };
|
||||||
|
|
|
@ -342,9 +342,9 @@ namespace vk
|
||||||
{"usampler2DMS fs0"});
|
{"usampler2DMS fs0"});
|
||||||
}
|
}
|
||||||
|
|
||||||
void get_dynamic_state_entries(VkDynamicState* state_descriptors, VkPipelineDynamicStateCreateInfo& info) override
|
void get_dynamic_state_entries(std::vector<VkDynamicState>& state_descriptors) override
|
||||||
{
|
{
|
||||||
state_descriptors[info.dynamicStateCount++] = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK;
|
state_descriptors.push_back(VK_DYNAMIC_STATE_STENCIL_WRITE_MASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
void emit_geometry(vk::command_buffer& cmd) override
|
void emit_geometry(vk::command_buffer& cmd) override
|
||||||
|
@ -407,9 +407,9 @@ namespace vk
|
||||||
{ "usampler2D fs0" });
|
{ "usampler2D fs0" });
|
||||||
}
|
}
|
||||||
|
|
||||||
void get_dynamic_state_entries(VkDynamicState* state_descriptors, VkPipelineDynamicStateCreateInfo& info) override
|
void get_dynamic_state_entries(std::vector<VkDynamicState>& state_descriptors) override
|
||||||
{
|
{
|
||||||
state_descriptors[info.dynamicStateCount++] = VK_DYNAMIC_STATE_STENCIL_WRITE_MASK;
|
state_descriptors.push_back(VK_DYNAMIC_STATE_STENCIL_WRITE_MASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
void emit_geometry(vk::command_buffer& cmd) override
|
void emit_geometry(vk::command_buffer& cmd) override
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue