Project
Loading...
Searching...
No Matches
o2::gpu::GPUDisplayBackendVulkan Class Reference

#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 InitBackend ()
 
void ExitBackend ()
 
backendTypes backendType () const
 
const charbackendName () const
 
virtual size_t needMultiVBO ()
 
std::vector< chargetPixels ()
 

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
 
void 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 setMixDescriptor (int32_t descriptorIndex, int32_t imageIndex)
 
void pointSizeFactor (float factor) override
 
void lineWidthFactor (float factor) override
 
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)
 
vk::Extent2D chooseSwapExtent (const vk::SurfaceCapabilitiesKHR &capabilities)
 
void transitionImageLayout (vk::CommandBuffer commandBuffer, vk::Image image, vk::Format format, vk::ImageLayout oldLayout, vk::ImageLayout newLayout)
 
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 submitSingleTimeCommandBuffer (vk::CommandBuffer commandBuffer)
 
void readImageToPixels (vk::Image image, vk::ImageLayout layout, std::vector< char > &pixels)
 
void downsampleToFramebuffer (vk::CommandBuffer &commandBuffer)
 
void updateSwapChainDetails (const vk::PhysicalDevice &device)
 
void updateFontTextureDescriptor ()
 
void createDevice ()
 
void createShaders ()
 
void createTextureSampler ()
 
void createCommandBuffers ()
 
void createSemaphoresAndFences ()
 
void createUniformLayoutsAndBuffers ()
 
void createSwapChain (bool forScreenshot=false, bool forMixing=false)
 
void createOffscreenBuffers (bool forScreenshot=false, bool forMixing=false)
 
void createPipeline ()
 
void clearDevice ()
 
void clearShaders ()
 
void clearTextureSampler ()
 
void clearCommandBuffers ()
 
void clearSemaphoresAndFences ()
 
void clearUniformLayoutsAndBuffers ()
 
void clearOffscreenBuffers ()
 
void clearSwapChain ()
 
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 OpenGLPrint (const char *s, float x, float y, float *color, float scale) override
 
- Protected Member Functions inherited from o2::gpu::GPUDisplayBackend
float getDownsampleFactor (bool screenshot=false)
 
void fillIndirectCmdBuffer ()
 
bool smoothFont ()
 

Protected Attributes

uint32_t mGraphicsFamily
 
SwapChainSupportDetails mSwapChainDetails
 
bool mEnableValidationLayers = false
 
vk::Instance mInstance
 
vk::DebugUtilsMessengerEXT mDebugMessenger
 
vk::PhysicalDevice mPhysicalDevice
 
vk::Device mDevice
 
vk::Queue mGraphicsQueue
 
vk::SurfaceKHR mSurface
 
vk::SurfaceFormatKHR mSurfaceFormat
 
vk::PresentModeKHR mPresentMode
 
vk::SwapchainKHR mSwapChain
 
bool mMustUpdateSwapChain = false
 
std::vector< vk::Image > mSwapChainImages
 
std::vector< vk::ImageView > mSwapChainImageViews
 
std::vector< vk::ImageView * > mRenderTargetView
 
std::vector< VulkanImagemMSAAImages
 
std::vector< VulkanImagemDownsampleImages
 
std::vector< VulkanImagemZImages
 
std::vector< VulkanImagemMixImages
 
std::unordered_map< std::string, vk::ShaderModule > mShaders
 
vk::PipelineLayout mPipelineLayout
 
vk::PipelineLayout mPipelineLayoutTexture
 
vk::RenderPass mRenderPass
 
vk::RenderPass mRenderPassText
 
vk::RenderPass mRenderPassTexture
 
std::vector< vk::Pipeline > mPipelines
 
std::vector< vk::Framebuffer > mFramebuffers
 
std::vector< vk::Framebuffer > mFramebuffersText
 
std::vector< vk::Framebuffer > mFramebuffersTexture
 
vk::CommandPool mCommandPool
 
bool mCommandBufferPerImage = false
 
bool mCommandInfrastructureCreated = false
 
uint32_t mImageCount = 0
 
uint32_t mFramesInFlight = 0
 
int32_t mCurrentFrame = 0
 
uint32_t mCurrentImageIndex = 0
 
int32_t mCurrentBufferSet = 0
 
vk::CommandBuffer mCurrentCommandBuffer
 
int32_t mCurrentCommandBufferLastPipeline = -1
 
std::vector< vk::CommandBuffer > mCommandBuffers
 
std::vector< vk::CommandBuffer > mCommandBuffersDownsample
 
std::vector< vk::CommandBuffer > mCommandBuffersText
 
std::vector< vk::CommandBuffer > mCommandBuffersTexture
 
std::vector< vk::CommandBuffer > mCommandBuffersMix
 
std::vector< bool > mCommandBufferUpToDate
 
std::vector< vk::Semaphore > mImageAvailableSemaphore
 
