PR feedback
This commit is contained in:
parent
859d4675e4
commit
62dc7bdfdc
4 changed files with 13 additions and 6 deletions
|
@ -630,10 +630,11 @@ namespace Ryujinx.Graphics.Gpu.Image
|
|||
bool isSampler = bindingInfo.IsSamplerOnly;
|
||||
bool poolModified = isSampler ? entry.SamplerPoolModified() : entry.TexturePoolModified();
|
||||
bool isStore = bindingInfo.Flags.HasFlag(TextureUsageFlags.ImageStore);
|
||||
bool resScaleUnsupported = bindingInfo.Flags.HasFlag(TextureUsageFlags.ResScaleUnsupported);
|
||||
|
||||
if (!poolModified && !isNewEntry && entry.ValidateTextures())
|
||||
{
|
||||
entry.SynchronizeMemory(isStore);
|
||||
entry.SynchronizeMemory(isStore, resScaleUnsupported);
|
||||
|
||||
if (isImage)
|
||||
{
|
||||
|
@ -680,6 +681,13 @@ namespace Ryujinx.Graphics.Gpu.Image
|
|||
{
|
||||
texture.SignalModified();
|
||||
}
|
||||
|
||||
if (resScaleUnsupported && texture.ScaleMode != TextureScaleMode.Blacklisted)
|
||||
{
|
||||
// Scaling textures used on arrays is currently not supported.
|
||||
|
||||
texture.BlacklistScale();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,6 @@ namespace Ryujinx.Graphics.Gpu.Shader
|
|||
/// </summary>
|
||||
/// <param name="texturePoolGpuVa">GPU virtual address of the texture pool</param>
|
||||
/// <param name="texturePoolMaximumId">Maximum ID of the texture pool</param>
|
||||
/// <param name="samplerPoolMaximumId">Maximum ID of the sampler pool</param>
|
||||
/// <param name="textureBufferIndex">Constant buffer slot where the texture handles are located</param>
|
||||
public GpuChannelPoolState(ulong texturePoolGpuVa, int texturePoolMaximumId, int textureBufferIndex)
|
||||
{
|
||||
|
|
|
@ -399,7 +399,7 @@ namespace Ryujinx.Graphics.Gpu.Shader
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks if a given texture was registerd on this specialization state.
|
||||
/// Checks if a given texture was registered on this specialization state.
|
||||
/// </summary>
|
||||
/// <param name="stageIndex">Shader stage where the texture is used</param>
|
||||
/// <param name="handle">Offset in words of the texture handle on the texture buffer</param>
|
||||
|
@ -410,7 +410,7 @@ namespace Ryujinx.Graphics.Gpu.Shader
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks if a given texture array (from constant buffer) was registerd on this specialization state.
|
||||
/// Checks if a given texture array (from constant buffer) was registered on this specialization state.
|
||||
/// </summary>
|
||||
/// <param name="stageIndex">Shader stage where the texture is used</param>
|
||||
/// <param name="handle">Offset in words of the texture handle on the texture buffer</param>
|
||||
|
@ -422,7 +422,7 @@ namespace Ryujinx.Graphics.Gpu.Shader
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks if a given texture array (from a sampler pool or texture pool) was registerd on this specialization state.
|
||||
/// Checks if a given texture array (from a sampler pool or texture pool) was registered on this specialization state.
|
||||
/// </summary>
|
||||
/// <param name="isSampler">True for sampler pool, false for texture pool</param>
|
||||
/// <returns>True if the length for the given pool, false otherwise</returns>
|
||||
|
|
|
@ -60,7 +60,7 @@ namespace Ryujinx.Graphics.Vulkan
|
|||
{
|
||||
entries[seg] = new DescriptorUpdateTemplateEntry()
|
||||
{
|
||||
DescriptorType = DescriptorType.UniformTexelBuffer,
|
||||
DescriptorType = segment.Type.Convert(),
|
||||
DstBinding = (uint)binding,
|
||||
DescriptorCount = (uint)count,
|
||||
Offset = structureOffset,
|
||||
|
|
Loading…
Add table
Reference in a new issue