* 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.
24 lines
1.0 KiB
C#
24 lines
1.0 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;
|
|
}
|
|
}
|