Browse Source

Yamero GIDOLY!!!!!!

qcomopts2
CamilleLaVey 1 month ago
parent
commit
7badde58b2
  1. 2
      src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
  2. 2
      src/video_core/renderer_vulkan/vk_rasterizer.cpp
  3. 4
      src/video_core/vulkan_common/vulkan_device.cpp
  4. 6
      src/video_core/vulkan_common/vulkan_device.h

2
src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp

@ -916,7 +916,7 @@ void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) {
} }
} }
if (device.IsExtProvokingVertexSupported()) {
if (device.IsExtProvokingVertexDynamicStateSupported()) {
dynamic_states.push_back(VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT); dynamic_states.push_back(VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT);
} }

2
src/video_core/renderer_vulkan/vk_rasterizer.cpp

@ -1042,7 +1042,7 @@ void RasterizerVulkan::UpdateDynamicStates() {
UpdateLogicOp(regs); UpdateLogicOp(regs);
} }
if (device.IsExtProvokingVertexSupported()) {
if (device.IsExtProvokingVertexDynamicStateSupported()) {
UpdateProvokingVertex(regs); UpdateProvokingVertex(regs);
} }

4
src/video_core/vulkan_common/vulkan_device.cpp

@ -1270,6 +1270,9 @@ void Device::RemoveUnsuitableExtensions() {
const bool supports_alpha_to_one = const bool supports_alpha_to_one =
features.extended_dynamic_state3.extendedDynamicState3AlphaToOneEnable && features.extended_dynamic_state3.extendedDynamicState3AlphaToOneEnable &&
features.features.alphaToOne; features.features.alphaToOne;
const bool supports_provoking_vertex_mode =
features.extended_dynamic_state3.extendedDynamicState3ProvokingVertexMode &&
extensions.provoking_vertex;
dynamic_state3_depth_clamp_enable = supports_depth_clamp_enable; dynamic_state3_depth_clamp_enable = supports_depth_clamp_enable;
dynamic_state3_logic_op_enable = supports_logic_op_enable; dynamic_state3_logic_op_enable = supports_logic_op_enable;
@ -1278,6 +1281,7 @@ void Device::RemoveUnsuitableExtensions() {
dynamic_state3_line_stipple_enable = supports_line_stipple_enable; dynamic_state3_line_stipple_enable = supports_line_stipple_enable;
dynamic_state3_alpha_to_coverage = supports_alpha_to_coverage; dynamic_state3_alpha_to_coverage = supports_alpha_to_coverage;
dynamic_state3_alpha_to_one = supports_alpha_to_one; dynamic_state3_alpha_to_one = supports_alpha_to_one;
dynamic_state3_provoking_vertex_mode = supports_provoking_vertex_mode;
dynamic_state3_enables = dynamic_state3_depth_clamp_enable || dynamic_state3_logic_op_enable || dynamic_state3_enables = dynamic_state3_depth_clamp_enable || dynamic_state3_logic_op_enable ||
dynamic_state3_line_raster_mode || dynamic_state3_line_raster_mode ||

6
src/video_core/vulkan_common/vulkan_device.h

@ -715,6 +715,11 @@ public:
return extensions.provoking_vertex; return extensions.provoking_vertex;
} }
/// Returns true if provoking vertex can be used as a dynamic state.
bool IsExtProvokingVertexDynamicStateSupported() const {
return dynamic_state3_provoking_vertex_mode;
}
/// Returns true if the device supports VK_KHR_shader_atomic_int64. /// Returns true if the device supports VK_KHR_shader_atomic_int64.
bool IsExtShaderAtomicInt64Supported() const { bool IsExtShaderAtomicInt64Supported() const {
return extensions.shader_atomic_int64; return extensions.shader_atomic_int64;
@ -1059,6 +1064,7 @@ private:
bool dynamic_state3_line_stipple_enable{}; bool dynamic_state3_line_stipple_enable{};
bool dynamic_state3_alpha_to_coverage{}; bool dynamic_state3_alpha_to_coverage{};
bool dynamic_state3_alpha_to_one{}; bool dynamic_state3_alpha_to_one{};
bool dynamic_state3_provoking_vertex_mode{};
bool supports_conditional_barriers{}; ///< Allows barriers in conditional control flow. bool supports_conditional_barriers{}; ///< Allows barriers in conditional control flow.
bool supports_dynamic_state{true}; ///< Core Vulkan 1.0 dynamic states bool supports_dynamic_state{true}; ///< Core Vulkan 1.0 dynamic states
size_t sampler_heap_budget{}; ///< Sampler budget for buggy drivers (0 = unlimited). size_t sampler_heap_budget{}; ///< Sampler budget for buggy drivers (0 = unlimited).

Loading…
Cancel
Save