static VkResult
tu_physical_device_init(struct tu_physical_device *device,
- struct tu_instance *instance,
- drmDevicePtr drm_device)
+ struct tu_instance *instance,
+ drmDevicePtr drm_device)
{
const char *path = drm_device->nodes[DRM_NODE_RENDER];
- VkResult result;
+ VkResult result = VK_SUCCESS;
drmVersionPtr version;
int fd;
int master_fd = -1;
return vk_error(instance, VK_ERROR_INCOMPATIBLE_DRIVER);
}
+ /* Version 1.3 added MSM_INFO_IOVA. */
+ const int min_version_major = 1;
+ const int min_version_minor = 3;
+
version = drmGetVersion(fd);
if (!version) {
close(fd);
return VK_ERROR_INCOMPATIBLE_DRIVER;
}
+
+ if (version->version_major != 1 || version->version_minor < 3) {
+ result = vk_errorf(instance, VK_ERROR_INCOMPATIBLE_DRIVER,
+ "kernel driver for device %s has version %d.%d, "
+ "but Vulkan requires version >= %d.%d",
+ path,
+ version->version_major, version->version_minor,
+ min_version_major, min_version_minor);
+ drmFreeVersion(version);
+ close(fd);
+ return result;
+ }
+
drmFreeVersion(version);
if (instance->debug_flags & TU_DEBUG_STARTUP)
VkResult
tu_CreateInstance(const VkInstanceCreateInfo *pCreateInfo,
- const VkAllocationCallbacks *pAllocator,
- VkInstance *pInstance)
+ const VkAllocationCallbacks *pAllocator,
+ VkInstance *pInstance)
{
struct tu_instance *instance;
VkResult result;
void
tu_DestroyInstance(VkInstance _instance,
- const VkAllocationCallbacks *pAllocator)
+ const VkAllocationCallbacks *pAllocator)
{
TU_FROM_HANDLE(tu_instance, instance, _instance);
result = tu_physical_device_init(instance->physical_devices +
instance->physical_device_count,
- instance,
- devices[i]);
+ instance,
+ devices[i]);
if (result == VK_SUCCESS)
++instance->physical_device_count;
else if (result != VK_ERROR_INCOMPATIBLE_DRIVER)
VkResult
tu_EnumeratePhysicalDevices(VkInstance _instance,
- uint32_t *pPhysicalDeviceCount,
- VkPhysicalDevice *pPhysicalDevices)
+ uint32_t *pPhysicalDeviceCount,
+ VkPhysicalDevice *pPhysicalDevices)
{
TU_FROM_HANDLE(tu_instance, instance, _instance);
+ VK_OUTARRAY_MAKE(out, pPhysicalDevices, pPhysicalDeviceCount);
+
VkResult result;
if (instance->physical_device_count < 0) {
return result;
}
- if (!pPhysicalDevices) {
- *pPhysicalDeviceCount = instance->physical_device_count;
- } else {
- *pPhysicalDeviceCount =
- MIN2(*pPhysicalDeviceCount, instance->physical_device_count);
- for (unsigned i = 0; i < *pPhysicalDeviceCount; ++i)
- pPhysicalDevices[i] =
- tu_physical_device_to_handle(instance->physical_devices + i);
+ for (uint32_t i = 0; i < instance->physical_device_count; ++i) {
+ vk_outarray_append(&out, p) {
+ *p = tu_physical_device_to_handle(instance->physical_devices + i);
+ }
+
}
- return *pPhysicalDeviceCount < instance->physical_device_count
- ? VK_INCOMPLETE
- : VK_SUCCESS;
+ return vk_outarray_status(&out);
}
VkResult
tu_EnumeratePhysicalDeviceGroups(
- VkInstance _instance,
- uint32_t *pPhysicalDeviceGroupCount,
- VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties)
+ VkInstance _instance,
+ uint32_t *pPhysicalDeviceGroupCount,
+ VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties)
{
TU_FROM_HANDLE(tu_instance, instance, _instance);
+ VK_OUTARRAY_MAKE(out, pPhysicalDeviceGroupProperties, pPhysicalDeviceGroupCount);
VkResult result;
if (instance->physical_device_count < 0) {
return result;
}
- if (!pPhysicalDeviceGroupProperties) {
- *pPhysicalDeviceGroupCount = instance->physical_device_count;
- } else {
- *pPhysicalDeviceGroupCount =
- MIN2(*pPhysicalDeviceGroupCount, instance->physical_device_count);
- for (unsigned i = 0; i < *pPhysicalDeviceGroupCount; ++i) {
- pPhysicalDeviceGroupProperties[i].physicalDeviceCount = 1;
- pPhysicalDeviceGroupProperties[i].physicalDevices[0] =
+ for (uint32_t i = 0; i < instance->physical_device_count; ++i) {
+ vk_outarray_append(&out, p) {
+ p->physicalDeviceCount = 1;
+ p->physicalDevices[0] =
tu_physical_device_to_handle(instance->physical_devices + i);
- pPhysicalDeviceGroupProperties[i].subsetAllocation = false;
+ p->subsetAllocation = false;
}
}
- return *pPhysicalDeviceGroupCount < instance->physical_device_count
- ? VK_INCOMPLETE
- : VK_SUCCESS;
+
+ return vk_outarray_status(&out);
}
void
tu_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceFeatures *pFeatures)
+ VkPhysicalDeviceFeatures *pFeatures)
{
memset(pFeatures, 0, sizeof(*pFeatures));
void
tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceFeatures2KHR *pFeatures)
+ VkPhysicalDeviceFeatures2KHR *pFeatures)
{
vk_foreach_struct(ext, pFeatures->pNext)
{
void
tu_GetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceProperties *pProperties)
+ VkPhysicalDeviceProperties *pProperties)
{
TU_FROM_HANDLE(tu_physical_device, pdevice, physicalDevice);
VkSampleCountFlags sample_counts = 0xf;
void
tu_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceProperties2KHR *pProperties)
+ VkPhysicalDeviceProperties2KHR *pProperties)
{
TU_FROM_HANDLE(tu_physical_device, pdevice, physicalDevice);
tu_GetPhysicalDeviceProperties(physicalDevice, &pProperties->properties);
}
}
-static void
-tu_get_physical_device_queue_family_properties(
- struct tu_physical_device *pdevice,
- uint32_t *pCount,
- VkQueueFamilyProperties **pQueueFamilyProperties)
-{
- int num_queue_families = 1;
- int idx;
- if (pQueueFamilyProperties == NULL) {
- *pCount = num_queue_families;
- return;
- }
-
- if (!*pCount)
- return;
-
- idx = 0;
- if (*pCount >= 1) {
- *pQueueFamilyProperties[idx] = (VkQueueFamilyProperties){
- .queueFlags =
- VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT,
- .queueCount = 1,
- .timestampValidBits = 64,
- .minImageTransferGranularity = (VkExtent3D){ 1, 1, 1 },
- };
- idx++;
- }
-
- *pCount = idx;
-}
+static const VkQueueFamilyProperties
+tu_queue_family_properties = {
+ .queueFlags = VK_QUEUE_GRAPHICS_BIT |
+ VK_QUEUE_COMPUTE_BIT |
+ VK_QUEUE_TRANSFER_BIT,
+ .queueCount = 1,
+ .timestampValidBits = 64,
+ .minImageTransferGranularity = (VkExtent3D) { 1, 1, 1 },
+};
void
tu_GetPhysicalDeviceQueueFamilyProperties(
- VkPhysicalDevice physicalDevice,
- uint32_t *pCount,
- VkQueueFamilyProperties *pQueueFamilyProperties)
+ VkPhysicalDevice physicalDevice,
+ uint32_t *pQueueFamilyPropertyCount,
+ VkQueueFamilyProperties *pQueueFamilyProperties)
{
- TU_FROM_HANDLE(tu_physical_device, pdevice, physicalDevice);
- if (!pQueueFamilyProperties) {
- return tu_get_physical_device_queue_family_properties(
- pdevice, pCount, NULL);
- return;
+ VK_OUTARRAY_MAKE(out, pQueueFamilyProperties, pQueueFamilyPropertyCount);
+
+ vk_outarray_append(&out, p) {
+ *p = tu_queue_family_properties;
}
- VkQueueFamilyProperties *properties[] = {
- pQueueFamilyProperties + 0,
- };
- tu_get_physical_device_queue_family_properties(pdevice, pCount, properties);
- assert(*pCount <= 1);
}
void
tu_GetPhysicalDeviceQueueFamilyProperties2(
- VkPhysicalDevice physicalDevice,
- uint32_t *pCount,
- VkQueueFamilyProperties2KHR *pQueueFamilyProperties)
+ VkPhysicalDevice physicalDevice,
+ uint32_t *pQueueFamilyPropertyCount,
+ VkQueueFamilyProperties2KHR *pQueueFamilyProperties)
{
- TU_FROM_HANDLE(tu_physical_device, pdevice, physicalDevice);
- if (!pQueueFamilyProperties) {
- return tu_get_physical_device_queue_family_properties(
- pdevice, pCount, NULL);
- return;
+ VK_OUTARRAY_MAKE(out, pQueueFamilyProperties, pQueueFamilyPropertyCount);
+
+ vk_outarray_append(&out, p) {
+ p->queueFamilyProperties = tu_queue_family_properties;
}
- VkQueueFamilyProperties *properties[] = {
- &pQueueFamilyProperties[0].queueFamilyProperties,
- };
- tu_get_physical_device_queue_family_properties(pdevice, pCount, properties);
- assert(*pCount <= 1);
}
static uint64_t
void
tu_GetPhysicalDeviceMemoryProperties(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceMemoryProperties *pMemoryProperties)
+ VkPhysicalDevice physicalDevice,
+ VkPhysicalDeviceMemoryProperties *pMemoryProperties)
{
pMemoryProperties->memoryHeapCount = 1;
pMemoryProperties->memoryHeaps[0].size = tu_get_system_heap_size();
void
tu_GetPhysicalDeviceMemoryProperties2(
- VkPhysicalDevice physicalDevice,
- VkPhysicalDeviceMemoryProperties2KHR *pMemoryProperties)
+ VkPhysicalDevice physicalDevice,
+ VkPhysicalDeviceMemoryProperties2KHR *pMemoryProperties)
{
return tu_GetPhysicalDeviceMemoryProperties(
physicalDevice, &pMemoryProperties->memoryProperties);
static int
tu_queue_init(struct tu_device *device,
- struct tu_queue *queue,
- uint32_t queue_family_index,
- int idx,
- VkDeviceQueueCreateFlags flags)
+ struct tu_queue *queue,
+ uint32_t queue_family_index,
+ int idx,
+ VkDeviceQueueCreateFlags flags)
{
queue->_loader_data.loaderMagic = ICD_LOADER_MAGIC;
queue->device = device;
VkResult
tu_CreateDevice(VkPhysicalDevice physicalDevice,
- const VkDeviceCreateInfo *pCreateInfo,
- const VkAllocationCallbacks *pAllocator,
- VkDevice *pDevice)
+ const VkDeviceCreateInfo *pCreateInfo,
+ const VkAllocationCallbacks *pAllocator,
+ VkDevice *pDevice)
{
TU_FROM_HANDLE(tu_physical_device, physical_device, physicalDevice);
VkResult result;
VkResult
tu_EnumerateInstanceLayerProperties(uint32_t *pPropertyCount,
- VkLayerProperties *pProperties)
+ VkLayerProperties *pProperties)
{
- if (pProperties == NULL) {
- *pPropertyCount = 0;
- return VK_SUCCESS;
- }
-
- /* None supported at this time */
- return vk_error(NULL, VK_ERROR_LAYER_NOT_PRESENT);
+ *pPropertyCount = 0;
+ return VK_SUCCESS;
}
VkResult
tu_EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,
- uint32_t *pPropertyCount,
- VkLayerProperties *pProperties)
+ uint32_t *pPropertyCount,
+ VkLayerProperties *pProperties)
{
- if (pProperties == NULL) {
- *pPropertyCount = 0;
- return VK_SUCCESS;
- }
-
- /* None supported at this time */
- return vk_error(NULL, VK_ERROR_LAYER_NOT_PRESENT);
+ *pPropertyCount = 0;
+ return VK_SUCCESS;
}
void
tu_GetDeviceQueue2(VkDevice _device,
- const VkDeviceQueueInfo2 *pQueueInfo,
- VkQueue *pQueue)
+ const VkDeviceQueueInfo2 *pQueueInfo,
+ VkQueue *pQueue)
{
TU_FROM_HANDLE(tu_device, device, _device);
struct tu_queue *queue;
void
tu_GetDeviceQueue(VkDevice _device,
- uint32_t queueFamilyIndex,
- uint32_t queueIndex,
- VkQueue *pQueue)
+ uint32_t queueFamilyIndex,
+ uint32_t queueIndex,
+ VkQueue *pQueue)
{
const VkDeviceQueueInfo2 info =
(VkDeviceQueueInfo2){.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,
VkResult
tu_QueueSubmit(VkQueue _queue,
- uint32_t submitCount,
- const VkSubmitInfo *pSubmits,
- VkFence _fence)
+ uint32_t submitCount,
+ const VkSubmitInfo *pSubmits,
+ VkFence _fence)
{
return VK_SUCCESS;
}
VkResult
tu_EnumerateInstanceExtensionProperties(const char *pLayerName,
- uint32_t *pPropertyCount,
- VkExtensionProperties *pProperties)
+ uint32_t *pPropertyCount,
+ VkExtensionProperties *pProperties)
{
VK_OUTARRAY_MAKE(out, pProperties, pPropertyCount);
+ /* We spport no lyaers */
+ if (pLayerName)
+ return vk_error(NULL, VK_ERROR_LAYER_NOT_PRESENT);
+
for (int i = 0; i < TU_INSTANCE_EXTENSION_COUNT; i++) {
if (tu_supported_instance_extensions.extensions[i]) {
vk_outarray_append(&out, prop) { *prop = tu_instance_extensions[i]; }
VkResult
tu_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,
- const char *pLayerName,
- uint32_t *pPropertyCount,
- VkExtensionProperties *pProperties)
+ const char *pLayerName,
+ uint32_t *pPropertyCount,
+ VkExtensionProperties *pProperties)
{
+ /* We spport no lyaers */
TU_FROM_HANDLE(tu_physical_device, device, physicalDevice);
VK_OUTARRAY_MAKE(out, pProperties, pPropertyCount);
+ /* We spport no lyaers */
+ if (pLayerName)
+ return vk_error(NULL, VK_ERROR_LAYER_NOT_PRESENT);
+
for (int i = 0; i < TU_DEVICE_EXTENSION_COUNT; i++) {
if (device->supported_extensions.extensions[i]) {
vk_outarray_append(&out, prop) { *prop = tu_device_extensions[i]; }
static VkResult
tu_alloc_memory(struct tu_device *device,
- const VkMemoryAllocateInfo *pAllocateInfo,
- const VkAllocationCallbacks *pAllocator,
- VkDeviceMemory *pMem)
+ const VkMemoryAllocateInfo *pAllocateInfo,
+ const VkAllocationCallbacks *pAllocator,
+ VkDeviceMemory *pMem)
{
struct tu_device_memory *mem;
VkResult
tu_AllocateMemory(VkDevice _device,
- const VkMemoryAllocateInfo *pAllocateInfo,
- const VkAllocationCallbacks *pAllocator,
- VkDeviceMemory *pMem)
+ const VkMemoryAllocateInfo *pAllocateInfo,
+ const VkAllocationCallbacks *pAllocator,
+ VkDeviceMemory *pMem)
{
TU_FROM_HANDLE(tu_device, device, _device);
return tu_alloc_memory(device, pAllocateInfo, pAllocator, pMem);
void
tu_FreeMemory(VkDevice _device,
- VkDeviceMemory _mem,
- const VkAllocationCallbacks *pAllocator)
+ VkDeviceMemory _mem,
+ const VkAllocationCallbacks *pAllocator)
{
TU_FROM_HANDLE(tu_device, device, _device);
TU_FROM_HANDLE(tu_device_memory, mem, _mem);
VkResult
tu_MapMemory(VkDevice _device,
- VkDeviceMemory _memory,
- VkDeviceSize offset,
- VkDeviceSize size,
- VkMemoryMapFlags flags,
- void **ppData)
+ VkDeviceMemory _memory,
+ VkDeviceSize offset,
+ VkDeviceSize size,
+ VkMemoryMapFlags flags,
+ void **ppData)
{
TU_FROM_HANDLE(tu_device, device, _device);
TU_FROM_HANDLE(tu_device_memory, mem, _memory);
VkResult
tu_FlushMappedMemoryRanges(VkDevice _device,
- uint32_t memoryRangeCount,
- const VkMappedMemoryRange *pMemoryRanges)
+ uint32_t memoryRangeCount,
+ const VkMappedMemoryRange *pMemoryRanges)
{
return VK_SUCCESS;
}
VkResult
tu_InvalidateMappedMemoryRanges(VkDevice _device,
- uint32_t memoryRangeCount,
- const VkMappedMemoryRange *pMemoryRanges)
+ uint32_t memoryRangeCount,
+ const VkMappedMemoryRange *pMemoryRanges)
{
return VK_SUCCESS;
}
void
tu_GetBufferMemoryRequirements(VkDevice _device,
- VkBuffer _buffer,
- VkMemoryRequirements *pMemoryRequirements)
+ VkBuffer _buffer,
+ VkMemoryRequirements *pMemoryRequirements)
{
TU_FROM_HANDLE(tu_buffer, buffer, _buffer);
void
tu_GetBufferMemoryRequirements2(
- VkDevice device,
- const VkBufferMemoryRequirementsInfo2KHR *pInfo,
- VkMemoryRequirements2KHR *pMemoryRequirements)
+ VkDevice device,
+ const VkBufferMemoryRequirementsInfo2KHR *pInfo,
+ VkMemoryRequirements2KHR *pMemoryRequirements)
{
tu_GetBufferMemoryRequirements(
device, pInfo->buffer, &pMemoryRequirements->memoryRequirements);
void
tu_GetImageMemoryRequirements(VkDevice _device,
- VkImage _image,
- VkMemoryRequirements *pMemoryRequirements)
+ VkImage _image,
+ VkMemoryRequirements *pMemoryRequirements)
{
TU_FROM_HANDLE(tu_image, image, _image);
void
tu_GetImageMemoryRequirements2(VkDevice device,
- const VkImageMemoryRequirementsInfo2KHR *pInfo,
- VkMemoryRequirements2KHR *pMemoryRequirements)
+ const VkImageMemoryRequirementsInfo2KHR *pInfo,
+ VkMemoryRequirements2KHR *pMemoryRequirements)
{
tu_GetImageMemoryRequirements(
device, pInfo->image, &pMemoryRequirements->memoryRequirements);
void
tu_GetImageSparseMemoryRequirements(
- VkDevice device,
- VkImage image,
- uint32_t *pSparseMemoryRequirementCount,
- VkSparseImageMemoryRequirements *pSparseMemoryRequirements)
+ VkDevice device,
+ VkImage image,
+ uint32_t *pSparseMemoryRequirementCount,
+ VkSparseImageMemoryRequirements *pSparseMemoryRequirements)
{
stub();
}
void
tu_GetImageSparseMemoryRequirements2(
- VkDevice device,
- const VkImageSparseMemoryRequirementsInfo2KHR *pInfo,
- uint32_t *pSparseMemoryRequirementCount,
- VkSparseImageMemoryRequirements2KHR *pSparseMemoryRequirements)
+ VkDevice device,
+ const VkImageSparseMemoryRequirementsInfo2KHR *pInfo,
+ uint32_t *pSparseMemoryRequirementCount,
+ VkSparseImageMemoryRequirements2KHR *pSparseMemoryRequirements)
{
stub();
}
void
tu_GetDeviceMemoryCommitment(VkDevice device,
- VkDeviceMemory memory,
- VkDeviceSize *pCommittedMemoryInBytes)
+ VkDeviceMemory memory,
+ VkDeviceSize *pCommittedMemoryInBytes)
{
*pCommittedMemoryInBytes = 0;
}
VkResult
tu_BindBufferMemory2(VkDevice device,
- uint32_t bindInfoCount,
- const VkBindBufferMemoryInfoKHR *pBindInfos)
+ uint32_t bindInfoCount,
+ const VkBindBufferMemoryInfoKHR *pBindInfos)
{
return VK_SUCCESS;
}
VkResult
tu_BindBufferMemory(VkDevice device,
- VkBuffer buffer,
- VkDeviceMemory memory,
- VkDeviceSize memoryOffset)
+ VkBuffer buffer,
+ VkDeviceMemory memory,
+ VkDeviceSize memoryOffset)
{
const VkBindBufferMemoryInfoKHR info = {
.sType = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR,
VkResult
tu_BindImageMemory2(VkDevice device,
- uint32_t bindInfoCount,
- const VkBindImageMemoryInfoKHR *pBindInfos)
+ uint32_t bindInfoCount,
+ const VkBindImageMemoryInfoKHR *pBindInfos)
{
return VK_SUCCESS;
}
VkResult
tu_BindImageMemory(VkDevice device,
- VkImage image,
- VkDeviceMemory memory,
- VkDeviceSize memoryOffset)
+ VkImage image,
+ VkDeviceMemory memory,
+ VkDeviceSize memoryOffset)
{
const VkBindImageMemoryInfoKHR info = {
.sType = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR,
VkResult
tu_QueueBindSparse(VkQueue _queue,
- uint32_t bindInfoCount,
- const VkBindSparseInfo *pBindInfo,
- VkFence _fence)
+ uint32_t bindInfoCount,
+ const VkBindSparseInfo *pBindInfo,
+ VkFence _fence)
{
return VK_SUCCESS;
}
VkResult
tu_CreateFence(VkDevice _device,
- const VkFenceCreateInfo *pCreateInfo,
- const VkAllocationCallbacks *pAllocator,
- VkFence *pFence)
+ const VkFenceCreateInfo *pCreateInfo,
+ const VkAllocationCallbacks *pAllocator,
+ VkFence *pFence)
{
TU_FROM_HANDLE(tu_device, device, _device);
void
tu_DestroyFence(VkDevice _device,
- VkFence _fence,
- const VkAllocationCallbacks *pAllocator)
+ VkFence _fence,
+ const VkAllocationCallbacks *pAllocator)
{
TU_FROM_HANDLE(tu_device, device, _device);
TU_FROM_HANDLE(tu_fence, fence, _fence);
VkResult
tu_WaitForFences(VkDevice _device,
- uint32_t fenceCount,
- const VkFence *pFences,
- VkBool32 waitAll,
- uint64_t timeout)
+ uint32_t fenceCount,
+ const VkFence *pFences,
+ VkBool32 waitAll,
+ uint64_t timeout)
{
return VK_SUCCESS;
}
VkResult
tu_CreateSemaphore(VkDevice _device,
- const VkSemaphoreCreateInfo *pCreateInfo,
- const VkAllocationCallbacks *pAllocator,
- VkSemaphore *pSemaphore)
+ const VkSemaphoreCreateInfo *pCreateInfo,
+ const VkAllocationCallbacks *pAllocator,
+ VkSemaphore *pSemaphore)
{
TU_FROM_HANDLE(tu_device, device, _device);
void
tu_DestroySemaphore(VkDevice _device,
- VkSemaphore _semaphore,
- const VkAllocationCallbacks *pAllocator)
+ VkSemaphore _semaphore,
+ const VkAllocationCallbacks *pAllocator)
{
TU_FROM_HANDLE(tu_device, device, _device);
TU_FROM_HANDLE(tu_semaphore, sem, _semaphore);
VkResult
tu_CreateEvent(VkDevice _device,
- const VkEventCreateInfo *pCreateInfo,
- const VkAllocationCallbacks *pAllocator,
- VkEvent *pEvent)
+ const VkEventCreateInfo *pCreateInfo,
+ const VkAllocationCallbacks *pAllocator,
+ VkEvent *pEvent)
{
TU_FROM_HANDLE(tu_device, device, _device);
struct tu_event *event = vk_alloc2(&device->alloc,
void
tu_DestroyEvent(VkDevice _device,
- VkEvent _event,
- const VkAllocationCallbacks *pAllocator)
+ VkEvent _event,
+ const VkAllocationCallbacks *pAllocator)
{
TU_FROM_HANDLE(tu_device, device, _device);
TU_FROM_HANDLE(tu_event, event, _event);
VkResult
tu_CreateBuffer(VkDevice _device,
- const VkBufferCreateInfo *pCreateInfo,
- const VkAllocationCallbacks *pAllocator,
- VkBuffer *pBuffer)
+ const VkBufferCreateInfo *pCreateInfo,
+ const VkAllocationCallbacks *pAllocator,
+ VkBuffer *pBuffer)
{
TU_FROM_HANDLE(tu_device, device, _device);
struct tu_buffer *buffer;
void
tu_DestroyBuffer(VkDevice _device,
- VkBuffer _buffer,
- const VkAllocationCallbacks *pAllocator)
+ VkBuffer _buffer,
+ const VkAllocationCallbacks *pAllocator)
{
TU_FROM_HANDLE(tu_device, device, _device);
TU_FROM_HANDLE(tu_buffer, buffer, _buffer);
VkResult
tu_CreateFramebuffer(VkDevice _device,
- const VkFramebufferCreateInfo *pCreateInfo,
- const VkAllocationCallbacks *pAllocator,
- VkFramebuffer *pFramebuffer)
+ const VkFramebufferCreateInfo *pCreateInfo,
+ const VkAllocationCallbacks *pAllocator,
+ VkFramebuffer *pFramebuffer)
{
TU_FROM_HANDLE(tu_device, device, _device);
struct tu_framebuffer *framebuffer;
void
tu_DestroyFramebuffer(VkDevice _device,
- VkFramebuffer _fb,
- const VkAllocationCallbacks *pAllocator)
+ VkFramebuffer _fb,
+ const VkAllocationCallbacks *pAllocator)
{
TU_FROM_HANDLE(tu_device, device, _device);
TU_FROM_HANDLE(tu_framebuffer, fb, _fb);
static void
tu_init_sampler(struct tu_device *device,
- struct tu_sampler *sampler,
- const VkSamplerCreateInfo *pCreateInfo)
+ struct tu_sampler *sampler,
+ const VkSamplerCreateInfo *pCreateInfo)
{
}
VkResult
tu_CreateSampler(VkDevice _device,
- const VkSamplerCreateInfo *pCreateInfo,
- const VkAllocationCallbacks *pAllocator,
- VkSampler *pSampler)
+ const VkSamplerCreateInfo *pCreateInfo,
+ const VkAllocationCallbacks *pAllocator,
+ VkSampler *pSampler)
{
TU_FROM_HANDLE(tu_device, device, _device);
struct tu_sampler *sampler;
void
tu_DestroySampler(VkDevice _device,
- VkSampler _sampler,
- const VkAllocationCallbacks *pAllocator)
+ VkSampler _sampler,
+ const VkAllocationCallbacks *pAllocator)
{
TU_FROM_HANDLE(tu_device, device, _device);
TU_FROM_HANDLE(tu_sampler, sampler, _sampler);
void
tu_GetPhysicalDeviceExternalSemaphoreProperties(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalSemaphoreInfoKHR *pExternalSemaphoreInfo,
- VkExternalSemaphorePropertiesKHR *pExternalSemaphoreProperties)
+ VkPhysicalDevice physicalDevice,
+ const VkPhysicalDeviceExternalSemaphoreInfoKHR *pExternalSemaphoreInfo,
+ VkExternalSemaphorePropertiesKHR *pExternalSemaphoreProperties)
{
pExternalSemaphoreProperties->exportFromImportedHandleTypes = 0;
pExternalSemaphoreProperties->compatibleHandleTypes = 0;
void
tu_GetPhysicalDeviceExternalFenceProperties(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalFenceInfoKHR *pExternalFenceInfo,
- VkExternalFencePropertiesKHR *pExternalFenceProperties)
+ VkPhysicalDevice physicalDevice,
+ const VkPhysicalDeviceExternalFenceInfoKHR *pExternalFenceInfo,
+ VkExternalFencePropertiesKHR *pExternalFenceProperties)
{
pExternalFenceProperties->exportFromImportedHandleTypes = 0;
pExternalFenceProperties->compatibleHandleTypes = 0;
VkResult
tu_CreateDebugReportCallbackEXT(
- VkInstance _instance,
- const VkDebugReportCallbackCreateInfoEXT *pCreateInfo,
- const VkAllocationCallbacks *pAllocator,
- VkDebugReportCallbackEXT *pCallback)
+ VkInstance _instance,
+ const VkDebugReportCallbackCreateInfoEXT *pCreateInfo,
+ const VkAllocationCallbacks *pAllocator,
+ VkDebugReportCallbackEXT *pCallback)
{
TU_FROM_HANDLE(tu_instance, instance, _instance);
return vk_create_debug_report_callback(&instance->debug_report_callbacks,
void
tu_DestroyDebugReportCallbackEXT(VkInstance _instance,
- VkDebugReportCallbackEXT _callback,
- const VkAllocationCallbacks *pAllocator)
+ VkDebugReportCallbackEXT _callback,
+ const VkAllocationCallbacks *pAllocator)
{
TU_FROM_HANDLE(tu_instance, instance, _instance);
vk_destroy_debug_report_callback(&instance->debug_report_callbacks,
void
tu_DebugReportMessageEXT(VkInstance _instance,
- VkDebugReportFlagsEXT flags,
- VkDebugReportObjectTypeEXT objectType,
- uint64_t object,
- size_t location,
- int32_t messageCode,
- const char *pLayerPrefix,
- const char *pMessage)
+ VkDebugReportFlagsEXT flags,
+ VkDebugReportObjectTypeEXT objectType,
+ uint64_t object,
+ size_t location,
+ int32_t messageCode,
+ const char *pLayerPrefix,
+ const char *pMessage)
{
TU_FROM_HANDLE(tu_instance, instance, _instance);
vk_debug_report(&instance->debug_report_callbacks,
void
tu_GetDeviceGroupPeerMemoryFeatures(
- VkDevice device,
- uint32_t heapIndex,
- uint32_t localDeviceIndex,
- uint32_t remoteDeviceIndex,
- VkPeerMemoryFeatureFlags *pPeerMemoryFeatures)
+ VkDevice device,
+ uint32_t heapIndex,
+ uint32_t localDeviceIndex,
+ uint32_t remoteDeviceIndex,
+ VkPeerMemoryFeatureFlags *pPeerMemoryFeatures)
{
assert(localDeviceIndex == remoteDeviceIndex);