|
| 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 () |
| |