v3dv: use updated tokens from vk.xml
Signed-off-by: Eric Engestrom <eric@igalia.com> Acked-by: Iago Toral Quiroga <itoral@igalia.com> Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17342>
This commit is contained in:
parent
9035408d62
commit
9db1af8757
|
@ -892,8 +892,8 @@ cmd_buffer_subpass_handle_pending_resolves(struct v3dv_cmd_buffer *cmd_buffer)
|
|||
struct v3dv_image_view *dst_iview =
|
||||
cmd_buffer->state.attachments[dst_attachment_idx].image_view;
|
||||
|
||||
VkImageResolve2KHR region = {
|
||||
.sType = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR,
|
||||
VkImageResolve2 region = {
|
||||
.sType = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
|
||||
.srcSubresource = {
|
||||
VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
src_iview->vk.base_mip_level,
|
||||
|
@ -913,8 +913,8 @@ cmd_buffer_subpass_handle_pending_resolves(struct v3dv_cmd_buffer *cmd_buffer)
|
|||
|
||||
struct v3dv_image *src_image = (struct v3dv_image *) src_iview->vk.image;
|
||||
struct v3dv_image *dst_image = (struct v3dv_image *) dst_iview->vk.image;
|
||||
VkResolveImageInfo2KHR resolve_info = {
|
||||
.sType = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR,
|
||||
VkResolveImageInfo2 resolve_info = {
|
||||
.sType = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2,
|
||||
.srcImage = v3dv_image_to_handle(src_image),
|
||||
.srcImageLayout = VK_IMAGE_LAYOUT_GENERAL,
|
||||
.dstImage = v3dv_image_to_handle(dst_image),
|
||||
|
@ -1184,8 +1184,8 @@ cmd_buffer_state_set_attachments(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
V3DV_FROM_HANDLE(v3dv_render_pass, pass, pRenderPassBegin->renderPass);
|
||||
V3DV_FROM_HANDLE(v3dv_framebuffer, framebuffer, pRenderPassBegin->framebuffer);
|
||||
|
||||
const VkRenderPassAttachmentBeginInfoKHR *attach_begin =
|
||||
vk_find_struct_const(pRenderPassBegin, RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR);
|
||||
const VkRenderPassAttachmentBeginInfo *attach_begin =
|
||||
vk_find_struct_const(pRenderPassBegin, RENDER_PASS_ATTACHMENT_BEGIN_INFO);
|
||||
|
||||
struct v3dv_cmd_buffer_state *state = &cmd_buffer->state;
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ descriptor_bo_map(struct v3dv_device *device,
|
|||
*/
|
||||
uint32_t bo_size = v3dv_X(device, descriptor_bo_size)(binding_layout->type);
|
||||
assert(bo_size > 0 ||
|
||||
binding_layout->type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT);
|
||||
binding_layout->type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK);
|
||||
|
||||
return set->pool->bo->map +
|
||||
set->base_offset + binding_layout->descriptor_offset +
|
||||
|
@ -132,7 +132,7 @@ v3dv_descriptor_map_get_descriptor_bo(struct v3dv_device *device,
|
|||
const struct v3dv_descriptor_set_binding_layout *binding_layout =
|
||||
&set->layout->binding[binding_number];
|
||||
|
||||
assert(binding_layout->type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT ||
|
||||
assert(binding_layout->type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK ||
|
||||
v3dv_X(device, descriptor_bo_size)(binding_layout->type) > 0);
|
||||
if (out_type)
|
||||
*out_type = binding_layout->type;
|
||||
|
@ -436,7 +436,7 @@ v3dv_CreateDescriptorPool(VkDevice _device,
|
|||
case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
|
||||
case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
|
||||
case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT:
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK:
|
||||
break;
|
||||
default:
|
||||
unreachable("Unimplemented descriptor type");
|
||||
|
@ -445,7 +445,7 @@ v3dv_CreateDescriptorPool(VkDevice _device,
|
|||
|
||||
assert(pCreateInfo->pPoolSizes[i].descriptorCount > 0);
|
||||
if (pCreateInfo->pPoolSizes[i].type ==
|
||||
VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT) {
|
||||
VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK) {
|
||||
/* Inline uniform blocks are specified to use the descriptor array
|
||||
* size as the size in bytes of the block.
|
||||
*/
|
||||
|
@ -695,7 +695,7 @@ v3dv_CreateDescriptorSetLayout(VkDevice _device,
|
|||
case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
|
||||
case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
|
||||
case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT:
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK:
|
||||
/* Nothing here, just to keep the descriptor type filtering below */
|
||||
break;
|
||||
default:
|
||||
|
@ -723,7 +723,7 @@ v3dv_CreateDescriptorSetLayout(VkDevice _device,
|
|||
|
||||
set_layout->shader_stages |= binding->stageFlags;
|
||||
|
||||
if (binding->descriptorType != VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT) {
|
||||
if (binding->descriptorType != VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK) {
|
||||
dynamic_offset_count += binding->descriptorCount *
|
||||
set_layout->binding[binding_number].dynamic_offset_count;
|
||||
|
||||
|
@ -1058,8 +1058,8 @@ write_inline_uniform_descriptor(struct v3dv_device *device,
|
|||
size_t offset,
|
||||
size_t size)
|
||||
{
|
||||
assert(binding_layout->type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT);
|
||||
descriptor->type = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT;
|
||||
assert(binding_layout->type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK);
|
||||
descriptor->type = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK;
|
||||
descriptor->buffer = NULL;
|
||||
|
||||
void *desc_map = descriptor_bo_map(device, set, binding_layout, 0);
|
||||
|
@ -1098,7 +1098,7 @@ v3dv_UpdateDescriptorSets(VkDevice _device,
|
|||
* to specify the size (in bytes) of the update.
|
||||
*/
|
||||
uint32_t descriptor_count;
|
||||
if (writeset->descriptorType != VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT) {
|
||||
if (writeset->descriptorType != VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK) {
|
||||
descriptor += writeset->dstArrayElement;
|
||||
descriptor_count = writeset->descriptorCount;
|
||||
} else {
|
||||
|
@ -1160,7 +1160,7 @@ v3dv_UpdateDescriptorSets(VkDevice _device,
|
|||
writeset->dstArrayElement + j);
|
||||
break;
|
||||
}
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT: {
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK: {
|
||||
const VkWriteDescriptorSetInlineUniformBlock *inline_write =
|
||||
vk_find_struct_const(writeset->pNext,
|
||||
WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK);
|
||||
|
@ -1405,7 +1405,7 @@ v3dv_UpdateDescriptorSetWithTemplate(
|
|||
}
|
||||
break;
|
||||
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT: {
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK: {
|
||||
write_inline_uniform_descriptor(device, descriptor, set,
|
||||
binding_layout,
|
||||
pData + entry->offset,
|
||||
|
|
|
@ -1599,10 +1599,10 @@ v3dv_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,
|
|||
.shaderRoundingModeRTZFloat32 = false,
|
||||
.shaderRoundingModeRTZFloat64 = false,
|
||||
};
|
||||
memset(vk12.driverName, 0, VK_MAX_DRIVER_NAME_SIZE_KHR);
|
||||
snprintf(vk12.driverName, VK_MAX_DRIVER_NAME_SIZE_KHR, "V3DV Mesa");
|
||||
memset(vk12.driverInfo, 0, VK_MAX_DRIVER_INFO_SIZE_KHR);
|
||||
snprintf(vk12.driverInfo, VK_MAX_DRIVER_INFO_SIZE_KHR,
|
||||
memset(vk12.driverName, 0, VK_MAX_DRIVER_NAME_SIZE);
|
||||
snprintf(vk12.driverName, VK_MAX_DRIVER_NAME_SIZE, "V3DV Mesa");
|
||||
memset(vk12.driverInfo, 0, VK_MAX_DRIVER_INFO_SIZE);
|
||||
snprintf(vk12.driverInfo, VK_MAX_DRIVER_INFO_SIZE,
|
||||
"Mesa " PACKAGE_VERSION MESA_GIT_SHA1);
|
||||
|
||||
VkPhysicalDeviceVulkan11Properties vk11 = {
|
||||
|
@ -2242,12 +2242,12 @@ v3dv_AllocateMemory(VkDevice _device,
|
|||
* devices per device group, so we can ignore this.
|
||||
*/
|
||||
break;
|
||||
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR:
|
||||
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO:
|
||||
/* We don't have particular optimizations associated with memory
|
||||
* allocations that won't be suballocated to multiple resources.
|
||||
*/
|
||||
break;
|
||||
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR:
|
||||
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
|
||||
/* The mask of handle types specified here must be supported
|
||||
* according to VkExternalImageFormatProperties, so it must be
|
||||
* fd or dmabuf, which don't have special requirements for us.
|
||||
|
|
|
@ -123,7 +123,7 @@ v3dv_get_compatible_tfu_format(struct v3dv_device *device,
|
|||
return format;
|
||||
}
|
||||
|
||||
static VkFormatFeatureFlags2KHR
|
||||
static VkFormatFeatureFlags2
|
||||
image_format_features(struct v3dv_physical_device *pdevice,
|
||||
VkFormat vk_format,
|
||||
const struct v3dv_format *v3dv_format,
|
||||
|
@ -150,7 +150,7 @@ image_format_features(struct v3dv_physical_device *pdevice,
|
|||
return 0;
|
||||
}
|
||||
|
||||
VkFormatFeatureFlags2KHR flags = 0;
|
||||
VkFormatFeatureFlags2 flags = 0;
|
||||
|
||||
/* Raster format is only supported for 1D textures, so let's just
|
||||
* always require optimal tiling for anything that requires sampling.
|
||||
|
@ -209,7 +209,7 @@ image_format_features(struct v3dv_physical_device *pdevice,
|
|||
return flags;
|
||||
}
|
||||
|
||||
static VkFormatFeatureFlags2KHR
|
||||
static VkFormatFeatureFlags2
|
||||
buffer_format_features(VkFormat vk_format, const struct v3dv_format *v3dv_format)
|
||||
{
|
||||
if (!v3dv_format || !v3dv_format->supported)
|
||||
|
@ -228,7 +228,7 @@ buffer_format_features(VkFormat vk_format, const struct v3dv_format *v3dv_format
|
|||
vk_format_description(vk_format);
|
||||
assert(desc);
|
||||
|
||||
VkFormatFeatureFlags2KHR flags = 0;
|
||||
VkFormatFeatureFlags2 flags = 0;
|
||||
if (desc->layout == UTIL_FORMAT_LAYOUT_PLAIN &&
|
||||
desc->colorspace == UTIL_FORMAT_COLORSPACE_RGB &&
|
||||
desc->is_array) {
|
||||
|
@ -260,10 +260,10 @@ buffer_format_features(VkFormat vk_format, const struct v3dv_format *v3dv_format
|
|||
bool
|
||||
v3dv_buffer_format_supports_features(struct v3dv_device *device,
|
||||
VkFormat vk_format,
|
||||
VkFormatFeatureFlags2KHR features)
|
||||
VkFormatFeatureFlags2 features)
|
||||
{
|
||||
const struct v3dv_format *v3dv_format = v3dv_X(device, get_format)(vk_format);
|
||||
const VkFormatFeatureFlags2KHR supported =
|
||||
const VkFormatFeatureFlags2 supported =
|
||||
buffer_format_features(vk_format, v3dv_format);
|
||||
return (supported & features) == features;
|
||||
}
|
||||
|
@ -272,7 +272,7 @@ v3dv_buffer_format_supports_features(struct v3dv_device *device,
|
|||
* place?
|
||||
*/
|
||||
static inline VkFormatFeatureFlags
|
||||
features2_to_features(VkFormatFeatureFlags2KHR features2)
|
||||
features2_to_features(VkFormatFeatureFlags2 features2)
|
||||
{
|
||||
return features2 & VK_ALL_FORMAT_FEATURE_FLAG_BITS;
|
||||
}
|
||||
|
@ -285,7 +285,7 @@ v3dv_GetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice,
|
|||
V3DV_FROM_HANDLE(v3dv_physical_device, pdevice, physicalDevice);
|
||||
const struct v3dv_format *v3dv_format = v3dv_X(pdevice, get_format)(format);
|
||||
|
||||
VkFormatFeatureFlags2KHR linear2, optimal2, buffer2;
|
||||
VkFormatFeatureFlags2 linear2, optimal2, buffer2;
|
||||
linear2 = image_format_features(pdevice, format, v3dv_format,
|
||||
VK_IMAGE_TILING_LINEAR);
|
||||
optimal2 = image_format_features(pdevice, format, v3dv_format,
|
||||
|
@ -324,8 +324,8 @@ v3dv_GetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice,
|
|||
}
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR: {
|
||||
VkFormatProperties3KHR *props = (VkFormatProperties3KHR *)ext;
|
||||
case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
|
||||
VkFormatProperties3 *props = (VkFormatProperties3 *)ext;
|
||||
props->linearTilingFeatures = linear2;
|
||||
props->optimalTilingFeatures = optimal2;
|
||||
props->bufferFeatures = buffer2;
|
||||
|
@ -347,7 +347,7 @@ get_image_format_properties(
|
|||
VkSamplerYcbcrConversionImageFormatProperties *pYcbcrImageFormatProperties)
|
||||
{
|
||||
const struct v3dv_format *v3dv_format = v3dv_X(physical_device, get_format)(info->format);
|
||||
VkFormatFeatureFlags2KHR format_feature_flags =
|
||||
VkFormatFeatureFlags2 format_feature_flags =
|
||||
image_format_features(physical_device, info->format, v3dv_format, tiling);
|
||||
if (!format_feature_flags)
|
||||
goto unsupported;
|
||||
|
|
|
@ -378,7 +378,7 @@ static bool
|
|||
copy_image_to_buffer_tlb(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_buffer *buffer,
|
||||
struct v3dv_image *image,
|
||||
const VkBufferImageCopy2KHR *region)
|
||||
const VkBufferImageCopy2 *region)
|
||||
{
|
||||
VkFormat fb_format;
|
||||
if (!v3dv_meta_can_use_tlb(image, ®ion->imageOffset, &fb_format))
|
||||
|
@ -431,7 +431,7 @@ blit_shader(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
VkFormat src_format,
|
||||
VkColorComponentFlags cmask,
|
||||
VkComponentMapping *cswizzle,
|
||||
const VkImageBlit2KHR *region,
|
||||
const VkImageBlit2 *region,
|
||||
VkFilter filter,
|
||||
bool dst_is_padded_image);
|
||||
|
||||
|
@ -443,7 +443,7 @@ static bool
|
|||
copy_image_to_buffer_blit(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_buffer *buffer,
|
||||
struct v3dv_image *image,
|
||||
const VkBufferImageCopy2KHR *region)
|
||||
const VkBufferImageCopy2 *region)
|
||||
{
|
||||
bool handled = false;
|
||||
|
||||
|
@ -684,8 +684,8 @@ copy_image_to_buffer_blit(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
* image, but that we need to blit to a S8D24 destination (the only
|
||||
* stencil format we support).
|
||||
*/
|
||||
const VkImageBlit2KHR blit_region = {
|
||||
.sType = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR,
|
||||
const VkImageBlit2 blit_region = {
|
||||
.sType = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
|
||||
.srcSubresource = {
|
||||
.aspectMask = copy_aspect,
|
||||
.mipLevel = region->imageSubresource.mipLevel,
|
||||
|
@ -740,7 +740,7 @@ copy_image_to_buffer_blit(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
||||
v3dv_CmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer,
|
||||
const VkCopyImageToBufferInfo2KHR *info)
|
||||
const VkCopyImageToBufferInfo2 *info)
|
||||
|
||||
{
|
||||
V3DV_FROM_HANDLE(v3dv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||
|
@ -770,7 +770,7 @@ static bool
|
|||
copy_image_tfu(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_image *dst,
|
||||
struct v3dv_image *src,
|
||||
const VkImageCopy2KHR *region)
|
||||
const VkImageCopy2 *region)
|
||||
{
|
||||
/* Destination can't be raster format */
|
||||
if (dst->vk.tiling == VK_IMAGE_TILING_LINEAR)
|
||||
|
@ -899,7 +899,7 @@ static bool
|
|||
copy_image_tlb(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_image *dst,
|
||||
struct v3dv_image *src,
|
||||
const VkImageCopy2KHR *region)
|
||||
const VkImageCopy2 *region)
|
||||
{
|
||||
VkFormat fb_format;
|
||||
if (!v3dv_meta_can_use_tlb(src, ®ion->srcOffset, &fb_format) ||
|
||||
|
@ -1024,7 +1024,7 @@ static bool
|
|||
copy_image_blit(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_image *dst,
|
||||
struct v3dv_image *src,
|
||||
const VkImageCopy2KHR *region)
|
||||
const VkImageCopy2 *region)
|
||||
{
|
||||
const uint32_t src_block_w = vk_format_get_blockwidth(src->vk.format);
|
||||
const uint32_t src_block_h = vk_format_get_blockheight(src->vk.format);
|
||||
|
@ -1144,8 +1144,8 @@ copy_image_blit(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
dst_start.z + region->extent.depth,
|
||||
};
|
||||
|
||||
const VkImageBlit2KHR blit_region = {
|
||||
.sType = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR,
|
||||
const VkImageBlit2 blit_region = {
|
||||
.sType = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
|
||||
.srcSubresource = region->srcSubresource,
|
||||
.srcOffsets = { src_start, src_end },
|
||||
.dstSubresource = region->dstSubresource,
|
||||
|
@ -1164,7 +1164,7 @@ copy_image_blit(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
||||
v3dv_CmdCopyImage2KHR(VkCommandBuffer commandBuffer,
|
||||
const VkCopyImageInfo2KHR *info)
|
||||
const VkCopyImageInfo2 *info)
|
||||
|
||||
{
|
||||
V3DV_FROM_HANDLE(v3dv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||
|
@ -1190,7 +1190,7 @@ v3dv_CmdCopyImage2KHR(VkCommandBuffer commandBuffer,
|
|||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
||||
v3dv_CmdCopyBuffer2KHR(VkCommandBuffer commandBuffer,
|
||||
const VkCopyBufferInfo2KHR *pCopyBufferInfo)
|
||||
const VkCopyBufferInfo2 *pCopyBufferInfo)
|
||||
{
|
||||
V3DV_FROM_HANDLE(v3dv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||
V3DV_FROM_HANDLE(v3dv_buffer, src_buffer, pCopyBufferInfo->srcBuffer);
|
||||
|
@ -1248,8 +1248,8 @@ v3dv_CmdUpdateBuffer(VkCommandBuffer commandBuffer,
|
|||
|
||||
v3dv_bo_unmap(cmd_buffer->device, src_bo);
|
||||
|
||||
VkBufferCopy2KHR region = {
|
||||
.sType = VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR,
|
||||
VkBufferCopy2 region = {
|
||||
.sType = VK_STRUCTURE_TYPE_BUFFER_COPY_2,
|
||||
.srcOffset = 0,
|
||||
.dstOffset = dstOffset,
|
||||
.size = dataSize,
|
||||
|
@ -1305,7 +1305,7 @@ static bool
|
|||
copy_buffer_to_image_tfu(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_image *image,
|
||||
struct v3dv_buffer *buffer,
|
||||
const VkBufferImageCopy2KHR *region)
|
||||
const VkBufferImageCopy2 *region)
|
||||
{
|
||||
assert(image->vk.samples == VK_SAMPLE_COUNT_1_BIT);
|
||||
|
||||
|
@ -1419,7 +1419,7 @@ static bool
|
|||
copy_buffer_to_image_tlb(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_image *image,
|
||||
struct v3dv_buffer *buffer,
|
||||
const VkBufferImageCopy2KHR *region)
|
||||
const VkBufferImageCopy2 *region)
|
||||
{
|
||||
VkFormat fb_format;
|
||||
if (!v3dv_meta_can_use_tlb(image, ®ion->imageOffset, &fb_format))
|
||||
|
@ -1468,7 +1468,7 @@ static bool
|
|||
create_tiled_image_from_buffer(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_image *image,
|
||||
struct v3dv_buffer *buffer,
|
||||
const VkBufferImageCopy2KHR *region)
|
||||
const VkBufferImageCopy2 *region)
|
||||
{
|
||||
if (copy_buffer_to_image_tfu(cmd_buffer, image, buffer, region))
|
||||
return true;
|
||||
|
@ -1968,7 +1968,7 @@ texel_buffer_shader_copy(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
VkColorComponentFlags cmask,
|
||||
VkComponentMapping *cswizzle,
|
||||
uint32_t region_count,
|
||||
const VkBufferImageCopy2KHR *regions)
|
||||
const VkBufferImageCopy2 *regions)
|
||||
{
|
||||
VkResult result;
|
||||
bool handled = false;
|
||||
|
@ -2224,7 +2224,7 @@ texel_buffer_shader_copy(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
/* For each region */
|
||||
dirty_dynamic_state = V3DV_CMD_DIRTY_VIEWPORT | V3DV_CMD_DIRTY_SCISSOR;
|
||||
for (uint32_t r = 0; r < region_count; r++) {
|
||||
const VkBufferImageCopy2KHR *region = ®ions[r];
|
||||
const VkBufferImageCopy2 *region = ®ions[r];
|
||||
|
||||
/* Obtain the 2D buffer region spec */
|
||||
uint32_t buf_width, buf_height;
|
||||
|
@ -2299,7 +2299,7 @@ copy_buffer_to_image_blit(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
VkColorComponentFlags cmask,
|
||||
VkComponentMapping *cswizzle,
|
||||
uint32_t region_count,
|
||||
const VkBufferImageCopy2KHR *regions)
|
||||
const VkBufferImageCopy2 *regions)
|
||||
{
|
||||
/* Since we can't sample linear images we need to upload the linear
|
||||
* buffer to a tiled image that we can use as a blit source, which
|
||||
|
@ -2381,7 +2381,7 @@ copy_buffer_to_image_blit(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
* the memory we have just allocated as storage.
|
||||
*/
|
||||
for (uint32_t r = 0; r < region_count; r++) {
|
||||
const VkBufferImageCopy2KHR *region = ®ions[r];
|
||||
const VkBufferImageCopy2 *region = ®ions[r];
|
||||
|
||||
/* Obtain the 2D buffer region spec */
|
||||
uint32_t buf_width, buf_height;
|
||||
|
@ -2435,8 +2435,8 @@ copy_buffer_to_image_blit(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
/* Upload buffer contents for the selected layer */
|
||||
const VkDeviceSize buf_offset_bytes =
|
||||
region->bufferOffset + i * buf_height * buf_width * buffer_bpp;
|
||||
const VkBufferImageCopy2KHR buffer_image_copy = {
|
||||
.sType = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR,
|
||||
const VkBufferImageCopy2 buffer_image_copy = {
|
||||
.sType = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
|
||||
.bufferOffset = buf_offset_bytes,
|
||||
.bufferRowLength = region->bufferRowLength / block_width,
|
||||
.bufferImageHeight = region->bufferImageHeight / block_height,
|
||||
|
@ -2470,8 +2470,8 @@ copy_buffer_to_image_blit(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
* image, but that we need to blit to a S8D24 destination (the only
|
||||
* stencil format we support).
|
||||
*/
|
||||
const VkImageBlit2KHR blit_region = {
|
||||
.sType = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR,
|
||||
const VkImageBlit2 blit_region = {
|
||||
.sType = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
|
||||
.srcSubresource = {
|
||||
.aspectMask = aspect,
|
||||
.mipLevel = 0,
|
||||
|
@ -2529,7 +2529,7 @@ copy_buffer_to_image_shader(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
struct v3dv_image *image,
|
||||
struct v3dv_buffer *buffer,
|
||||
uint32_t region_count,
|
||||
const VkBufferImageCopy2KHR *regions,
|
||||
const VkBufferImageCopy2 *regions,
|
||||
bool use_texel_buffer)
|
||||
{
|
||||
/* We can only call this with region_count > 1 if we can batch the regions
|
||||
|
@ -2658,7 +2658,7 @@ static bool
|
|||
copy_buffer_to_image_cpu(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_image *image,
|
||||
struct v3dv_buffer *buffer,
|
||||
const VkBufferImageCopy2KHR *region)
|
||||
const VkBufferImageCopy2 *region)
|
||||
{
|
||||
/* FIXME */
|
||||
if (vk_format_is_depth_or_stencil(image->vk.format))
|
||||
|
@ -2718,7 +2718,7 @@ copy_buffer_to_image_cpu(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
||||
v3dv_CmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer,
|
||||
const VkCopyBufferToImageInfo2KHR *info)
|
||||
const VkCopyBufferToImageInfo2 *info)
|
||||
{
|
||||
V3DV_FROM_HANDLE(v3dv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||
V3DV_FROM_HANDLE(v3dv_buffer, buffer, info->srcBuffer);
|
||||
|
@ -2812,7 +2812,7 @@ static bool
|
|||
blit_tfu(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_image *dst,
|
||||
struct v3dv_image *src,
|
||||
const VkImageBlit2KHR *region)
|
||||
const VkImageBlit2 *region)
|
||||
{
|
||||
assert(dst->vk.samples == VK_SAMPLE_COUNT_1_BIT);
|
||||
assert(src->vk.samples == VK_SAMPLE_COUNT_1_BIT);
|
||||
|
@ -3831,7 +3831,7 @@ blit_shader(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
VkFormat src_format,
|
||||
VkColorComponentFlags cmask,
|
||||
VkComponentMapping *cswizzle,
|
||||
const VkImageBlit2KHR *region,
|
||||
const VkImageBlit2 *region,
|
||||
VkFilter filter,
|
||||
bool dst_is_padded_image)
|
||||
{
|
||||
|
@ -4249,7 +4249,7 @@ fail:
|
|||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
||||
v3dv_CmdBlitImage2KHR(VkCommandBuffer commandBuffer,
|
||||
const VkBlitImageInfo2KHR *pBlitImageInfo)
|
||||
const VkBlitImageInfo2 *pBlitImageInfo)
|
||||
{
|
||||
V3DV_FROM_HANDLE(v3dv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||
V3DV_FROM_HANDLE(v3dv_image, src, pBlitImageInfo->srcImage);
|
||||
|
@ -4289,7 +4289,7 @@ static bool
|
|||
resolve_image_tlb(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_image *dst,
|
||||
struct v3dv_image *src,
|
||||
const VkImageResolve2KHR *region)
|
||||
const VkImageResolve2 *region)
|
||||
{
|
||||
if (!v3dv_meta_can_use_tlb(src, ®ion->srcOffset, NULL) ||
|
||||
!v3dv_meta_can_use_tlb(dst, ®ion->dstOffset, NULL)) {
|
||||
|
@ -4342,10 +4342,10 @@ static bool
|
|||
resolve_image_blit(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_image *dst,
|
||||
struct v3dv_image *src,
|
||||
const VkImageResolve2KHR *region)
|
||||
const VkImageResolve2 *region)
|
||||
{
|
||||
const VkImageBlit2KHR blit_region = {
|
||||
.sType = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR,
|
||||
const VkImageBlit2 blit_region = {
|
||||
.sType = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
|
||||
.srcSubresource = region->srcSubresource,
|
||||
.srcOffsets = {
|
||||
region->srcOffset,
|
||||
|
@ -4372,7 +4372,7 @@ resolve_image_blit(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
||||
v3dv_CmdResolveImage2KHR(VkCommandBuffer commandBuffer,
|
||||
const VkResolveImageInfo2KHR *info)
|
||||
const VkResolveImageInfo2 *info)
|
||||
|
||||
{
|
||||
V3DV_FROM_HANDLE(v3dv_cmd_buffer, cmd_buffer, commandBuffer);
|
||||
|
|
|
@ -255,7 +255,7 @@ v3dv_CreateRenderPass2(VkDevice _device,
|
|||
}
|
||||
|
||||
/* VK_KHR_depth_stencil_resolve */
|
||||
const VkSubpassDescriptionDepthStencilResolveKHR *resolve_desc =
|
||||
const VkSubpassDescriptionDepthStencilResolve *resolve_desc =
|
||||
vk_find_struct_const(desc->pNext, SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE);
|
||||
const VkAttachmentReference2 *resolve_att =
|
||||
resolve_desc && resolve_desc->pDepthStencilResolveAttachment &&
|
||||
|
|
|
@ -564,7 +564,7 @@ pipeline_get_descriptor_map(struct v3dv_pipeline *pipeline,
|
|||
&pipeline->shared_data->maps[broadcom_stage]->texture_map;
|
||||
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
|
||||
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT:
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK:
|
||||
return &pipeline->shared_data->maps[broadcom_stage]->ubo_map;
|
||||
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
|
||||
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
|
||||
|
@ -599,7 +599,7 @@ lower_vulkan_resource_index(nir_builder *b,
|
|||
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
|
||||
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
|
||||
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT: {
|
||||
case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK: {
|
||||
struct v3dv_descriptor_map *descriptor_map =
|
||||
pipeline_get_descriptor_map(pipeline, binding_layout->type,
|
||||
shader->info.stage, false);
|
||||
|
@ -631,7 +631,7 @@ lower_vulkan_resource_index(nir_builder *b,
|
|||
/* We always reserve index 0 for push constants */
|
||||
if (binding_layout->type == VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER ||
|
||||
binding_layout->type == VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC ||
|
||||
binding_layout->type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT) {
|
||||
binding_layout->type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK) {
|
||||
index++;
|
||||
}
|
||||
|
||||
|
@ -1434,7 +1434,7 @@ pipeline_stage_create_binning(const struct v3dv_pipeline_stage *src,
|
|||
*/
|
||||
p_stage->nir = NULL;
|
||||
p_stage->spec_info = src->spec_info;
|
||||
p_stage->feedback = (VkPipelineCreationFeedbackEXT) { 0 };
|
||||
p_stage->feedback = (VkPipelineCreationFeedback) { 0 };
|
||||
memcpy(p_stage->shader_sha1, src->shader_sha1, 20);
|
||||
|
||||
return p_stage;
|
||||
|
@ -2114,12 +2114,12 @@ fail:
|
|||
static void
|
||||
write_creation_feedback(struct v3dv_pipeline *pipeline,
|
||||
const void *next,
|
||||
const VkPipelineCreationFeedbackEXT *pipeline_feedback,
|
||||
const VkPipelineCreationFeedback *pipeline_feedback,
|
||||
uint32_t stage_count,
|
||||
const VkPipelineShaderStageCreateInfo *stages)
|
||||
{
|
||||
const VkPipelineCreationFeedbackCreateInfoEXT *create_feedback =
|
||||
vk_find_struct_const(next, PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT);
|
||||
const VkPipelineCreationFeedbackCreateInfo *create_feedback =
|
||||
vk_find_struct_const(next, PIPELINE_CREATION_FEEDBACK_CREATE_INFO);
|
||||
|
||||
if (create_feedback) {
|
||||
typed_memcpy(create_feedback->pPipelineCreationFeedback,
|
||||
|
@ -2339,8 +2339,8 @@ pipeline_compile_graphics(struct v3dv_pipeline *pipeline,
|
|||
const VkGraphicsPipelineCreateInfo *pCreateInfo,
|
||||
const VkAllocationCallbacks *pAllocator)
|
||||
{
|
||||
VkPipelineCreationFeedbackEXT pipeline_feedback = {
|
||||
.flags = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT,
|
||||
VkPipelineCreationFeedback pipeline_feedback = {
|
||||
.flags = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
|
||||
};
|
||||
int64_t pipeline_start = os_time_get_nano();
|
||||
|
||||
|
@ -2478,14 +2478,14 @@ pipeline_compile_graphics(struct v3dv_pipeline *pipeline,
|
|||
|
||||
if (cache_hit && cache != &pipeline->device->default_pipeline_cache)
|
||||
pipeline_feedback.flags |=
|
||||
VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT;
|
||||
VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT;
|
||||
|
||||
goto success;
|
||||
}
|
||||
}
|
||||
|
||||
if (pCreateInfo->flags & VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT)
|
||||
return VK_PIPELINE_COMPILE_REQUIRED_EXT;
|
||||
if (pCreateInfo->flags & VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT)
|
||||
return VK_PIPELINE_COMPILE_REQUIRED;
|
||||
|
||||
/* Otherwise we try to get the NIR shaders (either from the original SPIR-V
|
||||
* shader or the pipeline cache) and compile.
|
||||
|
@ -2494,12 +2494,12 @@ pipeline_compile_graphics(struct v3dv_pipeline *pipeline,
|
|||
v3dv_pipeline_shared_data_new_empty(pipeline->sha1, pipeline, true);
|
||||
|
||||
pipeline->vs->feedback.flags |=
|
||||
VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT;
|
||||
VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT;
|
||||
if (pipeline->gs)
|
||||
pipeline->gs->feedback.flags |=
|
||||
VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT;
|
||||
VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT;
|
||||
pipeline->fs->feedback.flags |=
|
||||
VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT;
|
||||
VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT;
|
||||
|
||||
if (!pipeline->vs->nir)
|
||||
pipeline->vs->nir = pipeline_stage_get_nir(pipeline->vs, pipeline, cache);
|
||||
|
@ -3048,7 +3048,7 @@ graphics_pipeline_create(VkDevice _device,
|
|||
|
||||
if (result != VK_SUCCESS) {
|
||||
v3dv_destroy_pipeline(pipeline, device, pAllocator);
|
||||
if (result == VK_PIPELINE_COMPILE_REQUIRED_EXT)
|
||||
if (result == VK_PIPELINE_COMPILE_REQUIRED)
|
||||
*pPipeline = VK_NULL_HANDLE;
|
||||
return result;
|
||||
}
|
||||
|
@ -3087,7 +3087,7 @@ v3dv_CreateGraphicsPipelines(VkDevice _device,
|
|||
pPipelines[i] = VK_NULL_HANDLE;
|
||||
|
||||
if (pCreateInfos[i].flags &
|
||||
VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT)
|
||||
VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -3128,8 +3128,8 @@ pipeline_compile_compute(struct v3dv_pipeline *pipeline,
|
|||
const VkComputePipelineCreateInfo *info,
|
||||
const VkAllocationCallbacks *alloc)
|
||||
{
|
||||
VkPipelineCreationFeedbackEXT pipeline_feedback = {
|
||||
.flags = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT,
|
||||
VkPipelineCreationFeedback pipeline_feedback = {
|
||||
.flags = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
|
||||
};
|
||||
int64_t pipeline_start = os_time_get_nano();
|
||||
|
||||
|
@ -3152,7 +3152,7 @@ pipeline_compile_compute(struct v3dv_pipeline *pipeline,
|
|||
p_stage->entrypoint = sinfo->pName;
|
||||
p_stage->module = vk_shader_module_from_handle(sinfo->module);
|
||||
p_stage->spec_info = sinfo->pSpecializationInfo;
|
||||
p_stage->feedback = (VkPipelineCreationFeedbackEXT) { 0 };
|
||||
p_stage->feedback = (VkPipelineCreationFeedback) { 0 };
|
||||
|
||||
vk_pipeline_hash_shader_stage(&info->stage, p_stage->shader_sha1);
|
||||
|
||||
|
@ -3180,20 +3180,20 @@ pipeline_compile_compute(struct v3dv_pipeline *pipeline,
|
|||
assert(pipeline->shared_data->variants[BROADCOM_SHADER_COMPUTE]);
|
||||
if (cache_hit && cache != &pipeline->device->default_pipeline_cache)
|
||||
pipeline_feedback.flags |=
|
||||
VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT;
|
||||
VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT;
|
||||
|
||||
goto success;
|
||||
}
|
||||
}
|
||||
|
||||
if (info->flags & VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT)
|
||||
return VK_PIPELINE_COMPILE_REQUIRED_EXT;
|
||||
if (info->flags & VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT)
|
||||
return VK_PIPELINE_COMPILE_REQUIRED;
|
||||
|
||||
pipeline->shared_data = v3dv_pipeline_shared_data_new_empty(pipeline->sha1,
|
||||
pipeline,
|
||||
false);
|
||||
|
||||
p_stage->feedback.flags |= VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT;
|
||||
p_stage->feedback.flags |= VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT;
|
||||
|
||||
/* If not found on cache, compile it */
|
||||
p_stage->nir = pipeline_stage_get_nir(p_stage, pipeline, cache);
|
||||
|
@ -3284,7 +3284,7 @@ compute_pipeline_create(VkDevice _device,
|
|||
pCreateInfo, pAllocator);
|
||||
if (result != VK_SUCCESS) {
|
||||
v3dv_destroy_pipeline(pipeline, device, pAllocator);
|
||||
if (result == VK_PIPELINE_COMPILE_REQUIRED_EXT)
|
||||
if (result == VK_PIPELINE_COMPILE_REQUIRED)
|
||||
*pPipeline = VK_NULL_HANDLE;
|
||||
return result;
|
||||
}
|
||||
|
@ -3322,7 +3322,7 @@ v3dv_CreateComputePipelines(VkDevice _device,
|
|||
pPipelines[i] = VK_NULL_HANDLE;
|
||||
|
||||
if (pCreateInfos[i].flags &
|
||||
VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT)
|
||||
VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -221,7 +221,7 @@ v3dv_pipeline_cache_init(struct v3dv_pipeline_cache *cache,
|
|||
cache->stats.count = 0;
|
||||
|
||||
cache->externally_synchronized = flags &
|
||||
VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT;
|
||||
VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT;
|
||||
} else {
|
||||
cache->nir_cache = NULL;
|
||||
cache->cache = NULL;
|
||||
|
|
|
@ -1617,7 +1617,7 @@ struct v3dv_pipeline_stage {
|
|||
/** A name for this program, so you can track it in shader-db output. */
|
||||
uint32_t program_id;
|
||||
|
||||
VkPipelineCreationFeedbackEXT feedback;
|
||||
VkPipelineCreationFeedback feedback;
|
||||
};
|
||||
|
||||
/* We are using the descriptor pool entry for two things:
|
||||
|
@ -2085,7 +2085,7 @@ v3dv_get_compatible_tfu_format(struct v3dv_device *device,
|
|||
uint32_t bpp, VkFormat *out_vk_format);
|
||||
bool v3dv_buffer_format_supports_features(struct v3dv_device *device,
|
||||
VkFormat vk_format,
|
||||
VkFormatFeatureFlags2KHR features);
|
||||
VkFormatFeatureFlags2 features);
|
||||
|
||||
struct v3dv_cl_reloc v3dv_write_uniforms(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
struct v3dv_pipeline *pipeline,
|
||||
|
|
|
@ -729,7 +729,7 @@ v3dv_EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
|
|||
for (int i = 0; i < ARRAY_SIZE(v3dv_counters); i++) {
|
||||
vk_outarray_append_typed(VkPerformanceCounterKHR, &out, counter) {
|
||||
counter->unit = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR;
|
||||
counter->scope = VK_QUERY_SCOPE_COMMAND_KHR;
|
||||
counter->scope = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR;
|
||||
counter->storage = VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR;
|
||||
|
||||
unsigned char sha1_result[20];
|
||||
|
|
|
@ -299,7 +299,7 @@ write_ubo_ssbo_uniforms(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
*/
|
||||
struct v3dv_bo *bo;
|
||||
uint32_t addr;
|
||||
if (descriptor->type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT) {
|
||||
if (descriptor->type == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK) {
|
||||
assert(dynamic_offset == 0);
|
||||
struct v3dv_cl_reloc reloc =
|
||||
v3dv_descriptor_map_get_descriptor_bo(cmd_buffer->device,
|
||||
|
|
|
@ -229,8 +229,8 @@ v3dX(get_format)(VkFormat format)
|
|||
|
||||
switch (format) {
|
||||
/* VK_EXT_4444_formats */
|
||||
case VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT:
|
||||
case VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT:
|
||||
case VK_FORMAT_A4R4G4B4_UNORM_PACK16:
|
||||
case VK_FORMAT_A4B4G4R4_UNORM_PACK16:
|
||||
return &format_table_4444[VK_ENUM_OFFSET(format)];
|
||||
|
||||
default:
|
||||
|
|
|
@ -478,7 +478,7 @@ emit_copy_layer_to_buffer_per_tile_list(struct v3dv_job *job,
|
|||
struct v3dv_buffer *buffer,
|
||||
struct v3dv_image *image,
|
||||
uint32_t layer_offset,
|
||||
const VkBufferImageCopy2KHR *region)
|
||||
const VkBufferImageCopy2 *region)
|
||||
{
|
||||
struct v3dv_cl *cl = &job->indirect;
|
||||
v3dv_cl_ensure_space(cl, 200, 1);
|
||||
|
@ -558,7 +558,7 @@ emit_copy_layer_to_buffer(struct v3dv_job *job,
|
|||
struct v3dv_image *image,
|
||||
struct v3dv_meta_framebuffer *framebuffer,
|
||||
uint32_t layer,
|
||||
const VkBufferImageCopy2KHR *region)
|
||||
const VkBufferImageCopy2 *region)
|
||||
{
|
||||
emit_copy_layer_to_buffer_per_tile_list(job, framebuffer, buffer,
|
||||
image, layer, region);
|
||||
|
@ -570,7 +570,7 @@ v3dX(meta_emit_copy_image_to_buffer_rcl)(struct v3dv_job *job,
|
|||
struct v3dv_buffer *buffer,
|
||||
struct v3dv_image *image,
|
||||
struct v3dv_meta_framebuffer *framebuffer,
|
||||
const VkBufferImageCopy2KHR *region)
|
||||
const VkBufferImageCopy2 *region)
|
||||
{
|
||||
struct v3dv_cl *rcl = emit_rcl_prologue(job, framebuffer, NULL);
|
||||
v3dv_return_if_oom(NULL, job);
|
||||
|
@ -587,7 +587,7 @@ emit_resolve_image_layer_per_tile_list(struct v3dv_job *job,
|
|||
struct v3dv_image *dst,
|
||||
struct v3dv_image *src,
|
||||
uint32_t layer_offset,
|
||||
const VkImageResolve2KHR *region)
|
||||
const VkImageResolve2 *region)
|
||||
{
|
||||
struct v3dv_cl *cl = &job->indirect;
|
||||
v3dv_cl_ensure_space(cl, 200, 1);
|
||||
|
@ -645,7 +645,7 @@ emit_resolve_image_layer(struct v3dv_job *job,
|
|||
struct v3dv_image *src,
|
||||
struct v3dv_meta_framebuffer *framebuffer,
|
||||
uint32_t layer,
|
||||
const VkImageResolve2KHR *region)
|
||||
const VkImageResolve2 *region)
|
||||
{
|
||||
emit_resolve_image_layer_per_tile_list(job, framebuffer,
|
||||
dst, src, layer, region);
|
||||
|
@ -657,7 +657,7 @@ v3dX(meta_emit_resolve_image_rcl)(struct v3dv_job *job,
|
|||
struct v3dv_image *dst,
|
||||
struct v3dv_image *src,
|
||||
struct v3dv_meta_framebuffer *framebuffer,
|
||||
const VkImageResolve2KHR *region)
|
||||
const VkImageResolve2 *region)
|
||||
{
|
||||
struct v3dv_cl *rcl = emit_rcl_prologue(job, framebuffer, NULL);
|
||||
v3dv_return_if_oom(NULL, job);
|
||||
|
@ -748,7 +748,7 @@ emit_copy_image_layer_per_tile_list(struct v3dv_job *job,
|
|||
struct v3dv_image *dst,
|
||||
struct v3dv_image *src,
|
||||
uint32_t layer_offset,
|
||||
const VkImageCopy2KHR *region)
|
||||
const VkImageCopy2 *region)
|
||||
{
|
||||
struct v3dv_cl *cl = &job->indirect;
|
||||
v3dv_cl_ensure_space(cl, 200, 1);
|
||||
|
@ -806,7 +806,7 @@ emit_copy_image_layer(struct v3dv_job *job,
|
|||
struct v3dv_image *src,
|
||||
struct v3dv_meta_framebuffer *framebuffer,
|
||||
uint32_t layer,
|
||||
const VkImageCopy2KHR *region)
|
||||
const VkImageCopy2 *region)
|
||||
{
|
||||
emit_copy_image_layer_per_tile_list(job, framebuffer, dst, src, layer, region);
|
||||
emit_supertile_coordinates(job, framebuffer);
|
||||
|
@ -817,7 +817,7 @@ v3dX(meta_emit_copy_image_rcl)(struct v3dv_job *job,
|
|||
struct v3dv_image *dst,
|
||||
struct v3dv_image *src,
|
||||
struct v3dv_meta_framebuffer *framebuffer,
|
||||
const VkImageCopy2KHR *region)
|
||||
const VkImageCopy2 *region)
|
||||
{
|
||||
struct v3dv_cl *rcl = emit_rcl_prologue(job, framebuffer, NULL);
|
||||
v3dv_return_if_oom(NULL, job);
|
||||
|
@ -1049,7 +1049,7 @@ emit_copy_buffer_to_layer_per_tile_list(struct v3dv_job *job,
|
|||
struct v3dv_image *image,
|
||||
struct v3dv_buffer *buffer,
|
||||
uint32_t layer,
|
||||
const VkBufferImageCopy2KHR *region)
|
||||
const VkBufferImageCopy2 *region)
|
||||
{
|
||||
struct v3dv_cl *cl = &job->indirect;
|
||||
v3dv_cl_ensure_space(cl, 200, 1);
|
||||
|
@ -1161,7 +1161,7 @@ emit_copy_buffer_to_layer(struct v3dv_job *job,
|
|||
struct v3dv_buffer *buffer,
|
||||
struct v3dv_meta_framebuffer *framebuffer,
|
||||
uint32_t layer,
|
||||
const VkBufferImageCopy2KHR *region)
|
||||
const VkBufferImageCopy2 *region)
|
||||
{
|
||||
emit_copy_buffer_to_layer_per_tile_list(job, framebuffer, image, buffer,
|
||||
layer, region);
|
||||
|
@ -1173,7 +1173,7 @@ v3dX(meta_emit_copy_buffer_to_image_rcl)(struct v3dv_job *job,
|
|||
struct v3dv_image *image,
|
||||
struct v3dv_buffer *buffer,
|
||||
struct v3dv_meta_framebuffer *framebuffer,
|
||||
const VkBufferImageCopy2KHR *region)
|
||||
const VkBufferImageCopy2 *region)
|
||||
{
|
||||
struct v3dv_cl *rcl = emit_rcl_prologue(job, framebuffer, NULL);
|
||||
v3dv_return_if_oom(NULL, job);
|
||||
|
@ -1225,7 +1225,7 @@ v3dX(meta_copy_buffer)(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
uint32_t dst_offset,
|
||||
struct v3dv_bo *src,
|
||||
uint32_t src_offset,
|
||||
const VkBufferCopy2KHR *region)
|
||||
const VkBufferCopy2 *region)
|
||||
{
|
||||
const uint32_t internal_bpp = V3D_INTERNAL_BPP_32;
|
||||
const uint32_t internal_type = V3D_INTERNAL_TYPE_8UI;
|
||||
|
|
|
@ -190,14 +190,14 @@ v3dX(meta_emit_copy_image_to_buffer_rcl)(struct v3dv_job *job,
|
|||
struct v3dv_buffer *buffer,
|
||||
struct v3dv_image *image,
|
||||
struct v3dv_meta_framebuffer *framebuffer,
|
||||
const VkBufferImageCopy2KHR *region);
|
||||
const VkBufferImageCopy2 *region);
|
||||
|
||||
void
|
||||
v3dX(meta_emit_resolve_image_rcl)(struct v3dv_job *job,
|
||||
struct v3dv_image *dst,
|
||||
struct v3dv_image *src,
|
||||
struct v3dv_meta_framebuffer *framebuffer,
|
||||
const VkImageResolve2KHR *region);
|
||||
const VkImageResolve2 *region);
|
||||
|
||||
void
|
||||
v3dX(meta_emit_copy_buffer)(struct v3dv_job *job,
|
||||
|
@ -224,7 +224,7 @@ v3dX(meta_emit_copy_image_rcl)(struct v3dv_job *job,
|
|||
struct v3dv_image *dst,
|
||||
struct v3dv_image *src,
|
||||
struct v3dv_meta_framebuffer *framebuffer,
|
||||
const VkImageCopy2KHR *region);
|
||||
const VkImageCopy2 *region);
|
||||
|
||||
void
|
||||
v3dX(meta_emit_tfu_job)(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
|
@ -264,7 +264,7 @@ v3dX(meta_emit_copy_buffer_to_image_rcl)(struct v3dv_job *job,
|
|||
struct v3dv_image *image,
|
||||
struct v3dv_buffer *buffer,
|
||||
struct v3dv_meta_framebuffer *framebuffer,
|
||||
const VkBufferImageCopy2KHR *region);
|
||||
const VkBufferImageCopy2 *region);
|
||||
|
||||
void
|
||||
v3dX(get_internal_type_bpp_for_image_aspects)(VkFormat vk_format,
|
||||
|
@ -278,7 +278,7 @@ v3dX(meta_copy_buffer)(struct v3dv_cmd_buffer *cmd_buffer,
|
|||
uint32_t dst_offset,
|
||||
struct v3dv_bo *src,
|
||||
uint32_t src_offset,
|
||||
const VkBufferCopy2KHR *region);
|
||||
const VkBufferCopy2 *region);
|
||||
|
||||
void
|
||||
v3dX(meta_fill_buffer)(struct v3dv_cmd_buffer *cmd_buffer,
|
||||
|
|
Loading…
Reference in New Issue