Add support for bindless textures from storage buffer on Vulkan

This commit is contained in:
Gabriel A 2024-04-25 23:47:23 -03:00
commit a897b51298

View file

@ -66,9 +66,9 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
if (nvHandle.AsgOp is not Operation handleOp || if (nvHandle.AsgOp is not Operation handleOp ||
handleOp.Inst != Instruction.Load || handleOp.Inst != Instruction.Load ||
handleOp.StorageKind != StorageKind.Input) (handleOp.StorageKind != StorageKind.Input && handleOp.StorageKind != StorageKind.StorageBuffer))
{ {
// Right now, we only allow bindless access when the handle comes from a shader input. // Right now, we only allow bindless access when the handle comes from a shader input or storage buffer.
// This is an artificial limitation to prevent it from being used in cases where it // This is an artificial limitation to prevent it from being used in cases where it
// would have a large performance impact of loading all textures in the pool. // would have a large performance impact of loading all textures in the pool.
// It might be removed in the future, if we can mitigate the performance impact. // It might be removed in the future, if we can mitigate the performance impact.