From 3ff00afd5988d7cc894f0b2d03f16fde31009197 Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Thu, 24 Sep 2026 13:53:54 -0400 Subject: [PATCH] Some other dead code removal --- .../renderer_vulkan/present/lsfg_common.cpp | 1 - .../renderer_vulkan/present/lsfg_common.h | 5 - .../renderer_vulkan/present/post_process.cpp | 2 - .../renderer_vulkan/present/post_process.h | 3 - .../renderer_vulkan/renderer_vulkan.h | 7 -- .../renderer_vulkan/vk_rasterizer.h | 1 - .../renderer_vulkan/vk_render_pass_cache.cpp | 27 +---- .../renderer_vulkan/vk_state_tracker.cpp | 2 - .../renderer_vulkan/vk_state_tracker.h | 10 -- src/video_core/renderer_vulkan/vk_swapchain.h | 10 -- .../renderer_vulkan/vk_texture_cache.cpp | 6 - .../renderer_vulkan/vk_texture_cache.h | 15 --- .../renderer_vulkan/vk_update_descriptor.h | 4 - .../vulkan_common/vulkan_device.cpp | 17 --- src/video_core/vulkan_common/vulkan_device.h | 47 -------- .../vulkan_common/vulkan_wrapper.cpp | 112 +----------------- src/video_core/vulkan_common/vulkan_wrapper.h | 86 -------------- 17 files changed, 4 insertions(+), 351 deletions(-) diff --git a/src/video_core/renderer_vulkan/present/lsfg_common.cpp b/src/video_core/renderer_vulkan/present/lsfg_common.cpp index 74e5d446d8..e05c7a8b02 100644 --- a/src/video_core/renderer_vulkan/present/lsfg_common.cpp +++ b/src/video_core/renderer_vulkan/present/lsfg_common.cpp @@ -286,7 +286,6 @@ LsfgPass::LsfgPass(const Device& device, const LsfgShaders& shaders, u32 shader_ for (const auto& [count, type] : bindings) { types.insert(types.end(), count, type); } - descriptor_count = static_cast(types.size()); descriptor_set_layout = CreateWrappedDescriptorSetLayout( device, std::span{types}, VK_SHADER_STAGE_COMPUTE_BIT); diff --git a/src/video_core/renderer_vulkan/present/lsfg_common.h b/src/video_core/renderer_vulkan/present/lsfg_common.h index bc538f4d1b..33547b1346 100644 --- a/src/video_core/renderer_vulkan/present/lsfg_common.h +++ b/src/video_core/renderer_vulkan/present/lsfg_common.h @@ -204,10 +204,6 @@ public: return *descriptor_set_layout; } - [[nodiscard]] u32 DescriptorCount() const { - return descriptor_count; - } - void Bind(vk::CommandBuffer cmdbuf, VkDescriptorSet set) const; void BindPipeline(vk::CommandBuffer cmdbuf) const; void BindSet(vk::CommandBuffer cmdbuf, VkDescriptorSet set) const; @@ -216,7 +212,6 @@ private: vk::DescriptorSetLayout descriptor_set_layout; vk::PipelineLayout pipeline_layout; vk::Pipeline pipeline; - u32 descriptor_count{}; }; [[nodiscard]] vk::DescriptorPool CreateLsfgDescriptorPool(const Device& device, u32 max_sets); diff --git a/src/video_core/renderer_vulkan/present/post_process.cpp b/src/video_core/renderer_vulkan/present/post_process.cpp index f5164e488e..2027f75828 100644 --- a/src/video_core/renderer_vulkan/present/post_process.cpp +++ b/src/video_core/renderer_vulkan/present/post_process.cpp @@ -611,8 +611,6 @@ bool PostProcessChain::BuildEffects(const Device& device, MemoryAllocator& alloc *vertex_shader->second, *fragment_shader->second, pass); if (out.writes_backbuffer) { - out.backbuffer_slot = static_cast(effect.backbuffer_pass_count % 2); - ++effect.backbuffer_pass_count; for (u32 image = 0; image < m_image_count; ++image) { for (size_t slot = 0; slot < 2; ++slot) { out.framebuffers.push_back(CreateWrappedFramebuffer( diff --git a/src/video_core/renderer_vulkan/present/post_process.h b/src/video_core/renderer_vulkan/present/post_process.h index 9d42bd4751..9238ef0c39 100644 --- a/src/video_core/renderer_vulkan/present/post_process.h +++ b/src/video_core/renderer_vulkan/present/post_process.h @@ -89,7 +89,6 @@ private: u32 num_vertices{3}; bool clear{}; bool writes_backbuffer{}; - u32 backbuffer_slot{}; }; struct Effect { @@ -105,8 +104,6 @@ private: vk::DescriptorSetLayout uniform_layout{}; vk::DescriptorPool descriptor_pool{}; vk::DescriptorSets uniform_sets{}; - size_t backbuffer_pass_count{}; - u32 backbuffer_slots{1}; }; struct FrameImages { diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.h b/src/video_core/renderer_vulkan/renderer_vulkan.h index 87422dd935..b0ceda5905 100644 --- a/src/video_core/renderer_vulkan/renderer_vulkan.h +++ b/src/video_core/renderer_vulkan/renderer_vulkan.h @@ -59,14 +59,7 @@ public: return device.GetDriverName(); } - // Enhanced platform-specific initialization - void InitializePlatformSpecific(); - private: - void InterpolateFrames(Frame* prev_frame, Frame* curr_frame); - Frame* previous_frame = nullptr; // Store the previous frame for interpolation - VkCommandBuffer BeginSingleTimeCommands(); - void EndSingleTimeCommands(VkCommandBuffer command_buffer); void Report() const; vk::Buffer RenderToBuffer(std::span framebuffers, diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.h b/src/video_core/renderer_vulkan/vk_rasterizer.h index bb7c5ff09e..ea98948df7 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.h +++ b/src/video_core/renderer_vulkan/vk_rasterizer.h @@ -180,7 +180,6 @@ private: void UpdateRasterizerDiscardEnable(Tegra::Engines::Maxwell3D::Regs& regs); void UpdateConservativeRasterizationMode(Tegra::Engines::Maxwell3D::Regs& regs); void UpdateLineStippleEnable(Tegra::Engines::Maxwell3D::Regs& regs); - void UpdateLineStipple(Tegra::Engines::Maxwell3D::Regs& regs); void UpdateLineRasterizationMode(Tegra::Engines::Maxwell3D::Regs& regs); void UpdateDepthBiasEnable(Tegra::Engines::Maxwell3D::Regs& regs); void UpdateLogicOpEnable(Tegra::Engines::Maxwell3D::Regs& regs); diff --git a/src/video_core/renderer_vulkan/vk_render_pass_cache.cpp b/src/video_core/renderer_vulkan/vk_render_pass_cache.cpp index d9aa7698f7..8c0921e9e8 100644 --- a/src/video_core/renderer_vulkan/vk_render_pass_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_render_pass_cache.cpp @@ -255,29 +255,6 @@ VkRenderPass RenderPassCache::Get(const RenderPassKey& key) { .preserveAttachmentCount = 0, .pPreserveAttachments = nullptr, }; - const VkMemoryBarrier2 dependency_barrier{ - .sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, - .pNext = nullptr, - .srcStageMask = VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT | - VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT | - VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT, - .srcAccessMask = VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT | - VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, - .dstStageMask = VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT, - .dstAccessMask = VK_ACCESS_2_SHADER_READ_BIT, - }; - const VkSubpassDependency2 dependency{ - .sType = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, - .pNext = &dependency_barrier, - .srcSubpass = 0, - .dstSubpass = 0, - .srcStageMask = 0, - .dstStageMask = 0, - .srcAccessMask = 0, - .dstAccessMask = 0, - .dependencyFlags = VK_DEPENDENCY_BY_REGION_BIT, - .viewOffset = 0, - }; pair->second = device->GetLogical().CreateRenderPass2({ .sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, .pNext = nullptr, @@ -286,8 +263,8 @@ VkRenderPass RenderPassCache::Get(const RenderPassKey& key) { .pAttachments = descriptions.empty() ? nullptr : descriptions.data(), .subpassCount = 1, .pSubpasses = &subpass, - .dependencyCount = 1, - .pDependencies = &dependency, + .dependencyCount = 0, + .pDependencies = nullptr, .correlatedViewMaskCount = 0, .pCorrelatedViewMasks = nullptr, }); diff --git a/src/video_core/renderer_vulkan/vk_state_tracker.cpp b/src/video_core/renderer_vulkan/vk_state_tracker.cpp index 0b132c97d6..49b5dded33 100644 --- a/src/video_core/renderer_vulkan/vk_state_tracker.cpp +++ b/src/video_core/renderer_vulkan/vk_state_tracker.cpp @@ -63,7 +63,6 @@ Maxwell3D::DirtyState::Flags MakeInvalidationFlags() { BlendEnable, ConservativeRasterizationMode, LineStippleEnable, - LineStippleParams, }; Maxwell3D::DirtyState::Flags flags{}; for (const int flag : INVALIDATION_FLAGS) { @@ -228,7 +227,6 @@ void SetupDirtyVertexBindings(Maxwell3D::DirtyState::Tables& tables) { void SetupRasterModes(Maxwell3D::DirtyState::Tables &tables) { auto& table = tables[0]; - table[OFF(line_stipple_params)] = LineStippleParams; table[OFF(conservative_raster_enable)] = ConservativeRasterizationMode; table[OFF(line_anti_alias_enable)] = LineRasterizationMode; } diff --git a/src/video_core/renderer_vulkan/vk_state_tracker.h b/src/video_core/renderer_vulkan/vk_state_tracker.h index 6b47ba4176..eebd25a81e 100644 --- a/src/video_core/renderer_vulkan/vk_state_tracker.h +++ b/src/video_core/renderer_vulkan/vk_state_tracker.h @@ -56,7 +56,6 @@ enum : u8 { ConservativeRasterizationMode, LineRasterizationMode, LineStippleEnable, - LineStippleParams, DepthBiasEnable, StateEnable, LogicOp, @@ -89,14 +88,6 @@ public: stencil_reset = true; } - void InvalidateViewports() { - (*flags)[Dirty::Viewports] = true; - } - - void InvalidateScissors() { - (*flags)[Dirty::Scissors] = true; - } - void InvalidateStateEnableFlag() { (*flags)[Dirty::StateEnable] = true; } @@ -220,7 +211,6 @@ public: bool TouchLineStippleEnable() { return Exchange(Dirty::LineStippleEnable, false); } - bool TouchLineStipple() { return Exchange(Dirty::LineStippleParams, false); } bool TouchDepthBiasEnable() { return Exchange(Dirty::DepthBiasEnable, false); } diff --git a/src/video_core/renderer_vulkan/vk_swapchain.h b/src/video_core/renderer_vulkan/vk_swapchain.h index d926cc118a..62559355a9 100644 --- a/src/video_core/renderer_vulkan/vk_swapchain.h +++ b/src/video_core/renderer_vulkan/vk_swapchain.h @@ -47,11 +47,6 @@ public: return IsSubOptimal() || NeedsPresentModeUpdate(); } - /// Returns true when the swapchain is outdated. - bool IsOutDated() const { - return is_outdated; - } - /// Returns true when the swapchain is suboptimal. bool IsSubOptimal() const { return is_suboptimal; @@ -69,10 +64,6 @@ public: return image_index; } - std::size_t GetFrameIndex() const { - return frame_index; - } - VkImage GetImageIndex(std::size_t index) const { return images[index]; } @@ -112,7 +103,6 @@ public: private: void CreateSwapchain(const VkSurfaceCapabilitiesKHR& capabilities); void CreateSemaphores(); - void CreateImageViews(); void Destroy(); diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 18d38f3761..32d4c5a52d 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -2613,13 +2613,9 @@ ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::ImageViewI if (device->ApiVersion() >= VK_API_VERSION_1_3) { const VkFormatProperties3 properties3 = device->GetPhysical().GetFormatProperties3(format_info.format); - supports_depth_comparison = - (properties3.optimalTilingFeatures & - VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT) != 0; supports_minmax_filter = (properties3.optimalTilingFeatures & VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT) != 0; } else { - supports_depth_comparison = true; supports_minmax_filter = (device->GetPhysical().GetFormatProperties(format_info.format).optimalTilingFeatures & VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT) != 0; @@ -2888,7 +2884,6 @@ Sampler::Sampler(TextureCacheRuntime& runtime, const Tegra::Texture::TSCEntry& t has_added_anisotropy = max_anisotropy > default_anisotropy; has_linear_filtering = mag_filter == VK_FILTER_LINEAR || min_filter == VK_FILTER_LINEAR || mipmap_mode == VK_SAMPLER_MIPMAP_MODE_LINEAR; - has_depth_comparison = tsc.depth_compare_enabled != 0; has_minmax_reduction = reduction_mode != VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT; has_srgb_border_color = tsc.srgb_conversion != 0 && srgb_border_color != border_color; if (has_minmax_reduction && !device.IsExtSamplerFilterMinmaxSupported()) { @@ -3165,7 +3160,6 @@ void Framebuffer::CreateFramebuffer(TextureCacheRuntime& runtime, resolve_shadow_images[num_resolve_shadows++] = depth_image; } - num_color_buffers = static_cast(num_colors); framebuffer = runtime.device.GetLogical().CreateFramebuffer({ .sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO, .pNext = nullptr, diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.h b/src/video_core/renderer_vulkan/vk_texture_cache.h index 2e6b547e72..67cf67872b 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.h +++ b/src/video_core/renderer_vulkan/vk_texture_cache.h @@ -89,10 +89,6 @@ public: void ConvertImage(Framebuffer* dst, ImageView& dst_view, ImageView& src_view); - bool CanAccelerateImageUpload(Image&) const noexcept { - return false; - } - bool CanUploadMSAA() const noexcept { return true; } @@ -234,10 +230,6 @@ public: return samples; } - [[nodiscard]] u32 NumColorBuffers() const noexcept { - return num_color_buffers; - } - [[nodiscard]] u32 NumImages() const noexcept { return num_images; } @@ -285,7 +277,6 @@ private: VkRenderPass renderpass{}; VkExtent2D render_area{}; VkSampleCountFlagBits samples = VK_SAMPLE_COUNT_1_BIT; - u32 num_color_buffers = 0; u32 num_images = 0; std::array images{}; std::array image_ranges{}; @@ -428,10 +419,6 @@ public: return samples; } - [[nodiscard]] bool SupportsDepthComparison() const noexcept { - return supports_depth_comparison; - } - [[nodiscard]] bool RequiresBorderColorFormat() const noexcept { return requires_border_color_format; } @@ -482,7 +469,6 @@ private: VkComponentMapping swizzle_mapping{}; - bool supports_depth_comparison = false; bool requires_border_color_format = false; bool supports_minmax_filter = false; bool has_identity_swizzle = true; @@ -559,7 +545,6 @@ private: bool has_added_anisotropy{}; bool has_linear_filtering{}; - bool has_depth_comparison{}; bool has_minmax_reduction{}; bool has_custom_border_colors{}; bool has_srgb_border_color{}; diff --git a/src/video_core/renderer_vulkan/vk_update_descriptor.h b/src/video_core/renderer_vulkan/vk_update_descriptor.h index 04d76a8386..1efe39180f 100644 --- a/src/video_core/renderer_vulkan/vk_update_descriptor.h +++ b/src/video_core/renderer_vulkan/vk_update_descriptor.h @@ -47,10 +47,6 @@ public: bool supports_descriptor_buffer_ = false); ~UpdateDescriptorQueue(); - [[nodiscard]] bool UsesDescriptorBuffer() const noexcept { - return use_descriptor_buffer; - } - void TickFrame(); void Acquire(Scheduler& scheduler, size_t required_entries = 0, bool use_descriptor_buffer_ = false); diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 4a90b1a21d..639552341e 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -487,9 +487,6 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR properties.subgroup_size_control.maxSubgroupSize > GuestWarpSize; is_integrated = properties.properties.deviceType == VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU; - is_virtual = properties.properties.deviceType == VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU; - is_non_gpu = properties.properties.deviceType == VK_PHYSICAL_DEVICE_TYPE_OTHER || - properties.properties.deviceType == VK_PHYSICAL_DEVICE_TYPE_CPU; supports_d24_depth = IsFormatSupported(VK_FORMAT_D24_UNORM_S8_UINT, @@ -896,10 +893,6 @@ bool Device::GetSuitability(bool requires_swapchain) { // Assume we will be suitable. bool suitable = true; - // Configure properties. - VkPhysicalDeviceVulkan12Features features_1_2{}; - VkPhysicalDeviceVulkan13Features features_1_3{}; - // Configure properties. properties.properties = physical.GetProperties(); @@ -996,16 +989,6 @@ bool Device::GetSuitability(bool requires_swapchain) { // Set next pointer. void** next = &features2.pNext; - // Vulkan 1.2 and 1.3 features - if (instance_version >= VK_API_VERSION_1_2) { - features_1_2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES; - features_1_3.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES; - - features_1_2.pNext = &features_1_3; - - *next = &features_1_2; - } - // Test all features we know about. If the feature is not available in core at our // current API version, and was not enabled by an extension, skip testing the feature. // We set the structure sType explicitly here as it is zeroed by the constructor. diff --git a/src/video_core/vulkan_common/vulkan_device.h b/src/video_core/vulkan_common/vulkan_device.h index 23dceceb26..fba45d2385 100644 --- a/src/video_core/vulkan_common/vulkan_device.h +++ b/src/video_core/vulkan_common/vulkan_device.h @@ -128,7 +128,6 @@ VK_DEFINE_HANDLE(VmaAllocator) EXTENSION_NAME(VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME) \ EXTENSION_NAME(VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME) \ EXTENSION_NAME(VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME) \ - EXTENSION_NAME(VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME) \ EXTENSION_NAME(VK_EXT_4444_FORMATS_EXTENSION_NAME) \ EXTENSION_NAME(VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME) \ EXTENSION_NAME(VK_EXT_ROBUSTNESS_2_EXTENSION_NAME) \ @@ -364,11 +363,6 @@ public: return {count[0], count[1], count[2]}; } - /// Returns the maximum size for push constants. - VkDeviceSize GetMaxPushConstantsSize() const { - return properties.properties.limits.maxPushConstantsSize; - } - #define FN_MAX_LIMIT_LIST \ FN_MAX_LIMIT_ELEM(ComputeSharedMemorySize) \ FN_MAX_LIMIT_ELEM(PerStageDescriptorSampledImages) \ @@ -658,13 +652,6 @@ FN_MAX_LIMIT_LIST return properties.depth_stencil_resolve.independentResolveNone == VK_TRUE; } - /// Returns true if depth/stencil operations can be performed efficiently. - /// Either through shader export or hardware blits. - bool CanPerformDepthStencilOperations() const { - return extensions.shader_stencil_export || is_blit_depth24_stencil8_supported || - is_blit_depth32_stencil8_supported; - } - /// Returns true if the device supports VK_EXT_depth_range_unrestricted. bool IsExtDepthRangeUnrestrictedSupported() const { return extensions.depth_range_unrestricted; @@ -705,12 +692,6 @@ FN_MAX_LIMIT_LIST return extensions.transform_feedback && properties.transform_feedback.transformFeedbackDraw; } - /// Returns true if transform feedback query types are supported. - bool IsTransformFeedbackQueriesSupported() const { - return extensions.transform_feedback && - properties.transform_feedback.transformFeedbackQueries; - } - /// Returns true if the device supports VK_EXT_transform_feedback properly. bool AreTransformFeedbackGeometryStreamsSupported() const { return features.transform_feedback.geometryStreams; @@ -745,11 +726,6 @@ FN_MAX_LIMIT_LIST !features.border_color_swizzle.borderColorSwizzleFromImage; } - /// Returns true if borderColorSwizzleFromImage is available. - bool IsBorderColorSwizzleFromImageSupported() const { - return features.border_color_swizzle.borderColorSwizzleFromImage; - } - /// Returns true if the device supports VK_EXT_extended_dynamic_state. bool IsExtExtendedDynamicStateSupported() const { return extensions.extended_dynamic_state; @@ -764,11 +740,6 @@ FN_MAX_LIMIT_LIST return features.extended_dynamic_state2.extendedDynamicState2LogicOp; } - /// Returns true if the device supports VK_EXT_extended_dynamic_state3. - bool IsExtExtendedDynamicState3Supported() const { - return extensions.extended_dynamic_state3; - } - /// Returns true if the device supports VK_EXT_4444_formats. bool IsExt4444FormatsSupported() const { return features.format_a4b4g4r4.formatA4B4G4R4; @@ -973,10 +944,6 @@ FN_MAX_LIMIT_LIST bool MustEmulateBGR565() const; - bool HasExactDepthBiasControl() const { - return features.depth_bias_control.depthBiasExact; - } - u32 GetMaxVertexInputAttributes() const { return properties.properties.limits.maxVertexInputAttributes; } @@ -1029,23 +996,11 @@ FN_MAX_LIMIT_LIST return extensions.maintenance5; } - /// Returns true if polygon mode POINT supports gl_PointSize. - bool SupportsPolygonModePointSize() const { - return extensions.maintenance5 && properties.maintenance5.polygonModePointSize; - } - /// Returns true if depth/stencil swizzle ONE is supported. bool SupportsDepthStencilSwizzleOne() const { return extensions.maintenance5 && properties.maintenance5.depthStencilSwizzleOneSupport; } - /// Returns true if early fragment tests optimizations are available. - bool SupportsEarlyFragmentTests() const { - return extensions.maintenance5 && - properties.maintenance5.earlyFragmentMultisampleCoverageAfterSampleCounting && - properties.maintenance5.earlyFragmentSampleMaskTestBeforeSampleCounting; - } - /// Returns true if the device supports UINT8 index buffer conversion via compute shader. bool SupportsUint8Indices() const { return features.bit8_storage.storageBuffer8BitAccess && @@ -1197,8 +1152,6 @@ private: bool is_blit_depth32_stencil8_supported{}; ///< Support for blitting from and to D32S8. bool is_warp_potentially_bigger{}; ///< Host warp size can be bigger than guest. bool is_integrated{}; ///< Is GPU an iGPU. - bool is_virtual{}; ///< Is GPU a virtual GPU. - bool is_non_gpu{}; ///< Is SoftwareRasterizer, FPGA, non-GPU device. bool has_broken_compute{}; ///< Compute shaders can cause crashes bool has_broken_cube_compatibility{}; ///< Has broken cube compatibility bit bool has_broken_descriptor_aliasing{}; ///< Miscompiles descriptors aliased on one binding diff --git a/src/video_core/vulkan_common/vulkan_wrapper.cpp b/src/video_core/vulkan_common/vulkan_wrapper.cpp index a2ca3b7fa6..25c2218c53 100644 --- a/src/video_core/vulkan_common/vulkan_wrapper.cpp +++ b/src/video_core/vulkan_common/vulkan_wrapper.cpp @@ -85,15 +85,11 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept { X(vkAcquireNextImageKHR); X(vkAllocateCommandBuffers); X(vkAllocateDescriptorSets); - X(vkAllocateMemory); X(vkBeginCommandBuffer); - X(vkBindBufferMemory); - X(vkBindImageMemory); X(vkCmdBeginConditionalRenderingEXT); X(vkCmdBeginQuery); X(vkCmdBeginRenderPass); X(vkCmdBeginTransformFeedbackEXT); - X(vkCmdBeginDebugUtilsLabelEXT); X(vkCmdBindDescriptorSets); X(vkCmdBindIndexBuffer); X(vkCmdBindIndexBuffer2KHR); @@ -121,7 +117,6 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept { X(vkCmdEndQuery); X(vkCmdEndRenderPass); X(vkCmdEndTransformFeedbackEXT); - X(vkCmdEndDebugUtilsLabelEXT); X(vkCmdFillBuffer); X(vkCmdPipelineBarrier2); X(vkCmdPushConstants); @@ -155,7 +150,6 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept { X(vkCmdSetDepthClampEnableEXT); X(vkCmdSetFrontFaceEXT); X(vkCmdSetLogicOpEXT); - X(vkCmdSetPatchControlPointsEXT); X(vkCmdSetLineWidth); X(vkCmdSetPrimitiveTopologyEXT); X(vkCmdSetStencilOpEXT); @@ -178,7 +172,6 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept { X(vkCreateFence); X(vkCreateFramebuffer); X(vkCreateGraphicsPipelines); - X(vkCreateImage); X(vkCreateImageView); X(vkCreatePipelineCache); X(vkCreatePipelineLayout); @@ -212,30 +205,21 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept { X(vkEndCommandBuffer); X(vkFreeCommandBuffers); X(vkFreeDescriptorSets); - X(vkFreeMemory); X(vkGetBufferMemoryRequirements2); X(vkGetDeviceBufferMemoryRequirements); X(vkGetDeviceQueue); X(vkGetEventStatus); X(vkGetFenceStatus); - X(vkGetImageMemoryRequirements); X(vkGetPipelineCacheData); - X(vkGetMemoryFdKHR); -#ifdef _WIN32 - X(vkGetMemoryWin32HandleKHR); -#endif X(vkGetQueryPoolResults); X(vkGetPipelineExecutablePropertiesKHR); X(vkGetPipelineExecutableStatisticsKHR); X(vkGetSemaphoreCounterValue); - X(vkMapMemory); X(vkQueueBindSparse); X(vkQueueSubmit2); X(vkResetFences); X(vkResetQueryPool); X(vkSetDebugUtilsObjectNameEXT); - X(vkSetDebugUtilsObjectTagEXT); - X(vkUnmapMemory); X(vkUpdateDescriptorSetWithTemplate); X(vkUpdateDescriptorSets); X(vkGetBufferDeviceAddress); @@ -319,9 +303,7 @@ bool Load(VkInstance instance, InstanceDispatch& dld) noexcept { // These functions may fail to load depending on the enabled extensions. // Don't return a failure on these. X(vkCreateDebugUtilsMessengerEXT); - X(vkCreateDebugReportCallbackEXT); X(vkDestroyDebugUtilsMessengerEXT); - X(vkDestroyDebugReportCallbackEXT); X(vkDestroySurfaceKHR); X(vkGetPhysicalDeviceFeatures2); X(vkGetPhysicalDeviceFormatProperties2); @@ -334,10 +316,10 @@ bool Load(VkInstance instance, InstanceDispatch& dld) noexcept { X(vkGetSwapchainImagesKHR); X(vkQueuePresentKHR); - return X(vkCreateDevice) && X(vkDestroyDevice) && X(vkDestroyDevice) && + return X(vkCreateDevice) && X(vkDestroyDevice) && X(vkEnumerateDeviceExtensionProperties) && X(vkEnumeratePhysicalDevices) && X(vkGetDeviceProcAddr) && X(vkGetPhysicalDeviceFormatProperties) && - X(vkGetPhysicalDeviceMemoryProperties) && X(vkGetPhysicalDeviceMemoryProperties2) && + X(vkGetPhysicalDeviceMemoryProperties2) && X(vkGetPhysicalDeviceProperties) && X(vkGetPhysicalDeviceQueueFamilyProperties); #undef X } @@ -379,10 +361,6 @@ void Destroy(VkDevice device, VkDescriptorUpdateTemplate handle, dld.vkDestroyDescriptorUpdateTemplate(device, handle, nullptr); } -void Destroy(VkDevice device, VkDeviceMemory handle, const DeviceDispatch& dld) noexcept { - dld.vkFreeMemory(device, handle, nullptr); -} - void Destroy(VkDevice device, VkEvent handle, const DeviceDispatch& dld) noexcept { dld.vkDestroyEvent(device, handle, nullptr); } @@ -444,11 +422,6 @@ void Destroy(VkInstance instance, VkDebugUtilsMessengerEXT handle, dld.vkDestroyDebugUtilsMessengerEXT(instance, handle, nullptr); } -void Destroy(VkInstance instance, VkDebugReportCallbackEXT handle, - const InstanceDispatch& dld) noexcept { - dld.vkDestroyDebugReportCallbackEXT(instance, handle, nullptr); -} - void Destroy(VkInstance instance, VkSurfaceKHR handle, const InstanceDispatch& dld) noexcept { dld.vkDestroySurfaceKHR(instance, handle, nullptr); } @@ -518,13 +491,6 @@ DebugUtilsMessenger Instance::CreateDebugUtilsMessenger( return DebugUtilsMessenger(object, handle, *dld); } -DebugReportCallback Instance::CreateDebugReportCallback( - const VkDebugReportCallbackCreateInfoEXT& create_info) const { - VkDebugReportCallbackEXT object; - Check(dld->vkCreateDebugReportCallbackEXT(handle, &create_info, nullptr, &object)); - return DebugReportCallback(object, handle, *dld); -} - void Image::SetObjectNameEXT(const char* name) const { SetObjectName(dld, owner, handle, VK_OBJECT_TYPE_IMAGE, name); } @@ -565,36 +531,6 @@ void ImageView::SetObjectNameEXT(const char* name) const { SetObjectName(dld, owner, handle, VK_OBJECT_TYPE_IMAGE_VIEW, name); } -int DeviceMemory::GetMemoryFdKHR() const { - const VkMemoryGetFdInfoKHR get_fd_info{ - .sType = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR, - .pNext = nullptr, - .memory = handle, - .handleType = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR, - }; - int fd; - Check(dld->vkGetMemoryFdKHR(owner, &get_fd_info, &fd)); - return fd; -} - -#ifdef _WIN32 -HANDLE DeviceMemory::GetMemoryWin32HandleKHR() const { - const VkMemoryGetWin32HandleInfoKHR get_win32_handle_info{ - .sType = VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR, - .pNext = nullptr, - .memory = handle, - .handleType = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR, - }; - HANDLE win32_handle; - Check(dld->vkGetMemoryWin32HandleKHR(owner, &get_win32_handle_info, &win32_handle)); - return win32_handle; -} -#endif - -void DeviceMemory::SetObjectNameEXT(const char* name) const { - SetObjectName(dld, owner, handle, VK_OBJECT_TYPE_DEVICE_MEMORY, name); -} - void Fence::SetObjectNameEXT(const char* name) const { SetObjectName(dld, owner, handle, VK_OBJECT_TYPE_FENCE, name); } @@ -835,36 +771,6 @@ SwapchainKHR Device::CreateSwapchainKHR(const VkSwapchainCreateInfoKHR& ci) cons return SwapchainKHR(object, handle, *dld); } -DeviceMemory Device::TryAllocateMemory(const VkMemoryAllocateInfo& ai) const noexcept { - VkDeviceMemory memory; - if (dld->vkAllocateMemory(handle, &ai, nullptr, &memory) != VK_SUCCESS) { - return {}; - } - return DeviceMemory(memory, handle, *dld); -} - -DeviceMemory Device::AllocateMemory(const VkMemoryAllocateInfo& ai) const { - VkDeviceMemory memory; - Check(dld->vkAllocateMemory(handle, &ai, nullptr, &memory)); - return DeviceMemory(memory, handle, *dld); -} - -VkMemoryRequirements Device::GetBufferMemoryRequirements(VkBuffer buffer, - void* pnext) const noexcept { - const VkBufferMemoryRequirementsInfo2 info{ - .sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, - .pNext = nullptr, - .buffer = buffer, - }; - VkMemoryRequirements2 requirements{ - .sType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, - .pNext = pnext, - .memoryRequirements{}, - }; - dld->vkGetBufferMemoryRequirements2(handle, &info, &requirements); - return requirements.memoryRequirements; -} - VkMemoryRequirements Device::GetDeviceBufferMemoryRequirements( const VkBufferCreateInfo& ci) const noexcept { const VkDeviceBufferMemoryRequirements info{ @@ -881,12 +787,6 @@ VkMemoryRequirements Device::GetDeviceBufferMemoryRequirements( return requirements.memoryRequirements; } -VkMemoryRequirements Device::GetImageMemoryRequirements(VkImage image) const noexcept { - VkMemoryRequirements requirements; - dld->vkGetImageMemoryRequirements(handle, image, &requirements); - return requirements; -} - std::vector Device::GetPipelineExecutablePropertiesKHR( VkPipeline pipeline) const { const VkPipelineInfoKHR info{ @@ -938,14 +838,6 @@ void PhysicalDevice::GetProperties2(VkPhysicalDeviceProperties2& properties) con dld->vkGetPhysicalDeviceProperties2(physical_device, &properties); } -VkPhysicalDeviceFeatures PhysicalDevice::GetFeatures() const noexcept { - VkPhysicalDeviceFeatures2 features2; - features2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; - features2.pNext = nullptr; - dld->vkGetPhysicalDeviceFeatures2(physical_device, &features2); - return features2.features; -} - void PhysicalDevice::GetFeatures2(VkPhysicalDeviceFeatures2& features) const noexcept { dld->vkGetPhysicalDeviceFeatures2(physical_device, &features); } diff --git a/src/video_core/vulkan_common/vulkan_wrapper.h b/src/video_core/vulkan_common/vulkan_wrapper.h index 9c60f03fd2..48b4b42221 100644 --- a/src/video_core/vulkan_common/vulkan_wrapper.h +++ b/src/video_core/vulkan_common/vulkan_wrapper.h @@ -169,10 +169,8 @@ struct InstanceDispatch { PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties{}; PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT{}; - PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT{}; PFN_vkCreateDevice vkCreateDevice{}; PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT{}; - PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT{}; PFN_vkDestroyDevice vkDestroyDevice{}; PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR{}; PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties{}; @@ -181,7 +179,6 @@ struct InstanceDispatch { PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2{}; PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties{}; PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2{}; - PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties{}; PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2{}; PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties{}; PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2{}; @@ -200,12 +197,8 @@ struct DeviceDispatch : InstanceDispatch { PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR{}; PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers{}; PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets{}; - PFN_vkAllocateMemory vkAllocateMemory{}; PFN_vkBeginCommandBuffer vkBeginCommandBuffer{}; - PFN_vkBindBufferMemory vkBindBufferMemory{}; - PFN_vkBindImageMemory vkBindImageMemory{}; PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT{}; - PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT{}; PFN_vkCmdBeginQuery vkCmdBeginQuery{}; PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass{}; PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT{}; @@ -234,7 +227,6 @@ struct DeviceDispatch : InstanceDispatch { PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount{}; PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT{}; PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT{}; - PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT{}; PFN_vkCmdEndQuery vkCmdEndQuery{}; PFN_vkCmdEndRenderPass vkCmdEndRenderPass{}; PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT{}; @@ -260,13 +252,11 @@ struct DeviceDispatch : InstanceDispatch { PFN_vkCmdSetConservativeRasterizationModeEXT vkCmdSetConservativeRasterizationModeEXT{}; PFN_vkCmdSetLineRasterizationModeEXT vkCmdSetLineRasterizationModeEXT{}; PFN_vkCmdSetLineStippleEnableEXT vkCmdSetLineStippleEnableEXT{}; - PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT{}; PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT{}; PFN_vkCmdSetLogicOpEnableEXT vkCmdSetLogicOpEnableEXT{}; PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT{}; PFN_vkCmdSetEvent2 vkCmdSetEvent2{}; PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT{}; - PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT{}; PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT{}; PFN_vkCmdSetLineWidth vkCmdSetLineWidth{}; PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT{}; @@ -294,7 +284,6 @@ struct DeviceDispatch : InstanceDispatch { PFN_vkCreateFence vkCreateFence{}; PFN_vkCreateFramebuffer vkCreateFramebuffer{}; PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines{}; - PFN_vkCreateImage vkCreateImage{}; PFN_vkCreateImageView vkCreateImageView{}; PFN_vkCreatePipelineCache vkCreatePipelineCache{}; PFN_vkCreatePipelineLayout vkCreatePipelineLayout{}; @@ -328,30 +317,21 @@ struct DeviceDispatch : InstanceDispatch { PFN_vkEndCommandBuffer vkEndCommandBuffer{}; PFN_vkFreeCommandBuffers vkFreeCommandBuffers{}; PFN_vkFreeDescriptorSets vkFreeDescriptorSets{}; - PFN_vkFreeMemory vkFreeMemory{}; PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2{}; PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements{}; PFN_vkGetDeviceQueue vkGetDeviceQueue{}; PFN_vkGetEventStatus vkGetEventStatus{}; PFN_vkGetFenceStatus vkGetFenceStatus{}; - PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements{}; PFN_vkGetPipelineCacheData vkGetPipelineCacheData{}; - PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR{}; -#ifdef _WIN32 - PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR{}; -#endif PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR{}; PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR{}; PFN_vkGetQueryPoolResults vkGetQueryPoolResults{}; PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue{}; - PFN_vkMapMemory vkMapMemory{}; PFN_vkQueueBindSparse vkQueueBindSparse{}; PFN_vkQueueSubmit2 vkQueueSubmit2{}; PFN_vkResetFences vkResetFences{}; PFN_vkResetQueryPool vkResetQueryPool{}; PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT{}; - PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT{}; - PFN_vkUnmapMemory vkUnmapMemory{}; PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate{}; PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress{}; PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT{}; @@ -381,7 +361,6 @@ void Destroy(VkDevice, VkCommandPool, const DeviceDispatch&) noexcept; void Destroy(VkDevice, VkDescriptorPool, const DeviceDispatch&) noexcept; void Destroy(VkDevice, VkDescriptorSetLayout, const DeviceDispatch&) noexcept; void Destroy(VkDevice, VkDescriptorUpdateTemplate, const DeviceDispatch&) noexcept; -void Destroy(VkDevice, VkDeviceMemory, const DeviceDispatch&) noexcept; void Destroy(VkDevice, VkEvent, const DeviceDispatch&) noexcept; void Destroy(VkDevice, VkFence, const DeviceDispatch&) noexcept; void Destroy(VkDevice, VkFramebuffer, const DeviceDispatch&) noexcept; @@ -397,7 +376,6 @@ void Destroy(VkDevice, VkSwapchainKHR, const DeviceDispatch&) noexcept; void Destroy(VkDevice, VkSemaphore, const DeviceDispatch&) noexcept; void Destroy(VkDevice, VkShaderModule, const DeviceDispatch&) noexcept; void Destroy(VkInstance, VkDebugUtilsMessengerEXT, const InstanceDispatch&) noexcept; -void Destroy(VkInstance, VkDebugReportCallbackEXT, const InstanceDispatch&) noexcept; void Destroy(VkInstance, VkSurfaceKHR, const InstanceDispatch&) noexcept; VkResult Free(VkDevice, VkDescriptorPool, Span, const DeviceDispatch&) noexcept; @@ -635,7 +613,6 @@ private: }; using DebugUtilsMessenger = Handle; -using DebugReportCallback = Handle; using DescriptorSetLayout = Handle; using DescriptorUpdateTemplate = Handle; using Pipeline = Handle; @@ -668,11 +645,6 @@ public: [[nodiscard]] DebugUtilsMessenger CreateDebugUtilsMessenger( const VkDebugUtilsMessengerCreateInfoEXT& create_info) const; - /// Creates a debug report callback. - /// @throw Exception on creation failure. - [[nodiscard]] DebugReportCallback CreateDebugReportCallback( - const VkDebugReportCallbackCreateInfoEXT& create_info) const; - /// Returns dispatch table. const InstanceDispatch& Dispatch() const noexcept { return *dld; @@ -880,30 +852,6 @@ public: void SetObjectNameEXT(const char* name) const; }; -class DeviceMemory : public Handle { - using Handle::Handle; - -public: - int GetMemoryFdKHR() const; - -#ifdef _WIN32 - HANDLE GetMemoryWin32HandleKHR() const; -#endif - - /// Set object name. - void SetObjectNameEXT(const char* name) const; - - u8* Map(VkDeviceSize offset, VkDeviceSize size) const { - void* data; - Check(dld->vkMapMemory(owner, handle, offset, size, 0, &data)); - return static_cast(data); - } - - void Unmap() const noexcept { - dld->vkUnmapMemory(owner, handle); - } -}; - class Fence : public Handle { using Handle::Handle; @@ -1088,17 +1036,8 @@ public: [[nodiscard]] SwapchainKHR CreateSwapchainKHR(const VkSwapchainCreateInfoKHR& ci) const; - [[nodiscard]] DeviceMemory TryAllocateMemory(const VkMemoryAllocateInfo& ai) const noexcept; - - [[nodiscard]] DeviceMemory AllocateMemory(const VkMemoryAllocateInfo& ai) const; - - VkMemoryRequirements GetBufferMemoryRequirements(VkBuffer buffer, - void* pnext = nullptr) const noexcept; - VkMemoryRequirements GetDeviceBufferMemoryRequirements(const VkBufferCreateInfo& ci) const noexcept; - VkMemoryRequirements GetImageMemoryRequirements(VkImage image) const noexcept; - std::vector GetPipelineExecutablePropertiesKHR( VkPipeline pipeline) const; @@ -1179,8 +1118,6 @@ public: void GetProperties2(VkPhysicalDeviceProperties2&) const noexcept; - VkPhysicalDeviceFeatures GetFeatures() const noexcept; - void GetFeatures2(VkPhysicalDeviceFeatures2&) const noexcept; VkFormatProperties GetFormatProperties(VkFormat) const noexcept; @@ -1566,11 +1503,6 @@ public: dld->vkCmdSetLineStippleEnableEXT(handle, enable ? VK_TRUE : VK_FALSE); } - void SetLineStippleEXT(u32 factor, u16 pattern) const noexcept - { - dld->vkCmdSetLineStippleEXT(handle, factor, pattern); - } - void SetDepthBiasEnableEXT(bool enable) const noexcept { dld->vkCmdSetDepthBiasEnableEXT(handle, enable ? VK_TRUE : VK_FALSE); } @@ -1599,10 +1531,6 @@ public: dld->vkCmdSetLogicOpEXT(handle, logic_op); } - void SetPatchControlPointsEXT(uint32_t patch_control_points) const noexcept { - dld->vkCmdSetPatchControlPointsEXT(handle, patch_control_points); - } - void SetColorWriteMaskEXT(u32 first, Span masks) const noexcept { dld->vkCmdSetColorWriteMaskEXT(handle, first, masks.size(), masks.data()); } @@ -1673,20 +1601,6 @@ public: dld->vkCmdEndConditionalRenderingEXT(handle); } - void BeginDebugUtilsLabelEXT(const char* label, std::span color) const noexcept { - const VkDebugUtilsLabelEXT label_info{ - .sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT, - .pNext = nullptr, - .pLabelName = label, - .color{color[0], color[1], color[2], color[3]}, - }; - dld->vkCmdBeginDebugUtilsLabelEXT(handle, &label_info); - } - - void EndDebugUtilsLabelEXT() const noexcept { - dld->vkCmdEndDebugUtilsLabelEXT(handle); - } - private: VkCommandBuffer handle; const DeviceDispatch* dld;