v3dv: Add normalisation flags to the format table
These indicate if we need to apply software packing and unpacking for render targets of these formats. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35820>
This commit is contained in:
committed by
Marge Bot
parent
9e9763cf86
commit
40515312f6
@@ -627,6 +627,12 @@ struct v3dv_format_plane {
|
||||
|
||||
/* Whether the return value is 16F/I/UI or 32F/I/UI. */
|
||||
uint8_t return_size;
|
||||
|
||||
/* Needs software unorm packing */
|
||||
bool unorm;
|
||||
|
||||
/* Needs software snorm packing */
|
||||
bool snorm;
|
||||
};
|
||||
|
||||
struct v3dv_format {
|
||||
|
||||
@@ -45,6 +45,39 @@
|
||||
TEXTURE_DATA_FORMAT_##tex, \
|
||||
swiz, \
|
||||
return_size, \
|
||||
false, \
|
||||
false, \
|
||||
}}, \
|
||||
supports_filtering, \
|
||||
}
|
||||
|
||||
/* Format requiring software unorm packing */
|
||||
#define FORMAT_UNORM(vk, rt, tex, swiz, return_size, supports_filtering) \
|
||||
[VK_ENUM_OFFSET(VK_FORMAT_##vk)] = { \
|
||||
1, \
|
||||
{{ \
|
||||
V3D_OUTPUT_IMAGE_FORMAT_##rt, \
|
||||
TEXTURE_DATA_FORMAT_##tex, \
|
||||
swiz, \
|
||||
return_size, \
|
||||
true, \
|
||||
false, \
|
||||
}}, \
|
||||
supports_filtering, \
|
||||
}
|
||||
|
||||
|
||||
/* Format requiring software snorm packing */
|
||||
#define FORMAT_SNORM(vk, rt, tex, swiz, return_size, supports_filtering) \
|
||||
[VK_ENUM_OFFSET(VK_FORMAT_##vk)] = { \
|
||||
1, \
|
||||
{{ \
|
||||
V3D_OUTPUT_IMAGE_FORMAT_##rt, \
|
||||
TEXTURE_DATA_FORMAT_##tex, \
|
||||
swiz, \
|
||||
return_size, \
|
||||
false, \
|
||||
true, \
|
||||
}}, \
|
||||
supports_filtering, \
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user