![]() |
Project
|
#include <GPUDisplayBackendVulkan.h>
Inherits o2::gpu::GPUDisplayBackend.
Classes | |
| struct | FontSymbolVulkan |
| struct | SwapChainSupportDetails |
| struct | TextDrawCommand |
| struct | VulkanBuffer |
| struct | VulkanImage |
Public Member Functions | |
| GPUDisplayBackendVulkan () | |
| ~GPUDisplayBackendVulkan () override | |
| uint32_t | DepthBits () override |
Public Member Functions inherited from o2::gpu::GPUDisplayBackend | |
| GPUDisplayBackend () | |
| virtual | ~GPUDisplayBackend () |
| virtual int32_t | ExtInit () |
| virtual bool | CoreProfile () |
| virtual uint32_t | drawField () |
| virtual void | setQuality () |
| int32_t | fpsLimitMode () const |
| int32_t | InitBackend () |
| void | updateFontScale (float scale) |
| void | ExitBackend () |
| backendTypes | backendType () const |
| const char * | backendName () const |
| virtual size_t | needMultiVBO () |
| std::vector< char > | getPixels () |
Protected Types | |
| using | FeatureChain = vk::StructureChain< vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceVulkan11Features, vk::PhysicalDeviceVulkan12Features, vk::PhysicalDeviceVulkan13Features, vk::PhysicalDeviceVulkan14Features, vk::PhysicalDeviceSwapchainMaintenance1FeaturesKHR, vk::PhysicalDevicePresentIdFeaturesKHR, vk::PhysicalDevicePresentWaitFeaturesKHR > |
Protected Member Functions | |
| uint32_t | drawVertices (const vboList &v, const drawType t) override |
| void | ActivateColor (std::array< float, 4 > &color) override |
| void | SetVSync (bool enable) override |
| void | setDepthBuffer () override |
| bool | backendNeedRedraw () override |
| int32_t | InitBackendA () override |
| void | ExitBackendA () override |
| void | loadDataToGPU (size_t totalVertizes) override |
| bool | prepareDraw (const hmm_mat4 &proj, const hmm_mat4 &view, bool requestScreenshot, bool toMixBuffer, float includeMixImage) override |
| void | finishDraw (bool doScreenshot, bool toMixBuffer, float includeMixImage) override |
| void | finishFrame (bool doScreenshot, bool toMixBuffer, float includeMixImage) override |
| void | prepareText () override |
| void | finishText () override |
| void | mixImages (vk::CommandBuffer cmdBuffer, float mixSlaveImage) |
| void | cmdPushDescriptors (vk::CommandBuffer commandBuffer, vk::PipelineLayout layout, const VulkanBuffer &ubo, vk::ImageView textureView={}) |
| void | pointSizeFactor (float factor) override |
| void | lineWidthFactor (float factor) override |
| bool | useNativeSmoothLines () const |
| bool | useSmoothLineShader () const |
| bool | canLimitToVSync () const override |
| void | waitPresentFences () |
| void | resizeScene (uint32_t width, uint32_t height) override |
| float | getYFactor () const override |
| int32_t | getMaxMSAA () const override |
| double | checkDevice (vk::PhysicalDevice device, const std::vector< const char * > &reqDeviceExtensions, const FeatureChain &reqDeviceFeatures, bool silent=false) |
| vk::Extent2D | chooseSwapExtent (const vk::SurfaceCapabilitiesKHR &capabilities) |
| vk::PresentModeKHR | chooseSwapPresentMode () |
| VulkanBuffer | createBuffer (size_t size, const void *srcData=nullptr, vk::BufferUsageFlags type=vk::BufferUsageFlagBits::eVertexBuffer, int32_t deviceMemory=1) |
| void | writeToBuffer (VulkanBuffer &buffer, size_t size, const void *srcData) |
| void | clearBuffer (VulkanBuffer &buffer) |
| VulkanImage | createImage (uint32_t sizex, uint32_t sizey, const void *srcData=nullptr, size_t srcSize=0, vk::Format format=vk::Format::eR8G8B8A8Srgb) |
| void | writeToImage (VulkanImage &image, const void *srcData, size_t srcSize) |
| void | clearImage (VulkanImage &image) |
| void | clearVertexBuffers () |
| void | startFillCommandBuffer (vk::CommandBuffer &commandBuffer, uint32_t imageIndex, bool toMixBuffer=false) |
| void | endFillCommandBuffer (vk::CommandBuffer &commandBuffer) |
| vk::CommandBuffer | getSingleTimeCommandBuffer () |
| void | waitTimeline (uint64_t value) |
| template<class... Args> | |
| uint64_t | queueSubmit (uint64_t *timelineSignalValue, Args &&... args) |
| void | submitSingleTimeCommandBuffer (vk::CommandBuffer commandBuffer) |
| void | readImageToPixels (vk::Image image, vk::ImageView view, vk::ImageLayout layout, std::vector< char > &pixels) |
| void | downsampleToFramebuffer (vk::CommandBuffer &commandBuffer) |
| void | cmdDownsample (vk::CommandBuffer commandBuffer, vk::ImageView src, vk::ImageView dst, uint32_t width, uint32_t height, int32_t factor) |
| void | updateSwapChainDetails (const vk::PhysicalDevice &device) |
| void | createDevice () |
| void | loadShaders () |
| void | createTextureSampler () |
| void | createCommandBuffers () |
| void | createSemaphores () |
| void | createUniformLayoutsAndBuffers () |
| void | createSwapChain (vk::SwapchainKHR oldSwapChain={}) |
| void | createOffscreenBuffers (bool forScreenshot=false, bool forMixing=false) |
| void | createPipeline () |
| void | clearDevice () |
| void | clearTextureSampler () |
| void | clearCommandBuffers () |
| void | clearSemaphores () |
| void | clearUniformLayoutsAndBuffers () |
| void | clearOffscreenBuffers () |
| void | clearSwapChain (bool keepSwapChain=false) |
| void | clearPipeline () |
| void | recreateRendering (bool forScreenshot=false, bool forMixing=false) |
| void | needRecordCommandBuffers () |
| void | addFontSymbol (int32_t symbol, int32_t sizex, int32_t sizey, int32_t offsetx, int32_t offsety, int32_t advance, void *data) override |
| void | initializeTextDrawing () override |
| void | clearFontSymbols () override |
| void | OpenGLPrint (const char *s, float x, float y, float *color, float scale) override |
| void | handleSwapChainResult (vk::Result retVal, uint8_t suboptimalBit) |
Protected Member Functions inherited from o2::gpu::GPUDisplayBackend | |
| void | loadFont () |
| float | getDownsampleFactor (bool screenshot=false) |
| void | fillIndirectCmdBuffer () |
| bool | smoothFont () |
Additional Inherited Members | |
Public Types inherited from o2::gpu::GPUDisplayBackend | |
| enum | drawType { POINTS = 0 , LINES = 1 , LINE_STRIP = 2 } |
| enum | backendTypes { TYPE_INVALID = -1 , TYPE_OPENGL = 0 , TYPE_VULKAN = 1 , TYPE_NONE = 2 } |
| enum | fpsLimitModes : int32_t { FPS_LIMIT_NONE = 0 , FPS_LIMIT_VSYNC = 1 , FPS_LIMIT_RATE = 2 } |
| typedef std::tuple< uint32_t, uint32_t, int32_t > | vboList |
Static Public Member Functions inherited from o2::gpu::GPUDisplayBackend | |
| static GPUDisplayBackend * | getBackend (const char *type) |
Static Protected Attributes inherited from o2::gpu::GPUDisplayBackend | |
| static constexpr float | SMOOTH_POINT_EXTRA_SIZE = 0.6f |
| static constexpr float | SMOOTH_LINE_EXTRA_WIDTH = 0.8f |
Definition at line 29 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 92 of file GPUDisplayBackendVulkan.h.
| GPUDisplayBackendVulkan::GPUDisplayBackendVulkan | ( | ) |
Definition at line 44 of file GPUDisplayBackendVulkan.cxx.
|
overridedefault |
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1767 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1814 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Reimplemented from o2::gpu::GPUDisplayBackend.
Definition at line 2032 of file GPUDisplayBackendVulkan.cxx.
|
inlineoverrideprotectedvirtual |
Reimplemented from o2::gpu::GPUDisplayBackend.
Definition at line 86 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 345 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 121 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 99 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1304 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 635 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 607 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Reimplemented from o2::gpu::GPUDisplayBackend.
Definition at line 1886 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1364 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 962 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1215 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 679 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 850 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 759 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 721 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1310 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1676 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 730 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1262 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 620 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 426 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1347 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 889 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 976 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 647 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 766 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 740 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 689 of file GPUDisplayBackendVulkan.cxx.
|
overridevirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 2027 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1637 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1444 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1209 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1388 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1558 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1568 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1699 of file GPUDisplayBackendVulkan.cxx.
|
inlineoverrideprotectedvirtual |
Reimplemented from o2::gpu::GPUDisplayBackend.
Definition at line 90 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 163 of file GPUDisplayBackendVulkan.cxx.
|
inlineoverrideprotectedvirtual |
Reimplemented from o2::gpu::GPUDisplayBackend.
Definition at line 89 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 1545 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1373 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1827 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1794 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1427 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1227 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1739 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1809 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1896 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1775 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1472 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 1688 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 177 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1945 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 859 of file GPUDisplayBackendVulkan.cxx.
|
overrideprotectedvirtual |
Reimplemented from o2::gpu::GPUDisplayBackend.
Definition at line 1415 of file GPUDisplayBackendVulkan.cxx.
|
inlineoverrideprotectedvirtual |
Implements o2::gpu::GPUDisplayBackend.
Definition at line 70 of file GPUDisplayBackendVulkan.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from o2::gpu::GPUDisplayBackend.
Definition at line 69 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 1165 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 187 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 156 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1784 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1789 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 669 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 197 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1245 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 1324 of file GPUDisplayBackendVulkan.cxx.
|
protected |
Definition at line 181 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 182 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 185 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 186 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 183 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 184 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 188 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 173 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 170 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 178 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 179 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 176 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 177 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 146 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 148 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 231 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 163 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 143 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 222 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 208 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 207 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 209 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 212 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 187 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 175 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 156 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 193 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 141 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 149 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 213 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 189 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 174 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 194 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 205 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 145 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 200 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 230 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 219 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 216 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 219 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 165 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 232 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 234 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 162 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 224 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 154 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 147 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 171 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 167 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 168 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 169 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 229 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 152 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 227 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 228 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 190 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 195 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 161 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 160 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 166 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 226 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 221 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 218 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 220 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 150 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 151 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 153 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 142 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 158 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 159 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 155 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 210 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 211 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 191 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 192 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 196 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 201 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 202 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 197 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 199 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 198 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 204 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 225 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 164 of file GPUDisplayBackendVulkan.h.
|
protected |
Definition at line 217 of file GPUDisplayBackendVulkan.h.