3#include <QGuiApplication>
4#include <QVulkanDeviceFunctions>
5#include <QVulkanWindow>
19 m_devFuncs = m_window->vulkanInstance()->deviceFunctions(m_window->device());
28 VkCommandBuffer cmdBuf = m_window->currentCommandBuffer();
30 m_devFuncs->vkCmdBeginRenderPass(commandBuffer, renderPassBegin, contents);
32 m_window->frameReady();
36 QVulkanWindow *m_window;
37 QVulkanDeviceFunctions *m_devFuncs;
44 return new VulkanRenderer(
this);
48int main(
int argc,
char *argv[])
50 QGuiApplication app(argc, argv);
54 inst.setLayers({
"VK_LAYER_KHRONOS_validation" });
56 qFatal(
"Failed to create Vulkan instance: %d", inst.errorCode());
59 w.setVulkanInstance(&inst);
68 void startNextFrame();
72 QVulkanWindow *m_window =
nullptr;
77 VkDescriptorBufferInfo &uniformBufInfo(m_uniformBufInfo[m_window->currentFrame()]);
89 void startNextFrame();
93 QVulkanWindow *m_window =
nullptr;
98 const int count = m_window->concurrentFrameCount();
VulkanRenderer(QVulkanWindow *w)
void initResources() override
void initSwapChainResources() override
void releaseResources() override
void startNextFrame() override
void releaseSwapChainResources() override
QVulkanWindowRenderer * createRenderer() override
VkSubpassContents contents
VkCommandBuffer commandBuffer
int main(int argc, char *argv[])
const VkRenderPassBeginInfo * renderPassBegin