mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 11:08:03 +02:00
v3dv: expose more features
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7456>
This commit is contained in:
parent
0b30336906
commit
0dad1a7c72
2 changed files with 13 additions and 6 deletions
|
|
@ -669,16 +669,16 @@ v3dv_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,
|
|||
|
||||
*pFeatures = (VkPhysicalDeviceFeatures) {
|
||||
.robustBufferAccess = true, /* This feature is mandatory */
|
||||
.fullDrawIndexUint32 = false,
|
||||
.fullDrawIndexUint32 = false, /* Only available since V3D 4.4.9.1 */
|
||||
.imageCubeArray = true,
|
||||
.independentBlend = false,
|
||||
.independentBlend = true,
|
||||
.geometryShader = false,
|
||||
.tessellationShader = false,
|
||||
.sampleRateShading = true,
|
||||
.dualSrcBlend = false,
|
||||
.logicOp = true,
|
||||
.multiDrawIndirect = false,
|
||||
.drawIndirectFirstInstance = false,
|
||||
.drawIndirectFirstInstance = true,
|
||||
.depthClamp = false,
|
||||
.depthBiasClamp = false,
|
||||
.fillModeNonSolid = true,
|
||||
|
|
@ -697,7 +697,7 @@ v3dv_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,
|
|||
.fragmentStoresAndAtomics = true,
|
||||
.shaderTessellationAndGeometryPointSize = false,
|
||||
.shaderImageGatherExtended = false,
|
||||
.shaderStorageImageExtendedFormats = false,
|
||||
.shaderStorageImageExtendedFormats = true,
|
||||
.shaderStorageImageMultisample = false,
|
||||
.shaderStorageImageReadWithoutFormat = false,
|
||||
.shaderStorageImageWriteWithoutFormat = false,
|
||||
|
|
|
|||
|
|
@ -442,6 +442,11 @@ image_format_features(VkFormat vk_format,
|
|||
flags |= VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT;
|
||||
if (desc->nr_channels == 1 && vk_format_is_int(vk_format))
|
||||
flags |= VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT;
|
||||
} else if (vk_format == VK_FORMAT_A2B10G10R10_UNORM_PACK32 ||
|
||||
vk_format == VK_FORMAT_A2B10G10R10_UINT_PACK32 ||
|
||||
vk_format == VK_FORMAT_B10G11R11_UFLOAT_PACK32) {
|
||||
/* To comply with shaderStorageImageExtendedFormats */
|
||||
flags |= VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT;
|
||||
}
|
||||
|
||||
if (flags) {
|
||||
|
|
@ -482,10 +487,12 @@ buffer_format_features(VkFormat vk_format, const struct v3dv_format *v3dv_format
|
|||
}
|
||||
} else if (vk_format == VK_FORMAT_A2B10G10R10_UNORM_PACK32) {
|
||||
flags |= VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT |
|
||||
VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT;
|
||||
VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT |
|
||||
VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT;
|
||||
} else if (vk_format == VK_FORMAT_A2B10G10R10_UINT_PACK32 ||
|
||||
vk_format == VK_FORMAT_B10G11R11_UFLOAT_PACK32) {
|
||||
flags |= VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT;
|
||||
flags |= VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT |
|
||||
VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT;
|
||||
}
|
||||
|
||||
if (desc->layout == UTIL_FORMAT_LAYOUT_PLAIN &&
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue