mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-12-22 15:02:01 +00:00
3bd357045f
* Do not allow render targets not explicitly written by the fragment shader to be modified * Shader cache version bump * Remove blank lines * Avoid redundant color mask updates * HostShaderCacheEntry can be null * Avoid more redundant glColorMask calls * nit: Mask -> Masks * Fix currentComponentMask * More efficient way to update _currentComponentMasks
39 lines
No EOL
1.3 KiB
C#
39 lines
No EOL
1.3 KiB
C#
using System;
|
|
using System.Collections.ObjectModel;
|
|
|
|
namespace Ryujinx.Graphics.Shader
|
|
{
|
|
public class ShaderProgramInfo
|
|
{
|
|
public ReadOnlyCollection<BufferDescriptor> CBuffers { get; }
|
|
public ReadOnlyCollection<BufferDescriptor> SBuffers { get; }
|
|
public ReadOnlyCollection<TextureDescriptor> Textures { get; }
|
|
public ReadOnlyCollection<TextureDescriptor> Images { get; }
|
|
|
|
public bool UsesInstanceId { get; }
|
|
public bool UsesRtLayer { get; }
|
|
public byte ClipDistancesWritten { get; }
|
|
public int FragmentOutputMap { get; }
|
|
|
|
public ShaderProgramInfo(
|
|
BufferDescriptor[] cBuffers,
|
|
BufferDescriptor[] sBuffers,
|
|
TextureDescriptor[] textures,
|
|
TextureDescriptor[] images,
|
|
bool usesInstanceId,
|
|
bool usesRtLayer,
|
|
byte clipDistancesWritten,
|
|
int fragmentOutputMap)
|
|
{
|
|
CBuffers = Array.AsReadOnly(cBuffers);
|
|
SBuffers = Array.AsReadOnly(sBuffers);
|
|
Textures = Array.AsReadOnly(textures);
|
|
Images = Array.AsReadOnly(images);
|
|
|
|
UsesInstanceId = usesInstanceId;
|
|
UsesRtLayer = usesRtLayer;
|
|
ClipDistancesWritten = clipDistancesWritten;
|
|
FragmentOutputMap = fragmentOutputMap;
|
|
}
|
|
}
|
|
} |