Unified · Split
| @@ -174,7 +174,7 @@ static int init_gblur_pipeline(GBlurVulkanContext *s, FFVulkanPipeline *pl, FFVk · 173 unmodified lines | |||
| 174 | RET(ff_vk_init_pipeline_layout(&s->vkctx, pl)); | 174 | RET(ff_vk_init_pipeline_layout(&s->vkctx, pl)); |
| 175 | RET(ff_vk_init_compute_pipeline(&s->vkctx, pl)); | 175 | RET(ff_vk_init_compute_pipeline(&s->vkctx, pl)); |
| 176 | 176 | ||
| 177 | RET(ff_vk_create_buf(&s->vkctx, params_buf, sizeof(float) * ksize, | 177 | RET(ff_vk_create_buf(&s->vkctx, params_buf, sizeof(float) * ksize, NULL, |
| 178 | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT)); | 178 | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT)); |
| 179 | RET(ff_vk_map_buffers(&s->vkctx, params_buf, &kernel_mapped, 1, 0)); | 179 | RET(ff_vk_map_buffers(&s->vkctx, params_buf, &kernel_mapped, 1, 0)); |
| 180 | 180 | ||
| @@ -181,7 +181,7 @@ static av_cold int init_filter(AVFilterContext *ctx) · 180 unmodified lines | |||
| 181 | } *par; | 181 | } *par; |
| 182 | 182 | ||
| 183 | err = ff_vk_create_buf(vkctx, &s->params_buf, | 183 | err = ff_vk_create_buf(vkctx, &s->params_buf, |
| 184 | sizeof(*par), | 184 | sizeof(*par), NULL, |
| 185 | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, | 185 | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, |
| 186 | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT); | 186 | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT); |
| 187 | if (err) | 187 | if (err) |
| @@ -253,7 +253,7 @@ static av_cold int init_filter(AVFilterContext *ctx, AVFrame *in) · 252 unmodified lines | |||
| 253 | } | 253 | } |
| 254 | 254 | ||
| 255 | RET(ff_vk_create_buf(vkctx, &s->params_buf, | 255 | RET(ff_vk_create_buf(vkctx, &s->params_buf, |
| 256 | sizeof(*par), | 256 | sizeof(*par), NULL, |
| 257 | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, | 257 | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, |
| 258 | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT)); | 258 | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT)); |
| 259 | 259 | ||
| @@ -205,7 +205,7 @@ static int vk_alloc_mem(FFVulkanContext *s, VkMemoryRequirements *req, · 204 unmodified lines | |||
| 205 | return 0; | 205 | return 0; |
| 206 | } | 206 | } |
| 207 | 207 | ||
| 208 | int ff_vk_create_buf(FFVulkanContext *s, FFVkBuffer *buf, size_t size, | 208 | int ff_vk_create_buf(FFVulkanContext *s, FFVkBuffer *buf, size_t size, void *pNext, |
| 209 | VkBufferUsageFlags usage, VkMemoryPropertyFlagBits flags) | 209 | VkBufferUsageFlags usage, VkMemoryPropertyFlagBits flags) |
| 210 | { | 210 | { |
| 211 | int err; | 211 | int err; |
| @@ -215,7 +215,7 @@ int ff_vk_create_buf(FFVulkanContext *s, FFVkBuffer *buf, size_t size, · 3 unmodified lines | |||
| 215 | 215 | ||
| 216 | VkBufferCreateInfo buf_spawn = { | 216 | VkBufferCreateInfo buf_spawn = { |
| 217 | .sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO, | 217 | .sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO, |
| 218 | .pNext = NULL, | 218 | .pNext = pNext, |
| 219 | .usage = usage, | 219 | .usage = usage, |
| 220 | .sharingMode = VK_SHARING_MODE_EXCLUSIVE, | 220 | .sharingMode = VK_SHARING_MODE_EXCLUSIVE, |
| 221 | .size = size, /* Gets FFALIGNED during alloc if host visible | 221 | .size = size, /* Gets FFALIGNED during alloc if host visible |
| @@ -397,7 +397,7 @@ int ff_vk_submit_exec_queue(FFVulkanContext *s, FFVkExecContext *e); · 396 unmodified lines | |||
| 397 | /** | 397 | /** |
| 398 | * Create a VkBuffer with the specified parameters. | 398 | * Create a VkBuffer with the specified parameters. |
| 399 | */ | 399 | */ |
| 400 | int ff_vk_create_buf(FFVulkanContext *s, FFVkBuffer *buf, size_t size, | 400 | int ff_vk_create_buf(FFVulkanContext *s, FFVkBuffer *buf, size_t size, void *pNext, |
| 401 | VkBufferUsageFlags usage, VkMemoryPropertyFlagBits flags); | 401 | VkBufferUsageFlags usage, VkMemoryPropertyFlagBits flags); |
| 402 | 402 | ||
| 403 | /** | 403 | /** |