diff options
| author | TSR Berry <20988865+TSRBerry@users.noreply.github.com> | 2023-04-08 01:22:00 +0200 |
|---|---|---|
| committer | Mary <thog@protonmail.com> | 2023-04-27 23:51:14 +0200 |
| commit | cee712105850ac3385cd0091a923438167433f9f (patch) | |
| tree | 4a5274b21d8b7f938c0d0ce18736d3f2993b11b1 /src/Ryujinx.Graphics.Gpu/Shader/GpuAccessorState.cs | |
| parent | cd124bda587ef09668a971fa1cac1c3f0cfc9f21 (diff) | |
Move solution and projects to src
Diffstat (limited to 'src/Ryujinx.Graphics.Gpu/Shader/GpuAccessorState.cs')
| -rw-r--r-- | src/Ryujinx.Graphics.Gpu/Shader/GpuAccessorState.cs | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/GpuAccessorState.cs b/src/Ryujinx.Graphics.Gpu/Shader/GpuAccessorState.cs new file mode 100644 index 00000000..0e8e979c --- /dev/null +++ b/src/Ryujinx.Graphics.Gpu/Shader/GpuAccessorState.cs @@ -0,0 +1,61 @@ +namespace Ryujinx.Graphics.Gpu.Shader +{ + /// <summary> + /// State used by the <see cref="GpuAccessor"/>. + /// </summary> + class GpuAccessorState + { + /// <summary> + /// GPU texture pool state. + /// </summary> + public readonly GpuChannelPoolState PoolState; + + /// <summary> + /// GPU compute state, for compute shaders. + /// </summary> + public readonly GpuChannelComputeState ComputeState; + + /// <summary> + /// GPU graphics state, for vertex, tessellation, geometry and fragment shaders. + /// </summary> + public readonly GpuChannelGraphicsState GraphicsState; + + /// <summary> + /// Shader specialization state (shared by all stages). + /// </summary> + public readonly ShaderSpecializationState SpecializationState; + + /// <summary> + /// Transform feedback information, if the shader uses transform feedback. Otherwise, should be null. + /// </summary> + public readonly TransformFeedbackDescriptor[] TransformFeedbackDescriptors; + + /// <summary> + /// Shader resource counts (shared by all stages). + /// </summary> + public readonly ResourceCounts ResourceCounts; + + /// <summary> + /// Creates a new GPU accessor state. + /// </summary> + /// <param name="poolState">GPU texture pool state</param> + /// <param name="computeState">GPU compute state, for compute shaders</param> + /// <param name="graphicsState">GPU graphics state, for vertex, tessellation, geometry and fragment shaders</param> + /// <param name="specializationState">Shader specialization state (shared by all stages)</param> + /// <param name="transformFeedbackDescriptors">Transform feedback information, if the shader uses transform feedback. Otherwise, should be null</param> + public GpuAccessorState( + GpuChannelPoolState poolState, + GpuChannelComputeState computeState, + GpuChannelGraphicsState graphicsState, + ShaderSpecializationState specializationState, + TransformFeedbackDescriptor[] transformFeedbackDescriptors = null) + { + PoolState = poolState; + GraphicsState = graphicsState; + ComputeState = computeState; + SpecializationState = specializationState; + TransformFeedbackDescriptors = transformFeedbackDescriptors; + ResourceCounts = new ResourceCounts(); + } + } +}
\ No newline at end of file |
