mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-02-05 05:08:08 +00:00
renderer_vulkan: Remove dead code. (#2228)
This commit is contained in:
parent
91444a0545
commit
74710116f6
|
@ -751,8 +751,6 @@ set(VIDEO_CORE src/video_core/amdgpu/liverpool.cpp
|
|||
src/video_core/renderer_vulkan/vk_common.h
|
||||
src/video_core/renderer_vulkan/vk_compute_pipeline.cpp
|
||||
src/video_core/renderer_vulkan/vk_compute_pipeline.h
|
||||
src/video_core/renderer_vulkan/vk_descriptor_update_queue.cpp
|
||||
src/video_core/renderer_vulkan/vk_descriptor_update_queue.h
|
||||
src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp
|
||||
src/video_core/renderer_vulkan/vk_graphics_pipeline.h
|
||||
src/video_core/renderer_vulkan/vk_instance.cpp
|
||||
|
|
|
@ -1,108 +0,0 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "video_core/renderer_vulkan/vk_descriptor_update_queue.h"
|
||||
#include "video_core/renderer_vulkan/vk_instance.h"
|
||||
|
||||
namespace Vulkan {
|
||||
|
||||
DescriptorUpdateQueue::DescriptorUpdateQueue(const Instance& instance, u32 descriptor_write_max_)
|
||||
: device{instance.GetDevice()}, descriptor_write_max{descriptor_write_max_} {
|
||||
descriptor_infos = std::make_unique<DescriptorInfoUnion[]>(descriptor_write_max);
|
||||
descriptor_writes = std::make_unique<vk::WriteDescriptorSet[]>(descriptor_write_max);
|
||||
}
|
||||
|
||||
void DescriptorUpdateQueue::Flush() {
|
||||
if (descriptor_write_end == 0) {
|
||||
return;
|
||||
}
|
||||
device.updateDescriptorSets({std::span(descriptor_writes.get(), descriptor_write_end)}, {});
|
||||
descriptor_write_end = 0;
|
||||
}
|
||||
|
||||
void DescriptorUpdateQueue::AddStorageImage(vk::DescriptorSet target, u8 binding,
|
||||
vk::ImageView image_view,
|
||||
vk::ImageLayout image_layout) {
|
||||
if (descriptor_write_end >= descriptor_write_max) [[unlikely]] {
|
||||
Flush();
|
||||
}
|
||||
|
||||
auto& image_info = descriptor_infos[descriptor_write_end].image_info;
|
||||
image_info.sampler = VK_NULL_HANDLE;
|
||||
image_info.imageView = image_view;
|
||||
image_info.imageLayout = image_layout;
|
||||
|
||||
descriptor_writes[descriptor_write_end++] = vk::WriteDescriptorSet{
|
||||
.dstSet = target,
|
||||
.dstBinding = binding,
|
||||
.dstArrayElement = 0,
|
||||
.descriptorCount = 1,
|
||||
.descriptorType = vk::DescriptorType::eStorageImage,
|
||||
.pImageInfo = &image_info,
|
||||
};
|
||||
}
|
||||
|
||||
void DescriptorUpdateQueue::AddImageSampler(vk::DescriptorSet target, u8 binding, u8 array_index,
|
||||
vk::ImageView image_view, vk::Sampler sampler,
|
||||
vk::ImageLayout image_layout) {
|
||||
if (descriptor_write_end >= descriptor_write_max) [[unlikely]] {
|
||||
Flush();
|
||||
}
|
||||
|
||||
auto& image_info = descriptor_infos[descriptor_write_end].image_info;
|
||||
image_info.sampler = sampler;
|
||||
image_info.imageView = image_view;
|
||||
image_info.imageLayout = image_layout;
|
||||
|
||||
descriptor_writes[descriptor_write_end++] = vk::WriteDescriptorSet{
|
||||
.dstSet = target,
|
||||
.dstBinding = binding,
|
||||
.dstArrayElement = array_index,
|
||||
.descriptorCount = 1,
|
||||
.descriptorType =
|
||||
sampler ? vk::DescriptorType::eCombinedImageSampler : vk::DescriptorType::eSampledImage,
|
||||
.pImageInfo = &image_info,
|
||||
};
|
||||
}
|
||||
|
||||
void DescriptorUpdateQueue::AddBuffer(vk::DescriptorSet target, u8 binding, vk::Buffer buffer,
|
||||
vk::DeviceSize offset, vk::DeviceSize size,
|
||||
vk::DescriptorType type) {
|
||||
if (descriptor_write_end >= descriptor_write_max) [[unlikely]] {
|
||||
Flush();
|
||||
}
|
||||
|
||||
auto& buffer_info = descriptor_infos[descriptor_write_end].buffer_info;
|
||||
buffer_info.buffer = buffer;
|
||||
buffer_info.offset = offset;
|
||||
buffer_info.range = size;
|
||||
|
||||
descriptor_writes[descriptor_write_end++] = vk::WriteDescriptorSet{
|
||||
.dstSet = target,
|
||||
.dstBinding = binding,
|
||||
.dstArrayElement = 0,
|
||||
.descriptorCount = 1,
|
||||
.descriptorType = type,
|
||||
.pBufferInfo = &buffer_info,
|
||||
};
|
||||
}
|
||||
|
||||
void DescriptorUpdateQueue::AddTexelBuffer(vk::DescriptorSet target, u8 binding,
|
||||
vk::BufferView buffer_view) {
|
||||
if (descriptor_write_end >= descriptor_write_max) [[unlikely]] {
|
||||
Flush();
|
||||
}
|
||||
|
||||
auto& buffer_info = descriptor_infos[descriptor_write_end].buffer_view;
|
||||
buffer_info = buffer_view;
|
||||
descriptor_writes[descriptor_write_end++] = vk::WriteDescriptorSet{
|
||||
.dstSet = target,
|
||||
.dstBinding = binding,
|
||||
.dstArrayElement = 0,
|
||||
.descriptorCount = 1,
|
||||
.descriptorType = vk::DescriptorType::eUniformTexelBuffer,
|
||||
.pTexelBufferView = &buffer_info,
|
||||
};
|
||||
}
|
||||
|
||||
} // namespace Vulkan
|
|
@ -1,51 +0,0 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "common/types.h"
|
||||
#include "video_core/renderer_vulkan/vk_common.h"
|
||||
|
||||
namespace Vulkan {
|
||||
|
||||
class Instance;
|
||||
|
||||
struct DescriptorInfoUnion {
|
||||
DescriptorInfoUnion() {}
|
||||
|
||||
union {
|
||||
vk::DescriptorImageInfo image_info;
|
||||
vk::DescriptorBufferInfo buffer_info;
|
||||
vk::BufferView buffer_view;
|
||||
};
|
||||
};
|
||||
|
||||
class DescriptorUpdateQueue {
|
||||
public:
|
||||
explicit DescriptorUpdateQueue(const Instance& instance, u32 descriptor_write_max = 2048);
|
||||
~DescriptorUpdateQueue() = default;
|
||||
|
||||
void Flush();
|
||||
|
||||
void AddStorageImage(vk::DescriptorSet target, u8 binding, vk::ImageView image_view,
|
||||
vk::ImageLayout image_layout = vk::ImageLayout::eGeneral);
|
||||
|
||||
void AddImageSampler(vk::DescriptorSet target, u8 binding, u8 array_index,
|
||||
vk::ImageView image_view, vk::Sampler sampler,
|
||||
vk::ImageLayout imageLayout = vk::ImageLayout::eGeneral);
|
||||
|
||||
void AddBuffer(vk::DescriptorSet target, u8 binding, vk::Buffer buffer, vk::DeviceSize offset,
|
||||
vk::DeviceSize size = VK_WHOLE_SIZE,
|
||||
vk::DescriptorType type = vk::DescriptorType::eUniformBufferDynamic);
|
||||
|
||||
void AddTexelBuffer(vk::DescriptorSet target, u8 binding, vk::BufferView buffer_view);
|
||||
|
||||
private:
|
||||
const vk::Device device;
|
||||
const u32 descriptor_write_max;
|
||||
std::unique_ptr<DescriptorInfoUnion[]> descriptor_infos;
|
||||
std::unique_ptr<vk::WriteDescriptorSet[]> descriptor_writes;
|
||||
u32 descriptor_write_end = 0;
|
||||
};
|
||||
|
||||
} // namespace Vulkan
|
Loading…
Reference in a new issue