diff --git a/src/intel/vulkan/anv_buffer.c b/src/intel/vulkan/anv_buffer.c index 95beaa4bd72..e539cde8717 100644 --- a/src/intel/vulkan/anv_buffer.c +++ b/src/intel/vulkan/anv_buffer.c @@ -343,7 +343,7 @@ anv_fill_buffer_surface_state(struct anv_device *device, struct isl_swizzle swizzle, isl_surf_usage_flags_t usage, struct anv_address address, - uint32_t range, uint32_t stride) + uint64_t range, uint32_t stride) { if (address.bo && address.bo->alloc_flags & ANV_BO_ALLOC_PROTECTED) usage |= ISL_SURF_USAGE_PROTECTED_BIT; diff --git a/src/intel/vulkan/anv_buffer_view.c b/src/intel/vulkan/anv_buffer_view.c index 1b3ddb5eea8..6ea021ddbaf 100644 --- a/src/intel/vulkan/anv_buffer_view.c +++ b/src/intel/vulkan/anv_buffer_view.c @@ -11,7 +11,7 @@ anv_fill_buffer_view_surface_state(struct anv_device *device, struct isl_swizzle swizzle, isl_surf_usage_flags_t usage, struct anv_address address, - uint32_t range, uint32_t stride) + uint64_t range, uint32_t stride) { anv_fill_buffer_surface_state(device, state->state_data.data, @@ -49,8 +49,8 @@ anv_CreateBufferView(VkDevice _device, view->format = format.isl_format; const uint32_t format_bs = isl_format_get_layout(format.isl_format)->bpb / 8; - const uint32_t align_range = - align_down_npot_u32(view->vk.range, format_bs); + const uint64_t align_range = + align_down_npot_u64(view->vk.range, format_bs); view->address = anv_address_add(buffer->address, pCreateInfo->offset); diff --git a/src/intel/vulkan/anv_descriptor_set.c b/src/intel/vulkan/anv_descriptor_set.c index c7de6599f30..f9305f1b6a0 100644 --- a/src/intel/vulkan/anv_descriptor_set.c +++ b/src/intel/vulkan/anv_descriptor_set.c @@ -2834,7 +2834,7 @@ void anv_GetDescriptorEXT( format.isl_format, format.swizzle, ISL_SURF_USAGE_TEXTURE_BIT, anv_address_from_u64(addr_info->address), - align_down_npot_u32(addr_info->range, format_bs), + align_down_npot_u64(addr_info->range, format_bs), format_bs); } else { memcpy(pDescriptor, device->host_null_surface_state, @@ -2859,7 +2859,7 @@ void anv_GetDescriptorEXT( format.isl_format, format.swizzle, ISL_SURF_USAGE_STORAGE_BIT, anv_address_from_u64(addr_info->address), - align_down_npot_u32(addr_info->range, format_bs), + align_down_npot_u64(addr_info->range, format_bs), format_bs); } else { memcpy(pDescriptor, device->host_null_surface_state, diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 9128207936c..7e463895805 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -293,8 +293,8 @@ get_max_vbs(const struct intel_device_info *devinfo) { */ #define ANV_COLOR_OUTPUT_UNUSED (0xfe) -static inline uint32_t -align_down_npot_u32(uint32_t v, uint32_t a) +static inline uint64_t +align_down_npot_u64(uint64_t v, uint64_t a) { return v - (v % a); } @@ -6629,7 +6629,7 @@ void anv_fill_buffer_surface_state(struct anv_device *device, struct isl_swizzle swizzle, isl_surf_usage_flags_t usage, struct anv_address address, - uint32_t range, uint32_t stride); + uint64_t range, uint32_t stride); struct gfx8_border_color {