std::vector< vk::Semaphore > mRenderFinishedSemaphore
 
std::vector< vk::Semaphore > mTextFinishedSemaphore
 
std::vector< vk::Semaphore > mMixFinishedSemaphore
 
std::vector< vk::Semaphore > mDownsampleFinishedSemaphore
 
std::vector< vk::Fence > mInFlightFence
 
std::vector< VulkanBuffermUniformBuffersMat [3]
 
std::vector< VulkanBuffermUniformBuffersCol [3]
 
std::vector< vk::DescriptorSet > mDescriptorSets [3]
 
vk::DescriptorSetLayout mUniformDescriptor
 
vk::DescriptorSetLayout mUniformDescriptorTexture
 
vk::DescriptorPool mDescriptorPool
 
VulkanBuffer mVBO
 
VulkanBuffer mIndirectCommandBuffer
 
std::vector< FontSymbolVulkanmFontSymbols
 
VulkanImage mFontImage
 
std::vector< VulkanBuffermFontVertexBuffer
 
std::vector< TextDrawCommandmTextDrawCommands
 
vk::Sampler mTextureSampler
 
vecpod< float > mFontVertexBufferHost
 
bool mHasDrawnText = false
 
bool mSwapchainImageReadable = false
 
vk::SampleCountFlagBits mMSAASampleCount = vk::SampleCountFlagBits::e16
 
uint32_t mMaxMSAAsupported = 0
 
bool mZActive = false
 
bool mZSupported = false
 
bool mStencilSupported = false
 
bool mCubicFilterSupported = false
 
bool mDownsampleFSAA = false
 
bool mMixingSupported = 0
 
VulkanBuffer mMixingTextureVertexArray
 
vk::Fence mSingleCommitFence
 
- Protected Attributes inherited from o2::gpu::GPUDisplayBackend
GPUDisplaymDisplay = nullptr
 
std::vector< int32_t > mIndirectSectorOffset
 
vecpod< DrawArraysIndirectCommandmCmdBuffer
 
bool mFreetypeInitialized = false
 
bool mFrontendCompatTextDraw = false
 
std::vector< charmScreenshotPixels
 
int32_t mDownsampleFactor = 1
 
uint32_t mRenderWidth = 0
 
uint32_t mRenderHeight = 0
 
uint32_t mScreenWidth = 0
 
uint32_t mScreenHeight = 0
 
backendTypes mBackendType = TYPE_INVALID
 
const charmBackendName = nullptr
 
std::unique_ptr< GPUDisplayMagneticFieldmMagneticFieldVisualization
 

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 }
 
typedef std::tuple< uint32_t, uint32_t, int32_t > vboList
 
- Static Public Member Functions inherited from o2::gpu::GPUDisplayBackend
static GPUDisplayBackendgetBackend (const char *type)
 

Detailed Description

Definition at line 28 of file GPUDisplayBackendVulkan.h.

Constructor & Destructor Documentation

◆ GPUDisplayBackendVulkan()

GPUDisplayBackendVulkan::GPUDisplayBackendVulkan ( )

Definition at line 45 of file GPUDisplayBackendVulkan.cxx.

◆ ~GPUDisplayBackendVulkan()

GPUDisplayBackendVulkan::~GPUDisplayBackendVulkan ( )
overridedefault

Member Function Documentation

◆ ActivateColor()

void GPUDisplayBackendVulkan::ActivateColor ( std::array< float, 4 > &  color)
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1754 of file GPUDisplayBackendVulkan.cxx.

◆ addFontSymbol()

void GPUDisplayBackendVulkan::addFontSymbol ( int32_t  symbol,
int32_t  sizex,
int32_t  sizey,
int32_t  offsetx,
int32_t  offsety,
int32_t  advance,
void data 
)
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1784 of file GPUDisplayBackendVulkan.cxx.

◆ backendNeedRedraw()

bool GPUDisplayBackendVulkan::backendNeedRedraw ( )
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUDisplayBackend.

Definition at line 1992 of file GPUDisplayBackendVulkan.cxx.

◆ checkDevice()

double GPUDisplayBackendVulkan::checkDevice ( vk::PhysicalDevice  device,
const std::vector< const char * > &  reqDeviceExtensions 
)
protected

Definition at line 273 of file GPUDisplayBackendVulkan.cxx.

◆ chooseSwapExtent()

vk::Extent2D GPUDisplayBackendVulkan::chooseSwapExtent ( const vk::SurfaceCapabilitiesKHR &  capabilities)
protected

Definition at line 112 of file GPUDisplayBackendVulkan.cxx.

◆ clearBuffer()

void GPUDisplayBackendVulkan::clearBuffer ( VulkanBuffer buffer)
protected

Definition at line 1330 of file GPUDisplayBackendVulkan.cxx.

◆ clearCommandBuffers()

void GPUDisplayBackendVulkan::clearCommandBuffers ( )
protected

Definition at line 521 of file GPUDisplayBackendVulkan.cxx.

◆ clearDevice()

void GPUDisplayBackendVulkan::clearDevice ( )
protected

Definition at line 495 of file GPUDisplayBackendVulkan.cxx.

◆ clearImage()

void GPUDisplayBackendVulkan::clearImage ( VulkanImage image)
protected

Definition at line 1396 of file GPUDisplayBackendVulkan.cxx.

◆ clearOffscreenBuffers()

void GPUDisplayBackendVulkan::clearOffscreenBuffers ( )
protected

Definition at line 1006 of file GPUDisplayBackendVulkan.cxx.

◆ clearPipeline()

void GPUDisplayBackendVulkan::clearPipeline ( )
protected

Definition at line 1242 of file GPUDisplayBackendVulkan.cxx.

◆ clearSemaphoresAndFences()

void GPUDisplayBackendVulkan::clearSemaphoresAndFences ( )
protected

Definition at line 555 of file GPUDisplayBackendVulkan.cxx.

◆ clearShaders()

void GPUDisplayBackendVulkan::clearShaders ( )
protected

Definition at line 1264 of file GPUDisplayBackendVulkan.cxx.

◆ clearSwapChain()

void GPUDisplayBackendVulkan::clearSwapChain ( )
protected

Definition at line 771 of file GPUDisplayBackendVulkan.cxx.

◆ clearTextureSampler()

void GPUDisplayBackendVulkan::clearTextureSampler ( )
protected

Definition at line 695 of file GPUDisplayBackendVulkan.cxx.

◆ clearUniformLayoutsAndBuffers()

void GPUDisplayBackendVulkan::clearUniformLayoutsAndBuffers ( )
protected

Definition at line 647 of file GPUDisplayBackendVulkan.cxx.

◆ clearVertexBuffers()

void GPUDisplayBackendVulkan::clearVertexBuffers ( )
protected

Definition at line 1336 of file GPUDisplayBackendVulkan.cxx.

◆ createBuffer()

GPUDisplayBackendVulkan::VulkanBuffer GPUDisplayBackendVulkan::createBuffer ( size_t  size,
const void srcData = nullptr,
vk::BufferUsageFlags  type = vk::BufferUsageFlagBits::eVertexBuffer,
int32_t  deviceMemory = 1 
)
protected

Definition at line 1291 of file GPUDisplayBackendVulkan.cxx.

◆ createCommandBuffers()

void GPUDisplayBackendVulkan::createCommandBuffers ( )
protected

Definition at line 507 of file GPUDisplayBackendVulkan.cxx.

◆ createDevice()

void GPUDisplayBackendVulkan::createDevice ( )
protected

Definition at line 339 of file GPUDisplayBackendVulkan.cxx.

◆ createImage()

GPUDisplayBackendVulkan::VulkanImage GPUDisplayBackendVulkan::createImage ( uint32_t  sizex,
uint32_t  sizey,
const void srcData = nullptr,
size_t  srcSize = 0,
vk::Format  format = vk::Format::eR8G8B8A8Srgb 
)
protected

Definition at line 1379 of file GPUDisplayBackendVulkan.cxx.

◆ createOffscreenBuffers()

void GPUDisplayBackendVulkan::createOffscreenBuffers ( bool  forScreenshot = false,
bool  forMixing = false 
)
protected

Definition at line 797 of file GPUDisplayBackendVulkan.cxx.

◆ createPipeline()

void GPUDisplayBackendVulkan::createPipeline ( )
protected

Definition at line 1025 of file GPUDisplayBackendVulkan.cxx.

◆ createSemaphoresAndFences()

void GPUDisplayBackendVulkan::createSemaphoresAndFences ( )
protected

Definition at line 532 of file GPUDisplayBackendVulkan.cxx.

◆ createShaders()

void GPUDisplayBackendVulkan::createShaders ( )
protected

Definition at line 1254 of file GPUDisplayBackendVulkan.cxx.

◆ createSwapChain()

void GPUDisplayBackendVulkan::createSwapChain ( bool  forScreenshot = false,
bool  forMixing = false 
)
protected

Definition at line 702 of file GPUDisplayBackendVulkan.cxx.

◆ createTextureSampler()

void GPUDisplayBackendVulkan::createTextureSampler ( )
protected

Definition at line 676 of file GPUDisplayBackendVulkan.cxx.

◆ createUniformLayoutsAndBuffers()

void GPUDisplayBackendVulkan::createUniformLayoutsAndBuffers ( )
protected

Definition at line 568 of file GPUDisplayBackendVulkan.cxx.

◆ DepthBits()

uint32_t GPUDisplayBackendVulkan::DepthBits ( )
overridevirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1987 of file GPUDisplayBackendVulkan.cxx.

◆ downsampleToFramebuffer()

void GPUDisplayBackendVulkan::downsampleToFramebuffer ( vk::CommandBuffer &  commandBuffer)
protected

Definition at line 1634 of file GPUDisplayBackendVulkan.cxx.

◆ drawVertices()

uint32_t GPUDisplayBackendVulkan::drawVertices ( const vboList v,
const drawType  t 
)
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1468 of file GPUDisplayBackendVulkan.cxx.

◆ endFillCommandBuffer()

void GPUDisplayBackendVulkan::endFillCommandBuffer ( vk::CommandBuffer &  commandBuffer)
protected

Definition at line 1236 of file GPUDisplayBackendVulkan.cxx.

◆ ExitBackendA()

void GPUDisplayBackendVulkan::ExitBackendA ( )
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1420 of file GPUDisplayBackendVulkan.cxx.

◆ finishDraw()

void GPUDisplayBackendVulkan::finishDraw ( bool  doScreenshot,
bool  toMixBuffer,
float  includeMixImage 
)
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1550 of file GPUDisplayBackendVulkan.cxx.

◆ finishFrame()

void GPUDisplayBackendVulkan::finishFrame ( bool  doScreenshot,
bool  toMixBuffer,
float  includeMixImage 
)
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1560 of file GPUDisplayBackendVulkan.cxx.

◆ finishText()

void GPUDisplayBackendVulkan::finishText ( )
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1676 of file GPUDisplayBackendVulkan.cxx.

◆ getMaxMSAA()

int32_t o2::gpu::GPUDisplayBackendVulkan::getMaxMSAA ( ) const
inlineoverrideprotectedvirtual

Reimplemented from o2::gpu::GPUDisplayBackend.

Definition at line 84 of file GPUDisplayBackendVulkan.h.

◆ getSingleTimeCommandBuffer()

vk::CommandBuffer GPUDisplayBackendVulkan::getSingleTimeCommandBuffer ( )
protected

Definition at line 154 of file GPUDisplayBackendVulkan.cxx.

◆ getYFactor()

float o2::gpu::GPUDisplayBackendVulkan::getYFactor ( ) const
inlineoverrideprotectedvirtual

Reimplemented from o2::gpu::GPUDisplayBackend.

Definition at line 83 of file GPUDisplayBackendVulkan.h.

◆ InitBackendA()

int32_t GPUDisplayBackendVulkan::InitBackendA ( )
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1405 of file GPUDisplayBackendVulkan.cxx.

◆ initializeTextDrawing()

void GPUDisplayBackendVulkan::initializeTextDrawing ( )
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1797 of file GPUDisplayBackendVulkan.cxx.

◆ lineWidthFactor()

void GPUDisplayBackendVulkan::lineWidthFactor ( float  factor)
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1771 of file GPUDisplayBackendVulkan.cxx.

◆ loadDataToGPU()

void GPUDisplayBackendVulkan::loadDataToGPU ( size_t  totalVertizes)
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1455 of file GPUDisplayBackendVulkan.cxx.

◆ mixImages()

void GPUDisplayBackendVulkan::mixImages ( vk::CommandBuffer  cmdBuffer,
float  mixSlaveImage 
)
protected

Definition at line 1717 of file GPUDisplayBackendVulkan.cxx.

◆ needRecordCommandBuffers()

void GPUDisplayBackendVulkan::needRecordCommandBuffers ( )
protected

Definition at line 1779 of file GPUDisplayBackendVulkan.cxx.

◆ OpenGLPrint()

void GPUDisplayBackendVulkan::OpenGLPrint ( const char s,
float  x,
float  y,
float *  color,
float  scale 
)
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1875 of file GPUDisplayBackendVulkan.cxx.

◆ pointSizeFactor()

void GPUDisplayBackendVulkan::pointSizeFactor ( float  factor)
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1762 of file GPUDisplayBackendVulkan.cxx.

◆ prepareDraw()

void GPUDisplayBackendVulkan::prepareDraw ( const hmm_mat4 proj,
const hmm_mat4 view,
bool  requestScreenshot,
bool  toMixBuffer,
float  includeMixImage 
)
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1495 of file GPUDisplayBackendVulkan.cxx.

◆ prepareText()

void GPUDisplayBackendVulkan::prepareText ( )
overrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 1667 of file GPUDisplayBackendVulkan.cxx.

◆ readImageToPixels()

void GPUDisplayBackendVulkan::readImageToPixels ( vk::Image  image,
vk::ImageLayout  layout,
std::vector< char > &  pixels 
)
protected

Definition at line 1924 of file GPUDisplayBackendVulkan.cxx.

◆ recreateRendering()

void GPUDisplayBackendVulkan::recreateRendering ( bool  forScreenshot = false,
bool  forMixing = false 
)
protected

Definition at line 777 of file GPUDisplayBackendVulkan.cxx.

◆ resizeScene()

void GPUDisplayBackendVulkan::resizeScene ( uint32_t  width,
uint32_t  height 
)
overrideprotectedvirtual

Reimplemented from o2::gpu::GPUDisplayBackend.

Definition at line 1443 of file GPUDisplayBackendVulkan.cxx.

◆ setDepthBuffer()

void o2::gpu::GPUDisplayBackendVulkan::setDepthBuffer ( )
inlineoverrideprotectedvirtual

Implements o2::gpu::GPUDisplayBackend.

Definition at line 68 of file GPUDisplayBackendVulkan.h.

◆ setMixDescriptor()

void GPUDisplayBackendVulkan::setMixDescriptor ( int32_t  descriptorIndex,
int32_t  imageIndex 
)
protected

Definition at line 658 of file GPUDisplayBackendVulkan.cxx.

◆ SetVSync()

void o2::gpu::GPUDisplayBackendVulkan::SetVSync ( bool  enable)
inlineoverrideprotectedvirtual

Reimplemented from o2::gpu::GPUDisplayBackend.

Definition at line 67 of file GPUDisplayBackendVulkan.h.

◆ startFillCommandBuffer()

void GPUDisplayBackendVulkan::startFillCommandBuffer ( vk::CommandBuffer &  commandBuffer,
uint32_t  imageIndex,
bool  toMixBuffer = false 
)
protected

Definition at line 1210 of file GPUDisplayBackendVulkan.cxx.

◆ submitSingleTimeCommandBuffer()

void GPUDisplayBackendVulkan::submitSingleTimeCommandBuffer ( vk::CommandBuffer  commandBuffer)
protected

Definition at line 167 of file GPUDisplayBackendVulkan.cxx.

◆ transitionImageLayout()

void o2::gpu::GPUDisplayBackendVulkan::transitionImageLayout ( vk::CommandBuffer  commandBuffer,
vk::Image  image,
vk::Format  format,
vk::ImageLayout  oldLayout,
vk::ImageLayout  newLayout 
)
protected

◆ updateFontTextureDescriptor()

void GPUDisplayBackendVulkan::updateFontTextureDescriptor ( )
protected

Definition at line 1857 of file GPUDisplayBackendVulkan.cxx.

◆ updateSwapChainDetails()

void GPUDisplayBackendVulkan::updateSwapChainDetails ( const vk::PhysicalDevice &  device)
protected

Definition at line 147 of file GPUDisplayBackendVulkan.cxx.

◆ writeToBuffer()

void GPUDisplayBackendVulkan::writeToBuffer ( VulkanBuffer buffer,
size_t  size,
const void srcData 
)
protected

Definition at line 1271 of file GPUDisplayBackendVulkan.cxx.

◆ writeToImage()

void GPUDisplayBackendVulkan::writeToImage ( VulkanImage image,
const void srcData,
size_t  srcSize 
)
protected

Definition at line 1356 of file GPUDisplayBackendVulkan.cxx.

Member Data Documentation

◆ mCommandBufferPerImage

bool o2::gpu::GPUDisplayBackendVulkan::mCommandBufferPerImage = false
protected

Definition at line 164 of file GPUDisplayBackendVulkan.h.

◆ mCommandBuffers

std::vector<vk::CommandBuffer> o2::gpu::GPUDisplayBackendVulkan::mCommandBuffers
protected

Definition at line 174 of file GPUDisplayBackendVulkan.h.

◆ mCommandBuffersDownsample

std::vector<vk::CommandBuffer> o2::gpu::GPUDisplayBackendVulkan::mCommandBuffersDownsample
protected

Definition at line 175 of file GPUDisplayBackendVulkan.h.

◆ mCommandBuffersMix

std::vector<vk::CommandBuffer> o2::gpu::GPUDisplayBackendVulkan::mCommandBuffersMix
protected

Definition at line 178 of file GPUDisplayBackendVulkan.h.

◆ mCommandBuffersText

std::vector<vk::CommandBuffer> o2::gpu::GPUDisplayBackendVulkan::mCommandBuffersText
protected

Definition at line 176 of file GPUDisplayBackendVulkan.h.

◆ mCommandBuffersTexture

std::vector<vk::CommandBuffer> o2::gpu::GPUDisplayBackendVulkan::mCommandBuffersTexture
protected

Definition at line 177 of file GPUDisplayBackendVulkan.h.

◆ mCommandBufferUpToDate

std::vector<bool> o2::gpu::GPUDisplayBackendVulkan::mCommandBufferUpToDate
protected

Definition at line 179 of file GPUDisplayBackendVulkan.h.

◆ mCommandInfrastructureCreated

bool o2::gpu::GPUDisplayBackendVulkan::mCommandInfrastructureCreated = false
protected

Definition at line 165 of file GPUDisplayBackendVulkan.h.

◆ mCommandPool

vk::CommandPool o2::gpu::GPUDisplayBackendVulkan::mCommandPool
protected

Definition at line 162 of file GPUDisplayBackendVulkan.h.

◆ mCubicFilterSupported

bool o2::gpu::GPUDisplayBackendVulkan::mCubicFilterSupported = false
protected

Definition at line 210 of file GPUDisplayBackendVulkan.h.

◆ mCurrentBufferSet

int32_t o2::gpu::GPUDisplayBackendVulkan::mCurrentBufferSet = 0
protected

Definition at line 170 of file GPUDisplayBackendVulkan.h.

◆ mCurrentCommandBuffer

vk::CommandBuffer o2::gpu::GPUDisplayBackendVulkan::mCurrentCommandBuffer
protected

Definition at line 171 of file GPUDisplayBackendVulkan.h.

◆ mCurrentCommandBufferLastPipeline

int32_t o2::gpu::GPUDisplayBackendVulkan::mCurrentCommandBufferLastPipeline = -1
protected

Definition at line 172 of file GPUDisplayBackendVulkan.h.

◆ mCurrentFrame

int32_t o2::gpu::GPUDisplayBackendVulkan::mCurrentFrame = 0
protected

Definition at line 168 of file GPUDisplayBackendVulkan.h.

◆ mCurrentImageIndex

uint32_t o2::gpu::GPUDisplayBackendVulkan::mCurrentImageIndex = 0
protected

Definition at line 169 of file GPUDisplayBackendVulkan.h.

◆ mDebugMessenger

vk::DebugUtilsMessengerEXT o2::gpu::GPUDisplayBackendVulkan::mDebugMessenger
protected

Definition at line 136 of file GPUDisplayBackendVulkan.h.

◆ mDescriptorPool

vk::DescriptorPool o2::gpu::GPUDisplayBackendVulkan::mDescriptorPool
protected

Definition at line 191 of file GPUDisplayBackendVulkan.h.

◆ mDescriptorSets

std::vector<vk::DescriptorSet> o2::gpu::GPUDisplayBackendVulkan::mDescriptorSets[3]
protected

Definition at line 188 of file GPUDisplayBackendVulkan.h.

◆ mDevice

vk::Device o2::gpu::GPUDisplayBackendVulkan::mDevice
protected

Definition at line 138 of file GPUDisplayBackendVulkan.h.

◆ mDownsampleFinishedSemaphore

std::vector<vk::Semaphore> o2::gpu::GPUDisplayBackendVulkan::mDownsampleFinishedSemaphore
protected

Definition at line 184 of file GPUDisplayBackendVulkan.h.

◆ mDownsampleFSAA

bool o2::gpu::GPUDisplayBackendVulkan::mDownsampleFSAA = false
protected

Definition at line 211 of file GPUDisplayBackendVulkan.h.

◆ mDownsampleImages

std::vector<VulkanImage> o2::gpu::GPUDisplayBackendVulkan::mDownsampleImages
protected

Definition at line 149 of file GPUDisplayBackendVulkan.h.

◆ mEnableValidationLayers

bool o2::gpu::GPUDisplayBackendVulkan::mEnableValidationLayers = false
protected

Definition at line 133 of file GPUDisplayBackendVulkan.h.

◆ mFontImage

VulkanImage o2::gpu::GPUDisplayBackendVulkan::mFontImage
protected

Definition at line 197 of file GPUDisplayBackendVulkan.h.

◆ mFontSymbols

std::vector<FontSymbolVulkan> o2::gpu::GPUDisplayBackendVulkan::mFontSymbols
protected

Definition at line 196 of file GPUDisplayBackendVulkan.h.

◆ mFontVertexBuffer

std::vector<VulkanBuffer> o2::gpu::GPUDisplayBackendVulkan::mFontVertexBuffer
protected

Definition at line 198 of file GPUDisplayBackendVulkan.h.

◆ mFontVertexBufferHost

vecpod<float> o2::gpu::GPUDisplayBackendVulkan::mFontVertexBufferHost
protected

Definition at line 201 of file GPUDisplayBackendVulkan.h.

◆ mFramebuffers

std::vector<vk::Framebuffer> o2::gpu::GPUDisplayBackendVulkan::mFramebuffers
protected

Definition at line 159 of file GPUDisplayBackendVulkan.h.

◆ mFramebuffersText

std::vector<vk::Framebuffer> o2::gpu::GPUDisplayBackendVulkan::mFramebuffersText
protected

Definition at line 160 of file GPUDisplayBackendVulkan.h.

◆ mFramebuffersTexture

std::vector<vk::Framebuffer> o2::gpu::GPUDisplayBackendVulkan::mFramebuffersTexture
protected

Definition at line 161 of file GPUDisplayBackendVulkan.h.

◆ mFramesInFlight

uint32_t o2::gpu::GPUDisplayBackendVulkan::mFramesInFlight = 0
protected

Definition at line 167 of file GPUDisplayBackendVulkan.h.

◆ mGraphicsFamily

uint32_t o2::gpu::GPUDisplayBackendVulkan::mGraphicsFamily
protected

Definition at line 131 of file GPUDisplayBackendVulkan.h.

◆ mGraphicsQueue

vk::Queue o2::gpu::GPUDisplayBackendVulkan::mGraphicsQueue
protected

Definition at line 139 of file GPUDisplayBackendVulkan.h.

◆ mHasDrawnText

bool o2::gpu::GPUDisplayBackendVulkan::mHasDrawnText = false
protected

Definition at line 202 of file GPUDisplayBackendVulkan.h.

◆ mImageAvailableSemaphore

std::vector<vk::Semaphore> o2::gpu::GPUDisplayBackendVulkan::mImageAvailableSemaphore
protected

Definition at line 180 of file GPUDisplayBackendVulkan.h.

◆ mImageCount

uint32_t o2::gpu::GPUDisplayBackendVulkan::mImageCount = 0
protected

Definition at line 166 of file GPUDisplayBackendVulkan.h.

◆ mIndirectCommandBuffer

VulkanBuffer o2::gpu::GPUDisplayBackendVulkan::mIndirectCommandBuffer
protected

Definition at line 194 of file GPUDisplayBackendVulkan.h.

◆ mInFlightFence

std::vector<vk::Fence> o2::gpu::GPUDisplayBackendVulkan::mInFlightFence
protected

Definition at line 185 of file GPUDisplayBackendVulkan.h.

◆ mInstance

vk::Instance o2::gpu::GPUDisplayBackendVulkan::mInstance
protected

Definition at line 135 of file GPUDisplayBackendVulkan.h.

◆ mMaxMSAAsupported

uint32_t o2::gpu::GPUDisplayBackendVulkan::mMaxMSAAsupported = 0
protected

Definition at line 206 of file GPUDisplayBackendVulkan.h.

◆ mMixFinishedSemaphore

std::vector<vk::Semaphore> o2::gpu::GPUDisplayBackendVulkan::mMixFinishedSemaphore
protected

Definition at line 183 of file GPUDisplayBackendVulkan.h.

◆ mMixImages

std::vector<VulkanImage> o2::gpu::GPUDisplayBackendVulkan::mMixImages
protected

Definition at line 151 of file GPUDisplayBackendVulkan.h.

◆ mMixingSupported

bool o2::gpu::GPUDisplayBackendVulkan::mMixingSupported = 0
protected

Definition at line 212 of file GPUDisplayBackendVulkan.h.

◆ mMixingTextureVertexArray

VulkanBuffer o2::gpu::GPUDisplayBackendVulkan::mMixingTextureVertexArray
protected

Definition at line 214 of file GPUDisplayBackendVulkan.h.

◆ mMSAAImages

std::vector<VulkanImage> o2::gpu::GPUDisplayBackendVulkan::mMSAAImages
protected

Definition at line 148 of file GPUDisplayBackendVulkan.h.

◆ mMSAASampleCount

vk::SampleCountFlagBits o2::gpu::GPUDisplayBackendVulkan::mMSAASampleCount = vk::SampleCountFlagBits::e16
protected

Definition at line 205 of file GPUDisplayBackendVulkan.h.

◆ mMustUpdateSwapChain

bool o2::gpu::GPUDisplayBackendVulkan::mMustUpdateSwapChain = false
protected

Definition at line 144 of file GPUDisplayBackendVulkan.h.

◆ mPhysicalDevice

vk::PhysicalDevice o2::gpu::GPUDisplayBackendVulkan::mPhysicalDevice
protected

Definition at line 137 of file GPUDisplayBackendVulkan.h.

◆ mPipelineLayout

vk::PipelineLayout o2::gpu::GPUDisplayBackendVulkan::mPipelineLayout
protected

Definition at line 153 of file GPUDisplayBackendVulkan.h.

◆ mPipelineLayoutTexture

vk::PipelineLayout o2::gpu::GPUDisplayBackendVulkan::mPipelineLayoutTexture
protected

Definition at line 154 of file GPUDisplayBackendVulkan.h.

◆ mPipelines

std::vector<vk::Pipeline> o2::gpu::GPUDisplayBackendVulkan::mPipelines
protected

Definition at line 158 of file GPUDisplayBackendVulkan.h.

◆ mPresentMode

vk::PresentModeKHR o2::gpu::GPUDisplayBackendVulkan::mPresentMode
protected

Definition at line 142 of file GPUDisplayBackendVulkan.h.

◆ mRenderFinishedSemaphore

std::vector<vk::Semaphore> o2::gpu::GPUDisplayBackendVulkan::mRenderFinishedSemaphore
protected

Definition at line 181 of file GPUDisplayBackendVulkan.h.

◆ mRenderPass

vk::RenderPass o2::gpu::GPUDisplayBackendVulkan::mRenderPass
protected

Definition at line 155 of file GPUDisplayBackendVulkan.h.

◆ mRenderPassText

vk::RenderPass o2::gpu::GPUDisplayBackendVulkan::mRenderPassText
protected

Definition at line 156 of file GPUDisplayBackendVulkan.h.

◆ mRenderPassTexture

