diff options
Diffstat (limited to 'src/compute/hs/vk/hs_vk_launcher.h')
-rw-r--r-- | src/compute/hs/vk/hs_vk_launcher.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/src/compute/hs/vk/hs_vk_launcher.h b/src/compute/hs/vk/hs_vk_launcher.h new file mode 100644 index 0000000000..a549666985 --- /dev/null +++ b/src/compute/hs/vk/hs_vk_launcher.h @@ -0,0 +1,88 @@ +/* + * Copyright 2016 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can + * be found in the LICENSE file. + * + */ + +#pragma once + +// +// +// + +#include <vulkan/vulkan.h> + +// +// +// + +#include <stdint.h> +#include <stdbool.h> + +// +// +// + +#include "hs_spirv_target.h" + +// +// +// + +struct hs_vk * +hs_vk_create(struct hs_spirv_target const * const target, + VkDevice device, + VkAllocationCallbacks const * allocator, + VkPipelineCache pipeline_cache); + +// +// Resources will be disposed of with the same device and allocator +// used for creation. +// + +void +hs_vk_release(struct hs_vk * const hs); + +// +// Determine what padding will be applied to the input and output +// buffers. +// +// Always check to see if the allocated buffers are large enough. +// +// count : number of keys +// count + count_padded_in : additional keys required for sorting +// count + count_padded_out : additional keys required for merging +// + +void +hs_vk_pad(struct hs_vk const * const hs, + uint32_t const count, + uint32_t * const count_padded_in, + uint32_t * const count_padded_out); + +// +// Sort the keys in the vin buffer and store them in the vout buffer. +// +// If vout is NULL then the sort will be performed in place. +// + +#if 0 +void +hs_vk_sort(struct hs_vk const * const hs, + vk_command_queue cq, + uint32_t const wait_list_size, + vk_event * wait_list, + vk_event * event, + vk_mem vin, + vk_mem vout, + uint32_t const count, + uint32_t const count_padded_in, + uint32_t const count_padded_out, + bool const linearize); +#endif + +// +// +// |