4218311e6a
* Fix Push Descriptors * Use push descriptor templates * Use reserved bindings * Formatting * Disable when using MVK ("my heart will go on" starts playing as thousands of mac users shed a tear in unison) * Introduce limit on push descriptor binding number The bitmask used for updating push descriptors is ulong, so only 64 bindings can be tracked for now. * Address feedback * Fix logic for binding rejection Should only offset limit when reserved bindings are less than the requested one. * Workaround pascal and older nv bug * Add GPU number detection for nvidia * Only do workaround if it's valid to do so.
23 lines
1 KiB
C#
23 lines
1 KiB
C#
namespace Ryujinx.Graphics.Vulkan
|
|
{
|
|
static class Constants
|
|
{
|
|
public const int MaxVertexAttributes = 32;
|
|
public const int MaxVertexBuffers = 32;
|
|
public const int MaxTransformFeedbackBuffers = 4;
|
|
public const int MaxRenderTargets = 8;
|
|
public const int MaxViewports = 16;
|
|
public const int MaxShaderStages = 5;
|
|
public const int MaxUniformBuffersPerStage = 18;
|
|
public const int MaxStorageBuffersPerStage = 16;
|
|
public const int MaxTexturesPerStage = 64;
|
|
public const int MaxImagesPerStage = 16;
|
|
public const int MaxUniformBufferBindings = MaxUniformBuffersPerStage * MaxShaderStages;
|
|
public const int MaxStorageBufferBindings = MaxStorageBuffersPerStage * MaxShaderStages;
|
|
public const int MaxTextureBindings = MaxTexturesPerStage * MaxShaderStages;
|
|
public const int MaxImageBindings = MaxImagesPerStage * MaxShaderStages;
|
|
public const int MaxPushDescriptorBinding = 64;
|
|
|
|
public const ulong SparseBufferAlignment = 0x10000;
|
|
}
|
|
}
|