vk::RenderPass o2::gpu::GPUDisplayBackendVulkan::mRenderPassTexture
protected

Definition at line 157 of file GPUDisplayBackendVulkan.h.

◆ mRenderTargetView

std::vector<vk::ImageView*> o2::gpu::GPUDisplayBackendVulkan::mRenderTargetView
protected

Definition at line 147 of file GPUDisplayBackendVulkan.h.

◆ mShaders

std::unordered_map<std::string, vk::ShaderModule> o2::gpu::GPUDisplayBackendVulkan::mShaders
protected

Definition at line 152 of file GPUDisplayBackendVulkan.h.

◆ mSingleCommitFence

vk::Fence o2::gpu::GPUDisplayBackendVulkan::mSingleCommitFence
protected

Definition at line 216 of file GPUDisplayBackendVulkan.h.

◆ mStencilSupported

bool o2::gpu::GPUDisplayBackendVulkan::mStencilSupported = false
protected

Definition at line 209 of file GPUDisplayBackendVulkan.h.

◆ mSurface

vk::SurfaceKHR o2::gpu::GPUDisplayBackendVulkan::mSurface
protected

Definition at line 140 of file GPUDisplayBackendVulkan.h.

◆ mSurfaceFormat

vk::SurfaceFormatKHR o2::gpu::GPUDisplayBackendVulkan::mSurfaceFormat
protected

Definition at line 141 of file GPUDisplayBackendVulkan.h.

◆ mSwapChain

vk::SwapchainKHR o2::gpu::GPUDisplayBackendVulkan::mSwapChain
protected

Definition at line 143 of file GPUDisplayBackendVulkan.h.

◆ mSwapChainDetails

SwapChainSupportDetails o2::gpu::GPUDisplayBackendVulkan::mSwapChainDetails
protected

Definition at line 132 of file GPUDisplayBackendVulkan.h.

◆ mSwapchainImageReadable

bool o2::gpu::GPUDisplayBackendVulkan::mSwapchainImageReadable = false
protected

Definition at line 204 of file GPUDisplayBackendVulkan.h.

◆ mSwapChainImages

std::vector<vk::Image> o2::gpu::GPUDisplayBackendVulkan::mSwapChainImages
protected

Definition at line 145 of file GPUDisplayBackendVulkan.h.

◆ mSwapChainImageViews

std::vector<vk::ImageView> o2::gpu::GPUDisplayBackendVulkan::mSwapChainImageViews
protected

Definition at line 146 of file GPUDisplayBackendVulkan.h.

◆ mTextDrawCommands

std::vector<TextDrawCommand> o2::gpu::GPUDisplayBackendVulkan::mTextDrawCommands
protected

Definition at line 199 of file GPUDisplayBackendVulkan.h.

◆ mTextFinishedSemaphore

std::vector<vk::Semaphore> o2::gpu::GPUDisplayBackendVulkan::mTextFinishedSemaphore
protected

Definition at line 182 of file GPUDisplayBackendVulkan.h.

◆ mTextureSampler

vk::Sampler o2::gpu::GPUDisplayBackendVulkan::mTextureSampler
protected

Definition at line 200 of file GPUDisplayBackendVulkan.h.

◆ mUniformBuffersCol

std::vector<VulkanBuffer> o2::gpu::GPUDisplayBackendVulkan::mUniformBuffersCol[3]
protected

Definition at line 187 of file GPUDisplayBackendVulkan.h.

◆ mUniformBuffersMat

std::vector<VulkanBuffer> o2::gpu::GPUDisplayBackendVulkan::mUniformBuffersMat[3]
protected

Definition at line 186 of file GPUDisplayBackendVulkan.h.

◆ mUniformDescriptor

vk::DescriptorSetLayout o2::gpu::GPUDisplayBackendVulkan::mUniformDescriptor
protected

Definition at line 189 of file GPUDisplayBackendVulkan.h.

◆ mUniformDescriptorTexture

vk::DescriptorSetLayout o2::gpu::GPUDisplayBackendVulkan::mUniformDescriptorTexture
protected

Definition at line 190 of file GPUDisplayBackendVulkan.h.

◆ mVBO

VulkanBuffer o2::gpu::GPUDisplayBackendVulkan::mVBO
protected

Definition at line 193 of file GPUDisplayBackendVulkan.h.

◆ mZActive

bool o2::gpu::GPUDisplayBackendVulkan::mZActive = false
protected

Definition at line 207 of file GPUDisplayBackendVulkan.h.

◆ mZImages

std::vector<VulkanImage> o2::gpu::GPUDisplayBackendVulkan::mZImages
protected

Definition at line 150 of file GPUDisplayBackendVulkan.h.

◆ mZSupported

bool o2::gpu::GPUDisplayBackendVulkan::mZSupported = false
protected

Definition at line 208 of file GPUDisplayBackendVulkan.h.


The documentation for this class was generated from the following files: