vulkan

Is it possible to do offscreen rendering without Surface in Vulkan?

不问归期 提交于 2019-12-04 08:49:34
Similar to surfaceless context in OpenGL can we do it in Vulkan. Sure it's even designed to do so from the start. Instead of getting your images from a swapchain, create them and allocate and bind memory for it yourself. Getting the result back will then require a copy into a host-visible readback buffer after the render. 来源: https://stackoverflow.com/questions/38885309/is-it-possible-to-do-offscreen-rendering-without-surface-in-vulkan

What is the difference between framebuffer and image in Vulkan?

▼魔方 西西 提交于 2019-12-04 08:31:03
问题 I've known that framebuffer is the final destination of the rendering pipeline and swapchain contains many image. So what is the relation between those two things? Which one is the actual render target? And does the framebuffer later attach the final picture of the current frame on the image view? If so, how will it transfer? Describing this via paint or diagram would be pleased. 回答1: VkFramebuffer + VkRenderPass defines the render target. Render pass defines which attachment will be written

How do I use Vulkan with MinGW? (R_X86_64_32 error)

蓝咒 提交于 2019-12-04 06:44:42
I am trying to setup a bare bones program to use Vulkan. I installed the LunarG SDK. I have a tiny program that basically just calls vkCreateInstance . I compiled with this line: g++ -std=c++11 -I/c/VulkanSDK/1.0.3.1/Include -L/c/VulkanSDK/1.0.3.1/Bin main.cpp -lvulkan-1 I get this compiler error using 64-bit mingw (MSYS2): relocation truncated to fit||R_X86_64_32 against symbol `__imp_vkCreateInstance' defined in .idata$5 section in C:\VulkanSDK\1.0.3.1\Bin/vulkan-1.lib(vulkan-1.dll.b)| What do I do? Am I linking against the right library? I was able to compile a simple program, with just a

Wat does the “vkCreateSwapchainKHR:internal drawable creation failed.” means

天大地大妈咪最大 提交于 2019-12-04 04:02:33
问题 I am always stuck at the swapchain creation, and I don't know why. I enabled the validation layers, and the best anwser I got is: vkCreateSwapchainKHR: internal drawable creation failed I have an Nvidia GTX960 card. i ran some vulkan samples on it so, It must support vulkan. Here is my swapchain creator function: void Renderer::createSwapChain(VkSwapchainKHR *swapchain,VkPhysicalDevice *dev,VkDevice *vulk_dev,VkSurfaceKHR *surface, uint32_t family_index,VkExtent2D *extent) { uint32_t format

安装Vulkan-SDK

∥☆過路亽.° 提交于 2019-12-04 01:14:16
wget -qO - http://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add - sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.1.114-bionic.list http://packages.lunarg.com/vulkan/1.1.114/lunarg-vulkan-1.1.114-bionic.list sudo apt update sudo apt install vulkan-sdk 来源: https://www.cnblogs.com/walnuttree/p/11826504.html

Multi-thread rendering vs command pools

帅比萌擦擦* 提交于 2019-12-03 14:25:18
Nicol Bolas : After all, being able to build command buffers in parallel is one of the selling points of Vulkan. Specs (5.1 Command Pools) (emphasis mine): Command pools are application-synchronized, meaning that a command pool must not be used concurrently in multiple threads. That includes use via recording commands on any command buffers allocated from the pool , as well as operations that allocate, free, and reset command buffers or the pool itself. Doesn't this kind of kill the whole purpose of command pools when it comes to recording in parallel? If you intend to record in parallel, then

What is coherent memory on GPU?

五迷三道 提交于 2019-12-03 11:05:55
问题 I have stumbled not once into a term "non coherent" and "coherent" memory in the tech papers related to graphics programming.I have been searching for a simple and clear explanation,but found mostly 'hardcore' papers of this type.I would be glad to receive layman's style answer on what coherent memory actually is on GPU architectures and how it is compared to other (probably not-coherent) memory types. 回答1: Memory is memory. But different things can access that memory. The GPU can access

How'd multi-GPU programming work with Vulkan?

[亡魂溺海] 提交于 2019-12-03 05:03:55
Would using multi-GPUs in Vulkan be something like making many command queues then dividing command buffers between them? There are 2 problems: In OpenGL, we use GLEW to get functions. With more than 1 GPU, each GPU has its own driver. How'd we use Vulkan? Would part of the frame be generated with a GPU & the others with other GPUs like use Intel GPU to render UI & AMD or Nvidia GPU to render game screen in labtops for example? Or would a frame be generated in a GPU & the next frame in an another GPU? Updated with more recent information, now that Vulkan exists. There are two kinds of multi

memory management Vulkan

自闭症网瘾萝莉.ら 提交于 2019-12-03 04:26:58
https://www.youtube.com/watch?v=rXSdDE7NWmA vulkan DEVICE_LOCAL 仅GPU可见 比如framebuffer 或者上传一次之后一直是gpu用的 srv vertexbuffer indexbuffer HOST_VISIBLE CPU可见 DEVICE_LOCAL+ HOST_VISIBLE CPU可见 比如constant buffer 需要每帧cpu写 gpu使用 uncached slow read write HOST_VISIBLE+HOST_CACHED system memory, cached,GPU access through PCI,good resource to write by GPU ,read by CPU 来源: https://www.cnblogs.com/minggoddess/p/11777132.html

What is the difference between framebuffer and image in Vulkan?

旧巷老猫 提交于 2019-12-03 02:25:35
I've known that framebuffer is the final destination of the rendering pipeline and swapchain contains many image. So what is the relation between those two things? Which one is the actual render target? And does the framebuffer later attach the final picture of the current frame on the image view? If so, how will it transfer? Describing this via paint or diagram would be pleased. VkFramebuffer + VkRenderPass defines the render target. Render pass defines which attachment will be written with colors. VkFramebuffer defines which VkImageView is to be which attachment . VkImageView defines which