summaryrefslogtreecommitdiff
path: root/tools/gfx/vk-api.h
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2019-09-13 15:59:15 -0400
committerGitHub <noreply@github.com>2019-09-13 15:59:15 -0400
commitc2e5d2468ad6a38cdb8a067da0678302f6cc6066 (patch)
tree97c448d28e54068d84c422e9f172996b7a95f1ed /tools/gfx/vk-api.h
parent0b6321b3f08c48e37e6b8256d420f05d9727fb5a (diff)
Refactor render-test to make cross platform (#1053)
* First pass of render-test refactor. * Make window construction a function that can choose an implementation. * Remove OpenGL as currently has windows dependency. * Disable Vulkan as Renderer impl has dependency on windows. * Pass Window in as parameter of 'update'. * Add win-window.cpp as was missing. * Fix warning on windows about signs during comparison.
Diffstat (limited to 'tools/gfx/vk-api.h')
-rw-r--r--tools/gfx/vk-api.h203
1 files changed, 0 insertions, 203 deletions
diff --git a/tools/gfx/vk-api.h b/tools/gfx/vk-api.h
deleted file mode 100644
index 001f44d19..000000000
--- a/tools/gfx/vk-api.h
+++ /dev/null
@@ -1,203 +0,0 @@
-// vk-api.h
-#pragma once
-
-#include "vk-module.h"
-
-namespace gfx {
-
-#define VK_API_GLOBAL_PROCS(x) \
- x(vkGetInstanceProcAddr) \
- x(vkCreateInstance) \
- /* */
-
-#define VK_API_INSTANCE_PROCS_OPT(x) \
- x(vkGetPhysicalDeviceFeatures2) \
- x(vkGetPhysicalDeviceProperties2) \
- /* */
-
-#define VK_API_INSTANCE_PROCS(x) \
- x(vkCreateDevice) \
- x(vkCreateDebugReportCallbackEXT) \
- x(vkDestroyDebugReportCallbackEXT) \
- x(vkDebugReportMessageEXT) \
- x(vkEnumeratePhysicalDevices) \
- x(vkGetPhysicalDeviceProperties) \
- x(vkGetPhysicalDeviceFeatures) \
- x(vkGetPhysicalDeviceMemoryProperties) \
- x(vkGetPhysicalDeviceQueueFamilyProperties) \
- x(vkGetPhysicalDeviceFormatProperties) \
- x(vkGetDeviceProcAddr) \
- /* */
-
-#define VK_API_DEVICE_PROCS(x) \
- x(vkCreateDescriptorPool) \
- x(vkDestroyDescriptorPool) \
- x(vkGetDeviceQueue) \
- x(vkQueueSubmit) \
- x(vkQueueWaitIdle) \
- x(vkCreateBuffer) \
- x(vkAllocateMemory) \
- x(vkMapMemory) \
- x(vkUnmapMemory) \
- x(vkCmdCopyBuffer) \
- x(vkDestroyBuffer) \
- x(vkFreeMemory) \
- x(vkCreateDescriptorSetLayout) \
- x(vkDestroyDescriptorSetLayout) \
- x(vkAllocateDescriptorSets) \
- x(vkUpdateDescriptorSets) \
- x(vkCreatePipelineLayout) \
- x(vkDestroyPipelineLayout) \
- x(vkCreateComputePipelines) \
- x(vkCreateGraphicsPipelines) \
- x(vkDestroyPipeline) \
- x(vkCreateShaderModule) \
- x(vkDestroyShaderModule) \
- x(vkCreateFramebuffer) \
- x(vkDestroyFramebuffer) \
- x(vkCreateImage) \
- x(vkDestroyImage) \
- x(vkCreateImageView) \
- x(vkDestroyImageView) \
- x(vkCreateRenderPass) \
- x(vkDestroyRenderPass) \
- x(vkCreateCommandPool) \
- x(vkDestroyCommandPool) \
- x(vkCreateSampler) \
- x(vkDestroySampler) \
- x(vkCreateBufferView) \
- x(vkDestroyBufferView) \
- \
- x(vkGetBufferMemoryRequirements) \
- x(vkGetImageMemoryRequirements) \
- \
- x(vkCmdBindPipeline) \
- x(vkCmdBindDescriptorSets) \
- x(vkCmdDispatch) \
- x(vkCmdDraw) \
- x(vkCmdSetScissor) \
- x(vkCmdSetViewport) \
- x(vkCmdBindVertexBuffers) \
- x(vkCmdBindIndexBuffer) \
- x(vkCmdBeginRenderPass) \
- x(vkCmdEndRenderPass) \
- x(vkCmdPipelineBarrier) \
- x(vkCmdCopyBufferToImage)\
- \
- x(vkCreateFence) \
- x(vkDestroyFence) \
- x(vkResetFences) \
- x(vkGetFenceStatus) \
- x(vkWaitForFences) \
- \
- x(vkCreateSemaphore) \
- x(vkDestroySemaphore) \
- \
- x(vkCreateEvent) \
- x(vkDestroyEvent) \
- x(vkGetEventStatus) \
- x(vkSetEvent) \
- x(vkResetEvent) \
- \
- x(vkFreeCommandBuffers) \
- x(vkAllocateCommandBuffers) \
- x(vkBeginCommandBuffer) \
- x(vkEndCommandBuffer) \
- x(vkResetCommandBuffer) \
- \
- x(vkBindImageMemory) \
- x(vkBindBufferMemory) \
- /* */
-
-#if SLANG_WINDOWS_FAMILY
-# define VK_API_INSTANCE_PLATFORM_KHR_PROCS(x) \
- x(vkCreateWin32SurfaceKHR) \
- /* */
-#else
-# define VK_API_INSTANCE_PLATFORM_KHR_PROCS(x) \
- x(vkCreateXlibSurfaceKHR) \
- /* */
-#endif
-
-#define VK_API_INSTANCE_KHR_PROCS(x) \
- VK_API_INSTANCE_PLATFORM_KHR_PROCS(x) \
- x(vkGetPhysicalDeviceSurfaceSupportKHR) \
- x(vkGetPhysicalDeviceSurfaceFormatsKHR) \
- x(vkGetPhysicalDeviceSurfacePresentModesKHR) \
- x(vkGetPhysicalDeviceSurfaceCapabilitiesKHR) \
- x(vkDestroySurfaceKHR) \
- /* */
-
-#define VK_API_DEVICE_KHR_PROCS(x) \
- x(vkQueuePresentKHR) \
- x(vkCreateSwapchainKHR) \
- x(vkGetSwapchainImagesKHR) \
- x(vkDestroySwapchainKHR) \
- x(vkAcquireNextImageKHR) \
- /* */
-
-#define VK_API_ALL_GLOBAL_PROCS(x) \
- VK_API_GLOBAL_PROCS(x)
-
-#define VK_API_ALL_INSTANCE_PROCS(x) \
- VK_API_INSTANCE_PROCS(x) \
- VK_API_INSTANCE_KHR_PROCS(x)
-
-#define VK_API_ALL_DEVICE_PROCS(x) \
- VK_API_DEVICE_PROCS(x) \
- VK_API_DEVICE_KHR_PROCS(x)
-
-#define VK_API_ALL_PROCS(x) \
- VK_API_ALL_GLOBAL_PROCS(x) \
- VK_API_ALL_INSTANCE_PROCS(x) \
- VK_API_ALL_DEVICE_PROCS(x) \
- \
- VK_API_INSTANCE_PROCS_OPT(x) \
- /* */
-
-#define VK_API_DECLARE_PROC(NAME) PFN_##NAME NAME = nullptr;
-
-struct VulkanApi
-{
- VK_API_ALL_PROCS(VK_API_DECLARE_PROC)
-
- enum class ProcType
- {
- Global,
- Instance,
- Device,
- };
-
- /// Returns true if all the functions in the class are defined
- bool areDefined(ProcType type) const;
-
- /// Sets up global parameters
- Slang::Result initGlobalProcs(const VulkanModule& module);
- /// Initialize the instance functions
- Slang::Result initInstanceProcs(VkInstance instance);
-
- /// Called before initDevice
- Slang::Result initPhysicalDevice(VkPhysicalDevice physicalDevice);
-
- /// Initialize the device functions
- Slang::Result initDeviceProcs(VkDevice device);
-
- /// Type bits control which indices are tested against bit 0 for testing at index 0
- /// properties - a memory type must have all the bits set as passed in
- /// Returns -1 if couldn't find an appropriate memory type index
- int findMemoryTypeIndex(uint32_t typeBits, VkMemoryPropertyFlags properties) const;
-
- /// Given queue required flags, finds a queue
- int findQueue(VkQueueFlags reqFlags) const;
-
- const VulkanModule* m_module = nullptr; ///< Module this was all loaded from
- VkInstance m_instance = VK_NULL_HANDLE;
- VkDevice m_device = VK_NULL_HANDLE;
- VkPhysicalDevice m_physicalDevice = VK_NULL_HANDLE;
-
- VkPhysicalDeviceProperties m_deviceProperties;
- VkPhysicalDeviceFeatures m_deviceFeatures;
- VkPhysicalDeviceMemoryProperties m_deviceMemoryProperties;
-};
-
-} // renderer_test