Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::render::GpuDeviceCapabilities Struct Reference

Rendering capabilities of the shared device. More...

#include <gpu_capabilities.hpp>

Public Member Functions

GpuFormatSupport support (GpuFormat format) const
 Support for one format; an all-false record for an unknown format.
std::vector< GpuFormat > renderable_color_formats () const
 Formats usable as color attachments (depth formats excluded).
std::vector< GpuFormat > storage_formats () const
 Formats usable as write-only storage textures.
std::vector< std::uint32_t > sample_counts (GpuFormat format) const
 Sample counts a render target of format may use: {1} or {1, 4}.

Public Attributes

GpuDeviceFacts facts
std::uint32_t max_texture_dimension_1d = 0
std::uint32_t max_texture_dimension_3d = 0
std::uint32_t max_texture_array_layers = 0
std::uint32_t max_bind_groups = 0
std::uint32_t max_bindings_per_bind_group = 0
std::uint32_t max_sampled_textures_per_shader_stage = 0
std::uint32_t max_samplers_per_shader_stage = 0
std::uint32_t max_uniform_buffers_per_shader_stage = 0
std::uint32_t max_storage_buffers_per_shader_stage = 0
std::uint64_t max_uniform_buffer_binding_size = 0
std::uint64_t max_storage_buffer_binding_size = 0
std::uint32_t max_vertex_buffers = 0
std::uint32_t max_vertex_attributes = 0
std::uint32_t max_color_attachment_bytes_per_sample = 0
std::uint32_t max_compute_workgroup_size_x = 0
std::uint32_t max_compute_workgroup_size_y = 0
std::uint32_t max_compute_workgroup_size_z = 0
std::uint32_t max_compute_workgroups_per_dimension = 0
std::uint32_t min_uniform_buffer_offset_alignment = 0
std::uint32_t min_storage_buffer_offset_alignment = 0
std::vector< GpuFormatSupport > formats
 One entry per all_gpu_formats() entry, same order.

Detailed Description

Rendering capabilities of the shared device.

Member Function Documentation

◆ renderable_color_formats()

std::vector< GpuFormat > pulp::render::GpuDeviceCapabilities::renderable_color_formats ( ) const

Formats usable as color attachments (depth formats excluded).

◆ sample_counts()

std::vector< std::uint32_t > pulp::render::GpuDeviceCapabilities::sample_counts ( GpuFormat format) const

Sample counts a render target of format may use: {1} or {1, 4}.

◆ storage_formats()

std::vector< GpuFormat > pulp::render::GpuDeviceCapabilities::storage_formats ( ) const

Formats usable as write-only storage textures.

◆ support()

GpuFormatSupport pulp::render::GpuDeviceCapabilities::support ( GpuFormat format) const

Support for one format; an all-false record for an unknown format.

Member Data Documentation

◆ facts

GpuDeviceFacts pulp::render::GpuDeviceCapabilities::facts

◆ formats

std::vector<GpuFormatSupport> pulp::render::GpuDeviceCapabilities::formats

One entry per all_gpu_formats() entry, same order.

◆ max_bind_groups

std::uint32_t pulp::render::GpuDeviceCapabilities::max_bind_groups = 0

◆ max_bindings_per_bind_group

std::uint32_t pulp::render::GpuDeviceCapabilities::max_bindings_per_bind_group = 0

◆ max_color_attachment_bytes_per_sample

std::uint32_t pulp::render::GpuDeviceCapabilities::max_color_attachment_bytes_per_sample = 0

◆ max_compute_workgroup_size_x

std::uint32_t pulp::render::GpuDeviceCapabilities::max_compute_workgroup_size_x = 0

◆ max_compute_workgroup_size_y

std::uint32_t pulp::render::GpuDeviceCapabilities::max_compute_workgroup_size_y = 0

◆ max_compute_workgroup_size_z

std::uint32_t pulp::render::GpuDeviceCapabilities::max_compute_workgroup_size_z = 0

◆ max_compute_workgroups_per_dimension

std::uint32_t pulp::render::GpuDeviceCapabilities::max_compute_workgroups_per_dimension = 0

◆ max_sampled_textures_per_shader_stage

std::uint32_t pulp::render::GpuDeviceCapabilities::max_sampled_textures_per_shader_stage = 0

◆ max_samplers_per_shader_stage

std::uint32_t pulp::render::GpuDeviceCapabilities::max_samplers_per_shader_stage = 0

◆ max_storage_buffer_binding_size

std::uint64_t pulp::render::GpuDeviceCapabilities::max_storage_buffer_binding_size = 0

◆ max_storage_buffers_per_shader_stage

std::uint32_t pulp::render::GpuDeviceCapabilities::max_storage_buffers_per_shader_stage = 0

◆ max_texture_array_layers

std::uint32_t pulp::render::GpuDeviceCapabilities::max_texture_array_layers = 0

◆ max_texture_dimension_1d

std::uint32_t pulp::render::GpuDeviceCapabilities::max_texture_dimension_1d = 0

◆ max_texture_dimension_3d

std::uint32_t pulp::render::GpuDeviceCapabilities::max_texture_dimension_3d = 0

◆ max_uniform_buffer_binding_size

std::uint64_t pulp::render::GpuDeviceCapabilities::max_uniform_buffer_binding_size = 0

◆ max_uniform_buffers_per_shader_stage

std::uint32_t pulp::render::GpuDeviceCapabilities::max_uniform_buffers_per_shader_stage = 0

◆ max_vertex_attributes

std::uint32_t pulp::render::GpuDeviceCapabilities::max_vertex_attributes = 0

◆ max_vertex_buffers

std::uint32_t pulp::render::GpuDeviceCapabilities::max_vertex_buffers = 0

◆ min_storage_buffer_offset_alignment

std::uint32_t pulp::render::GpuDeviceCapabilities::min_storage_buffer_offset_alignment = 0

◆ min_uniform_buffer_offset_alignment

std::uint32_t pulp::render::GpuDeviceCapabilities::min_uniform_buffer_offset_alignment = 0

The documentation for this struct was generated from the following file: