2019-10-13 08:02:07 +02:00
|
|
|
using System;
|
|
|
|
using System.Collections.ObjectModel;
|
|
|
|
|
|
|
|
namespace Ryujinx.Graphics.Shader
|
|
|
|
{
|
|
|
|
public class ShaderProgramInfo
|
|
|
|
{
|
2022-02-16 23:15:39 +01:00
|
|
|
public ReadOnlyCollection<BufferDescriptor> CBuffers { get; }
|
|
|
|
public ReadOnlyCollection<BufferDescriptor> SBuffers { get; }
|
2019-10-13 08:02:07 +02:00
|
|
|
public ReadOnlyCollection<TextureDescriptor> Textures { get; }
|
2022-02-16 23:15:39 +01:00
|
|
|
public ReadOnlyCollection<TextureDescriptor> Images { get; }
|
2019-10-13 08:02:07 +02:00
|
|
|
|
|
|
|
public bool UsesInstanceId { get; }
|
2021-09-29 01:55:12 +02:00
|
|
|
public bool UsesRtLayer { get; }
|
2021-04-20 12:33:54 +02:00
|
|
|
public byte ClipDistancesWritten { get; }
|
2022-02-16 23:15:39 +01:00
|
|
|
public int FragmentOutputMap { get; }
|
2019-10-13 08:02:07 +02:00
|
|
|
|
2020-11-13 00:15:34 +01:00
|
|
|
public ShaderProgramInfo(
|
2022-02-16 23:15:39 +01:00
|
|
|
BufferDescriptor[] cBuffers,
|
|
|
|
BufferDescriptor[] sBuffers,
|
2020-04-02 03:24:55 +02:00
|
|
|
TextureDescriptor[] textures,
|
|
|
|
TextureDescriptor[] images,
|
2022-02-16 23:15:39 +01:00
|
|
|
bool usesInstanceId,
|
|
|
|
bool usesRtLayer,
|
|
|
|
byte clipDistancesWritten,
|
|
|
|
int fragmentOutputMap)
|
2019-10-13 08:02:07 +02:00
|
|
|
{
|
|
|
|
CBuffers = Array.AsReadOnly(cBuffers);
|
|
|
|
SBuffers = Array.AsReadOnly(sBuffers);
|
|
|
|
Textures = Array.AsReadOnly(textures);
|
2022-02-16 23:15:39 +01:00
|
|
|
Images = Array.AsReadOnly(images);
|
2019-10-13 08:02:07 +02:00
|
|
|
|
|
|
|
UsesInstanceId = usesInstanceId;
|
2021-09-29 01:55:12 +02:00
|
|
|
UsesRtLayer = usesRtLayer;
|
2021-04-20 12:33:54 +02:00
|
|
|
ClipDistancesWritten = clipDistancesWritten;
|
2022-02-16 23:15:39 +01:00
|
|
|
FragmentOutputMap = fragmentOutputMap;
|
2019-10-13 08:02:07 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|