|
float | computeTime () const |
| Returns total compute time in milliseconds.
|
|
float | memoryTime () const |
| Returns total memory transfer time in milliseconds.
|
|
float | totalTime (bool includeDraw=false) const |
| Returns total time including compute and optionally draw time in milliseconds.
|
|
std::string | toString () const |
| Returns a string representation of the benchmark report.
|
|
void | print () const |
| Prints the benchmark report to the console.
|
|
void | store (std::string path) const |
| Saves the benchmark report to the specified file path.
|
|
| Gpu ()=default |
|
virtual void | run ()=0 |
|
virtual void | computeSettings (std::vector< WorkGroupCount > shaderWorkGroupCounts, bool runBenchmark)=0 |
|
virtual void | resize ()=0 |
|
virtual void | updateUniformBuffer (std::vector< std::uint32_t > buffer)=0 |
|
virtual void | updateUniform (std::string name, float value)=0 |
|
virtual void | setUniformLimits (std::string name, float minValue, float maxValue)=0 |
|
virtual void | printUniforms () const =0 |
|
virtual void | addToUniform (std::string name, float value)=0 |
|
virtual std::shared_ptr< Loader::Image > | resultTexture ()=0 |
|
virtual std::vector< float > | resultBuffer (std::size_t size=0)=0 |
|
virtual | ~Gpu ()=default |
|
const std::vector< BenchmarkReport > | benchmarkReports () const |
| Returns the benchmark reports collected during execution.
|
|
size_t | uniformBufferSize () const |
|
size_t | uniformBufferUint32Count () const |
|
std::vector< std::string > | uniformNames () const |
|
| Vulkan (VulkanInitParams params) |
|
void | run () override |
|
void | computeSettings (std::vector< WorkGroupCount > shaderWorkGroupCounts, bool runBenchmark) override |
|
void | resize () override |
|
void | updateUniformBuffer (std::vector< uint32_t > buffer) override |
|
void | updateUniform (std::string name, float value) override |
|
void | setUniformLimits (std::string name, float minValue, float maxValue) override |
|
void | addToUniform (std::string name, float value) override |
|
void | printUniforms () const override |
|
std::shared_ptr< Loader::Image > | resultTexture () override |
|
std::vector< float > | resultBuffer (size_t size=0) override |
|
| ~Vulkan () |
|
| ~Buffer () |
|
| ~Texture () |
|
void | nextInFlight () |
|
InFlight & | currentInFlight () |
|
InFlight & | lastComputedInFlight () |
|
| CreateInfo (Vulkan &vulkan, VulkanInitParams params) |
|
void | updateResolution () |
|
Resolution | currentResolution () const |
|
vk::ApplicationInfo & | application () |
|
vk::InstanceCreateInfo & | instance () |
|
vk::raii::PhysicalDevice | bestPhysicalDevice () |
|
vk::DeviceCreateInfo & | device () |
|
std::vector< vk::DeviceQueueCreateInfo > & | queues () |
|
std::size_t | graphicsQueueID () const |
|
std::size_t | computeQueueID () const |
|
std::size_t | presentQueueID () const |
|
vk::SwapchainCreateInfoKHR & | swapChain () |
|
vk::ShaderModuleCreateInfo & | shaderModule (std::vector< std::uint32_t > &code) |
|
vk::PipelineShaderStageCreateInfo & | pipelineShaderStage (vk::raii::ShaderModule &shaderModule, vk::ShaderStageFlagBits stage) |
|
vk::PipelineDynamicStateCreateInfo & | pipelineDynamic () |
|
vk::PipelineVertexInputStateCreateInfo & | vertexInput () |
|
vk::PipelineInputAssemblyStateCreateInfo & | inputAssembly () |
|
vk::PipelineViewportStateCreateInfo & | viewport () |
|
vk::PipelineRasterizationStateCreateInfo & | rasterization () |
|
vk::PipelineMultisampleStateCreateInfo & | multisample () |
|
vk::PipelineColorBlendAttachmentState & | colorBlendAttachment () |
|
vk::PipelineColorBlendStateCreateInfo & | colorBlend () |
|
vk::PipelineLayoutCreateInfo & | pipelineLayout () |
|
vk::RenderPassCreateInfo & | renderPass () |
|
vk::GraphicsPipelineCreateInfo & | graphicsPipeline () |
|
vk::ComputePipelineCreateInfo & | computePipeline (vk::raii::ShaderModule &shaderModule, vk::raii::PipelineLayout &pipelineLayout) |
|
vk::FramebufferCreateInfo & | frameBuffer (vk::raii::ImageView &color, vk::raii::ImageView &depth) |
|
vk::CommandPoolCreateInfo & | commandPool (std::size_t queueFamilyID) |
|
vk::CommandBufferAllocateInfo & | commandBuffer (vk::raii::CommandPool &commandPool, std::uint32_t count) |
|
vk::RenderPassBeginInfo & | renderPassBegin (vk::raii::Framebuffer &frameBuffer) |
|
vk::SemaphoreCreateInfo & | semaphore () |
|
vk::FenceCreateInfo & | fence () |
|
vk::ImageViewCreateInfo & | imageView (vk::Format imageFormat, vk::Image image, bool depth=false) |
|
vk::ImageCreateInfo & | image (vk::Format imageFormat, Resolution resolution, ImageType imageType) |
|
vk::DescriptorSetLayoutCreateInfo & | descriptorSetLayout (size_t inputTextureCount, size_t outputTextureCount) |
|
vk::DescriptorPoolCreateInfo & | descriptorPool (size_t inputTextureCount, size_t outputTextureCount, size_t inFlightFramesCount) |
|
vk::DescriptorSetAllocateInfo & | descriptorSet (vk::raii::DescriptorPool &descriptorPool, std::size_t count) |
|
vk::SamplerCreateInfo & | sampler () |
|
void | createFrameBuffer (Vulkan::SwapChain::Frame &frame, vk::Image image) |
|
void | createFrameSync (SwapChain::InFlight &frame) |
|
const std::vector< std::shared_ptr< Loader::Image > > & | outputImages () const |
|
const std::vector< std::shared_ptr< Loader::Image > > & | inputImages () const |
|
std::size_t | shaderStorageBufferSize () const |
|
const std::vector< float > & | shaderStorageBufferData () const |
|
VkSurfaceKHR | surface () |
|
bool | windowEnabled () const |
|
std::size_t | vertexCount () const |
|
std::size_t | computeShaderCount () const |
|
| Memory (vk::raii::Instance &instance, vk::raii::PhysicalDevice &physicalDevice, vk::raii::Device &device, Vulkan &vulkan) |
|
std::unique_ptr< Buffer > | buffer (vk::BufferUsageFlags usage, size_t size) |
|
std::unique_ptr< Texture > | texture (std::shared_ptr< Loader::Image > image, bool storage=false) |
|
std::unique_ptr< Texture > | depth (Resolution resolution) |
|
| ~Memory () |
|
| Graphics ()=default |
|
| Compute ()=default |
|
| Compute (std::vector< vk::raii::ShaderModule > &shaders, vk::raii::Device &device, CreateInfo &createInfo) |
|
vk::raii::CommandBuffer & | command () |
|
| ~OneTimeCommand () |
|