Align all SSBOs to 0x40 bytes

Required by Adreno GPUs
This commit is contained in:
Billy Laws 2022-11-19 16:05:26 +00:00
parent bfae292fb0
commit b86dd99e1a

View File

@ -37,9 +37,11 @@ namespace skyline::gpu::interconnect {
u64 address; u64 address;
u32 size; u32 size;
}; };
static constexpr size_t MinAlignment{0x40};
auto ssbo{cbuf.Read<SsboDescriptor>(ctx.executor, desc.cbuf_offset)}; auto ssbo{cbuf.Read<SsboDescriptor>(ctx.executor, desc.cbuf_offset)};
cachedView.Update(ctx, ssbo.address, ssbo.size); size_t padding{ssbo.address & (MinAlignment - 1)};
cachedView.Update(ctx, ssbo.address - padding, util::AlignUp(ssbo.size + padding, MinAlignment));
auto view{cachedView.view}; auto view{cachedView.view};
ctx.executor.AttachBuffer(view); ctx.executor.AttachBuffer(view);