mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-02 10:24:12 +01:00
[dxvk] Add format info flag for integer formats
This commit is contained in:
parent
6a0ab19049
commit
9970dfaeca
@ -43,10 +43,12 @@ namespace dxvk {
|
||||
{ 1, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R8_UINT
|
||||
{ 1, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 1, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R8_SINT
|
||||
{ 1, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 1, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R8_SRGB
|
||||
{ 1, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
@ -64,10 +66,12 @@ namespace dxvk {
|
||||
{ 2, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R8G8_UINT
|
||||
{ 2, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 2, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R8G8_SINT
|
||||
{ 2, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 2, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R8G8_SRGB
|
||||
{ 2, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
@ -85,10 +89,12 @@ namespace dxvk {
|
||||
{ 3, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R8G8B8_UINT
|
||||
{ 3, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 3, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R8G8B8_SINT
|
||||
{ 3, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 3, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R8G8B8_SRGB
|
||||
{ 3, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
@ -106,10 +112,12 @@ namespace dxvk {
|
||||
{ 3, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_B8G8R8_UINT
|
||||
{ 3, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 3, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_B8G8R8_SINT
|
||||
{ 3, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 3, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_B8G8R8_SRGB
|
||||
{ 3, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
@ -127,10 +135,12 @@ namespace dxvk {
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R8G8B8A8_UINT
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R8G8B8A8_SINT
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R8G8B8A8_SRGB
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
@ -148,10 +158,12 @@ namespace dxvk {
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_B8G8R8A8_UINT
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_B8G8R8A8_SINT
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_B8G8R8A8_SRGB
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
@ -169,10 +181,12 @@ namespace dxvk {
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_A8B8G8R8_UINT_PACK32
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_A8B8G8R8_SINT_PACK32
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_A8B8G8R8_SRGB_PACK32
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
@ -190,10 +204,12 @@ namespace dxvk {
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_A2R10G10B10_UINT_PACK32
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_A2R10G10B10_SINT_PACK32
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_A2B10G10R10_UNORM_PACK32
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
@ -208,10 +224,12 @@ namespace dxvk {
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_A2B10G10R10_UINT_PACK32
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_A2B10G10R10_SINT_PACK32
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R16_UNORM
|
||||
{ 2, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
@ -226,10 +244,12 @@ namespace dxvk {
|
||||
{ 2, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R16_UINT
|
||||
{ 2, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 2, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R16_SINT
|
||||
{ 2, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 2, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R16_SFLOAT
|
||||
{ 2, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
@ -247,10 +267,12 @@ namespace dxvk {
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R16G16_UINT
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R16G16_SINT
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R16G16_SFLOAT
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
@ -268,10 +290,12 @@ namespace dxvk {
|
||||
{ 6, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R16G16B16_UINT
|
||||
{ 6, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 6, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R16G16B16_SINT
|
||||
{ 6, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 6, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R16G16B16_SFLOAT
|
||||
{ 6, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
@ -289,82 +313,100 @@ namespace dxvk {
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R16G16B16A16_UINT
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R16G16B16A16_SINT
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R16G16B16A16_SFLOAT
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R32_UINT
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R32_SINT
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R32_SFLOAT
|
||||
{ 4, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R32G32_UINT
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R32G32_SINT
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R32G32_SFLOAT
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R32G32B32_UINT
|
||||
{ 12, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 12, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R32G32B32_SINT
|
||||
{ 12, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 12, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R32G32B32_SFLOAT
|
||||
{ 12, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R32G32B32A32_UINT
|
||||
{ 16, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 16, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R32G32B32A32_SINT
|
||||
{ 16, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 16, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R32G32B32A32_SFLOAT
|
||||
{ 16, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R64_UINT
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R64_SINT
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R64_SFLOAT
|
||||
{ 8, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R64G64_UINT
|
||||
{ 16, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 16, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R64G64_SINT
|
||||
{ 16, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 16, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R64G64_SFLOAT
|
||||
{ 16, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R64G64B64_UINT
|
||||
{ 24, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 24, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R64G64B64_SINT
|
||||
{ 24, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 24, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R64G64B64_SFLOAT
|
||||
{ 24, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
||||
// VK_FORMAT_R64G64B64A64_UINT
|
||||
{ 32, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 32, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R64G64B64A64_SINT
|
||||
{ 32, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
{ 32, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
DxvkFormatFlag::SampledInteger },
|
||||
|
||||
// VK_FORMAT_R64G64B64A64_SFLOAT
|
||||
{ 32, VK_IMAGE_ASPECT_COLOR_BIT },
|
||||
|
@ -5,7 +5,8 @@
|
||||
namespace dxvk {
|
||||
|
||||
enum class DxvkFormatFlag {
|
||||
BlockCompressed,
|
||||
BlockCompressed = 0, ///< Image format is block compressed
|
||||
SampledInteger = 1, ///< Sampled type is an integer type
|
||||
};
|
||||
|
||||
using DxvkFormatFlags = Flags<DxvkFormatFlag>;
|
||||
|
Loading…
Reference in New Issue
Block a user