Initial transform feedback support (#1370)
* Initial transform feedback support * Some nits and fixes * Update ReportCounterType and Write method * Can't change shader or TFB bindings while TFB is active * Fix geometry shader input names with new naming
This commit is contained in:
parent
16dafe6316
commit
788ca6a411
23 changed files with 468 additions and 68 deletions
|
@ -53,32 +53,34 @@ namespace Ryujinx.Graphics.Gpu.State
|
|||
/// </summary>
|
||||
public static TableItem[] Table = new TableItem[]
|
||||
{
|
||||
new TableItem(MethodOffset.RtColorState, typeof(RtColorState), Constants.TotalRenderTargets),
|
||||
new TableItem(MethodOffset.ViewportTransform, typeof(ViewportTransform), Constants.TotalViewports),
|
||||
new TableItem(MethodOffset.ViewportExtents, typeof(ViewportExtents), Constants.TotalViewports),
|
||||
new TableItem(MethodOffset.VertexBufferDrawState, typeof(VertexBufferDrawState), 1),
|
||||
new TableItem(MethodOffset.DepthBiasState, typeof(DepthBiasState), 1),
|
||||
new TableItem(MethodOffset.ScissorState, typeof(ScissorState), Constants.TotalViewports),
|
||||
new TableItem(MethodOffset.StencilBackMasks, typeof(StencilBackMasks), 1),
|
||||
new TableItem(MethodOffset.RtDepthStencilState, typeof(RtDepthStencilState), 1),
|
||||
new TableItem(MethodOffset.VertexAttribState, typeof(VertexAttribState), 16),
|
||||
new TableItem(MethodOffset.RtDepthStencilSize, typeof(Size3D), 1),
|
||||
new TableItem(MethodOffset.BlendEnable, typeof(Boolean32), Constants.TotalRenderTargets),
|
||||
new TableItem(MethodOffset.StencilTestState, typeof(StencilTestState), 1),
|
||||
new TableItem(MethodOffset.SamplerPoolState, typeof(PoolState), 1),
|
||||
new TableItem(MethodOffset.TexturePoolState, typeof(PoolState), 1),
|
||||
new TableItem(MethodOffset.StencilBackTestState, typeof(StencilBackTestState), 1),
|
||||
new TableItem(MethodOffset.ShaderBaseAddress, typeof(GpuVa), 1),
|
||||
new TableItem(MethodOffset.PrimitiveRestartState, typeof(PrimitiveRestartState), 1),
|
||||
new TableItem(MethodOffset.IndexBufferState, typeof(IndexBufferState), 1),
|
||||
new TableItem(MethodOffset.VertexBufferInstanced, typeof(Boolean32), 16),
|
||||
new TableItem(MethodOffset.FaceState, typeof(FaceState), 1),
|
||||
new TableItem(MethodOffset.RtColorMask, typeof(RtColorMask), Constants.TotalRenderTargets),
|
||||
new TableItem(MethodOffset.VertexBufferState, typeof(VertexBufferState), 16),
|
||||
new TableItem(MethodOffset.BlendConstant, typeof(ColorF), 1),
|
||||
new TableItem(MethodOffset.BlendState, typeof(BlendState), Constants.TotalRenderTargets),
|
||||
new TableItem(MethodOffset.VertexBufferEndAddress, typeof(GpuVa), 16),
|
||||
new TableItem(MethodOffset.ShaderState, typeof(ShaderState), 6),
|
||||
new TableItem(MethodOffset.TfBufferState, typeof(TfBufferState), Constants.TotalTransformFeedbackBuffers),
|
||||
new TableItem(MethodOffset.TfState, typeof(TfState), Constants.TotalTransformFeedbackBuffers),
|
||||
new TableItem(MethodOffset.RtColorState, typeof(RtColorState), Constants.TotalRenderTargets),
|
||||
new TableItem(MethodOffset.ViewportTransform, typeof(ViewportTransform), Constants.TotalViewports),
|
||||
new TableItem(MethodOffset.ViewportExtents, typeof(ViewportExtents), Constants.TotalViewports),
|
||||
new TableItem(MethodOffset.VertexBufferDrawState, typeof(VertexBufferDrawState), 1),
|
||||
new TableItem(MethodOffset.DepthBiasState, typeof(DepthBiasState), 1),
|
||||
new TableItem(MethodOffset.ScissorState, typeof(ScissorState), Constants.TotalViewports),
|
||||
new TableItem(MethodOffset.StencilBackMasks, typeof(StencilBackMasks), 1),
|
||||
new TableItem(MethodOffset.RtDepthStencilState, typeof(RtDepthStencilState), 1),
|
||||
new TableItem(MethodOffset.VertexAttribState, typeof(VertexAttribState), Constants.TotalVertexAttribs),
|
||||
new TableItem(MethodOffset.RtDepthStencilSize, typeof(Size3D), 1),
|
||||
new TableItem(MethodOffset.BlendEnable, typeof(Boolean32), Constants.TotalRenderTargets),
|
||||
new TableItem(MethodOffset.StencilTestState, typeof(StencilTestState), 1),
|
||||
new TableItem(MethodOffset.SamplerPoolState, typeof(PoolState), 1),
|
||||
new TableItem(MethodOffset.TexturePoolState, typeof(PoolState), 1),
|
||||
new TableItem(MethodOffset.StencilBackTestState, typeof(StencilBackTestState), 1),
|
||||
new TableItem(MethodOffset.ShaderBaseAddress, typeof(GpuVa), 1),
|
||||
new TableItem(MethodOffset.PrimitiveRestartState, typeof(PrimitiveRestartState), 1),
|
||||
new TableItem(MethodOffset.IndexBufferState, typeof(IndexBufferState), 1),
|
||||
new TableItem(MethodOffset.VertexBufferInstanced, typeof(Boolean32), Constants.TotalVertexBuffers),
|
||||
new TableItem(MethodOffset.FaceState, typeof(FaceState), 1),
|
||||
new TableItem(MethodOffset.RtColorMask, typeof(RtColorMask), Constants.TotalRenderTargets),
|
||||
new TableItem(MethodOffset.VertexBufferState, typeof(VertexBufferState), Constants.TotalVertexBuffers),
|
||||
new TableItem(MethodOffset.BlendConstant, typeof(ColorF), 1),
|
||||
new TableItem(MethodOffset.BlendState, typeof(BlendState), Constants.TotalRenderTargets),
|
||||
new TableItem(MethodOffset.VertexBufferEndAddress, typeof(GpuVa), Constants.TotalVertexBuffers),
|
||||
new TableItem(MethodOffset.ShaderState, typeof(ShaderState), Constants.ShaderStages + 1),
|
||||
};
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue