mirror of
https://git.743378673.xyz/MeloNX/MeloNX.git
synced 2025-07-31 10:37:10 +02:00
Initial tessellation shader support (#2534)
* Initial tessellation shader support * Nits * Re-arrange built-in table * This is not needed anymore * PR feedback
This commit is contained in:
parent
88e8c82671
commit
6435cd798f
42 changed files with 775 additions and 148 deletions
|
@ -168,10 +168,31 @@ namespace Ryujinx.Graphics.Gpu.Shader
|
|||
PrimitiveTopology.TriangleFan => InputTopology.Triangles,
|
||||
PrimitiveTopology.TrianglesAdjacency or
|
||||
PrimitiveTopology.TriangleStripAdjacency => InputTopology.TrianglesAdjacency,
|
||||
_ => InputTopology.Points,
|
||||
PrimitiveTopology.Patches => _state.TessellationMode.UnpackPatchType() == TessPatchType.Isolines
|
||||
? InputTopology.Lines
|
||||
: InputTopology.Triangles,
|
||||
_ => InputTopology.Points
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Queries the tessellation evaluation shader primitive winding order.
|
||||
/// </summary>
|
||||
/// <returns>True if the primitive winding order is clockwise, false if counter-clockwise</returns>
|
||||
public bool QueryTessCw() => _state.TessellationMode.UnpackCw();
|
||||
|
||||
/// <summary>
|
||||
/// Queries the tessellation evaluation shader abstract patch type.
|
||||
/// </summary>
|
||||
/// <returns>Abstract patch type</returns>
|
||||
public TessPatchType QueryTessPatchType() => _state.TessellationMode.UnpackPatchType();
|
||||
|
||||
/// <summary>
|
||||
/// Queries the tessellation evaluation shader spacing between tessellated vertices of the patch.
|
||||
/// </summary>
|
||||
/// <returns>Spacing between tessellated vertices of the patch</returns>
|
||||
public TessSpacing QueryTessSpacing() => _state.TessellationMode.UnpackSpacing();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the texture descriptor for a given texture on the pool.
|
||||
/// </summary>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue