mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-17 12:16:29 +02:00
Add support for bindless textures from shader input (vertex buffer) on Vulkan (#6577)
* Add support for bindless textures from shader input (vertex buffer) * Shader cache version bump * Format whitespace * Remove cache entries on pool removal, disable for OpenGL * PR feedback
This commit is contained in:
parent
9b94662b4b
commit
c6f8bfed90
39 changed files with 1091 additions and 311 deletions
|
@ -216,6 +216,11 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation
|
|||
|
||||
newSources[index] = source;
|
||||
|
||||
if (source != null && source.Type == OperandType.LocalVariable)
|
||||
{
|
||||
source.UseOps.Add(this);
|
||||
}
|
||||
|
||||
_sources = newSources;
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation
|
|||
public TextureFlags Flags { get; private set; }
|
||||
|
||||
public int Binding { get; private set; }
|
||||
public int SamplerBinding { get; private set; }
|
||||
|
||||
public TextureOperation(
|
||||
Instruction inst,
|
||||
|
@ -24,6 +25,7 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation
|
|||
Format = format;
|
||||
Flags = flags;
|
||||
Binding = binding;
|
||||
SamplerBinding = -1;
|
||||
}
|
||||
|
||||
public void TurnIntoArray(int binding)
|
||||
|
@ -32,6 +34,13 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation
|
|||
Binding = binding;
|
||||
}
|
||||
|
||||
public void TurnIntoArray(int textureBinding, int samplerBinding)
|
||||
{
|
||||
TurnIntoArray(textureBinding);
|
||||
|
||||
SamplerBinding = samplerBinding;
|
||||
}
|
||||
|
||||
public void SetBinding(int binding)
|
||||
{
|
||||
if ((Flags & TextureFlags.Bindless) != 0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue