Browse Source

[vulkan] Removed dynamic culling mode/ front face.

vkexperiments1
CamilleLaVey 7 days ago
parent
commit
a02e8a5679
  1. 9
      src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
  2. 4
      src/video_core/renderer_vulkan/vk_rasterizer.cpp

9
src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp

@ -576,12 +576,7 @@ void GraphicsPipeline::ConfigureDraw(const RescalingPushConstant& rescaling,
}
void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) {
FixedPipelineState::DynamicState dynamic{};
if (!key.state.extended_dynamic_state) {
dynamic = key.state.dynamic_state;
} else {
dynamic.raw1 = key.state.dynamic_state.raw1;
}
const FixedPipelineState::DynamicState dynamic{key.state.dynamic_state};
static_vector<VkVertexInputBindingDescription, 32> vertex_bindings;
static_vector<VkVertexInputBindingDivisorDescriptionEXT, 32> vertex_binding_divisors;
static_vector<VkVertexInputAttributeDescription, 32> vertex_attributes;
@ -906,8 +901,6 @@ void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) {
}
if (key.state.extended_dynamic_state) {
static constexpr std::array extended{
VK_DYNAMIC_STATE_CULL_MODE_EXT,
VK_DYNAMIC_STATE_FRONT_FACE_EXT,
VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT,
VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT,
VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT,

4
src/video_core/renderer_vulkan/vk_rasterizer.cpp

@ -1078,11 +1078,9 @@ void RasterizerVulkan::UpdateDynamicStates() {
UpdateLineWidth(regs);
UpdateLineStipple(regs);
// EDS1: CullMode, DepthCompare, FrontFace, StencilOp, DepthBoundsTest, DepthTest, DepthWrite, StencilTest
// EDS1: DepthCompare, StencilOp, DepthBoundsTest, DepthTest, DepthWrite, StencilTest
if (device.IsExtExtendedDynamicStateSupported() && pipeline && pipeline->UsesExtendedDynamicState()) {
UpdateCullMode(regs);
UpdateDepthCompareOp(regs);
UpdateFrontFace(regs);
UpdateStencilOp(regs);
if (state_tracker.TouchStateEnable()) {
UpdateDepthBoundsTestEnable(regs);

Loading…
Cancel
Save