mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-08-03 16:02:26 +00:00
Don't bind empty texel buffers
This commit is contained in:
parent
f61437257a
commit
72fd77d979
@ -154,9 +154,9 @@ bool ComputePipeline::BindResources(VideoCore::BufferCache& buffer_cache,
|
|||||||
for (const auto& desc : info->texture_buffers) {
|
for (const auto& desc : info->texture_buffers) {
|
||||||
const auto vsharp = desc.GetSharp(*info);
|
const auto vsharp = desc.GetSharp(*info);
|
||||||
vk::BufferView& buffer_view = buffer_views.emplace_back(VK_NULL_HANDLE);
|
vk::BufferView& buffer_view = buffer_views.emplace_back(VK_NULL_HANDLE);
|
||||||
if (vsharp.GetDataFmt() != AmdGpu::DataFormat::FormatInvalid) {
|
const u32 size = vsharp.GetSize();
|
||||||
|
if (vsharp.GetDataFmt() != AmdGpu::DataFormat::FormatInvalid && size != 0) {
|
||||||
const VAddr address = vsharp.base_address;
|
const VAddr address = vsharp.base_address;
|
||||||
const u32 size = vsharp.GetSize();
|
|
||||||
if (desc.is_written) {
|
if (desc.is_written) {
|
||||||
if (texture_cache.TouchMeta(address, true)) {
|
if (texture_cache.TouchMeta(address, true)) {
|
||||||
LOG_TRACE(Render_Vulkan, "Metadata update skipped");
|
LOG_TRACE(Render_Vulkan, "Metadata update skipped");
|
||||||
|
@ -408,9 +408,9 @@ void GraphicsPipeline::BindResources(const Liverpool::Regs& regs,
|
|||||||
for (const auto& tex_buffer : stage->texture_buffers) {
|
for (const auto& tex_buffer : stage->texture_buffers) {
|
||||||
const auto vsharp = tex_buffer.GetSharp(*stage);
|
const auto vsharp = tex_buffer.GetSharp(*stage);
|
||||||
vk::BufferView& buffer_view = buffer_views.emplace_back(VK_NULL_HANDLE);
|
vk::BufferView& buffer_view = buffer_views.emplace_back(VK_NULL_HANDLE);
|
||||||
if (vsharp.GetDataFmt() != AmdGpu::DataFormat::FormatInvalid) {
|
const u32 size = vsharp.GetSize();
|
||||||
|
if (vsharp.GetDataFmt() != AmdGpu::DataFormat::FormatInvalid && size != 0) {
|
||||||
const VAddr address = vsharp.base_address;
|
const VAddr address = vsharp.base_address;
|
||||||
const u32 size = vsharp.GetSize();
|
|
||||||
const u32 alignment = instance.TexelBufferMinAlignment();
|
const u32 alignment = instance.TexelBufferMinAlignment();
|
||||||
const auto [vk_buffer, offset] =
|
const auto [vk_buffer, offset] =
|
||||||
buffer_cache.ObtainBuffer(address, size, tex_buffer.is_written, true);
|
buffer_cache.ObtainBuffer(address, size, tex_buffer.is_written, true);
|
||||||
|
Loading…
Reference in New Issue
Block a user