mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-06-09 20:23:14 +00:00
renderer_vulkan: Remove dead code. (#2228)
This commit is contained in:
parent
91444a0545
commit
74710116f6
3 changed files with 0 additions and 161 deletions
|
@ -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_common.h
|
||||||
src/video_core/renderer_vulkan/vk_compute_pipeline.cpp
|
src/video_core/renderer_vulkan/vk_compute_pipeline.cpp
|
||||||
src/video_core/renderer_vulkan/vk_compute_pipeline.h
|
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.cpp
|
||||||
src/video_core/renderer_vulkan/vk_graphics_pipeline.h
|
src/video_core/renderer_vulkan/vk_graphics_pipeline.h
|
||||||
src/video_core/renderer_vulkan/vk_instance.cpp
|
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…
Add table
Add a link
Reference in a new issue