Blender V5.0
blender::gpu::GPUCapabilities Struct Reference

#include <gpu_capabilities_private.hh>

Public Attributes

int max_texture_size = 0
int max_texture_3d_size = 0
uint32_t max_buffer_texture_size = 0
int max_texture_layers = 0
int max_textures = 0
int max_textures_vert = 0
int max_textures_geom = 0
int max_textures_frag = 0
int max_samplers = 0
int max_images = 0
int max_work_group_count [3] = {0, 0, 0}
int max_work_group_size [3] = {0, 0, 0}
int max_uniforms_vert = 0
int max_uniforms_frag = 0
int max_batch_indices = 0
int max_batch_vertices = 0
int max_vertex_attribs = 0
int max_varying_floats = 0
int max_shader_storage_buffer_bindings = 0
int max_compute_shader_storage_blocks = 0
size_t max_uniform_buffer_size = 0
size_t max_storage_buffer_size = 0
size_t storage_buffer_alignment = 256
int extensions_len = 0
const char *(* extension_get )(int)
bool mem_stats_support = false
bool geometry_shader_support = false
bool hdr_viewport_support = false
bool stencil_export_support = false
int max_parallel_compilations = -1
bool depth_blitting_workaround = false
bool use_main_context_workaround = false
bool use_hq_normals_workaround = false
bool stencil_clasify_buffer_workaround = false
bool use_subprocess_shader_compilations = false
int minimum_per_vertex_stride = 1

Detailed Description

This includes both hardware capabilities & workarounds. Try to limit these to the implementation code-base (i.e.: gpu/opengl/). Only add workarounds here if they are common to all implementation or if you need access to it outside of the GPU module. Same goes for capabilities (i.e.: texture size).

Definition at line 22 of file gpu_capabilities_private.hh.

Member Data Documentation

◆ depth_blitting_workaround

bool blender::gpu::GPUCapabilities::depth_blitting_workaround = false

Definition at line 57 of file gpu_capabilities_private.hh.

◆ extension_get

const char *(* blender::gpu::GPUCapabilities::extension_get) (int)

Definition at line 47 of file gpu_capabilities_private.hh.

◆ extensions_len

int blender::gpu::GPUCapabilities::extensions_len = 0

Definition at line 46 of file gpu_capabilities_private.hh.

◆ geometry_shader_support

bool blender::gpu::GPUCapabilities::geometry_shader_support = false

Definition at line 50 of file gpu_capabilities_private.hh.

◆ hdr_viewport_support

bool blender::gpu::GPUCapabilities::hdr_viewport_support = false

Definition at line 51 of file gpu_capabilities_private.hh.

◆ max_batch_indices

int blender::gpu::GPUCapabilities::max_batch_indices = 0

Definition at line 37 of file gpu_capabilities_private.hh.

◆ max_batch_vertices

int blender::gpu::GPUCapabilities::max_batch_vertices = 0

Definition at line 38 of file gpu_capabilities_private.hh.

◆ max_buffer_texture_size

uint32_t blender::gpu::GPUCapabilities::max_buffer_texture_size = 0

Definition at line 25 of file gpu_capabilities_private.hh.

◆ max_compute_shader_storage_blocks

int blender::gpu::GPUCapabilities::max_compute_shader_storage_blocks = 0

Definition at line 42 of file gpu_capabilities_private.hh.

◆ max_images

int blender::gpu::GPUCapabilities::max_images = 0

Definition at line 32 of file gpu_capabilities_private.hh.

◆ max_parallel_compilations

int blender::gpu::GPUCapabilities::max_parallel_compilations = -1

Definition at line 54 of file gpu_capabilities_private.hh.

◆ max_samplers

int blender::gpu::GPUCapabilities::max_samplers = 0

Definition at line 31 of file gpu_capabilities_private.hh.

◆ max_shader_storage_buffer_bindings

int blender::gpu::GPUCapabilities::max_shader_storage_buffer_bindings = 0

Definition at line 41 of file gpu_capabilities_private.hh.

◆ max_storage_buffer_size

size_t blender::gpu::GPUCapabilities::max_storage_buffer_size = 0

Definition at line 44 of file gpu_capabilities_private.hh.

◆ max_texture_3d_size

int blender::gpu::GPUCapabilities::max_texture_3d_size = 0

Definition at line 24 of file gpu_capabilities_private.hh.

◆ max_texture_layers

int blender::gpu::GPUCapabilities::max_texture_layers = 0

Definition at line 26 of file gpu_capabilities_private.hh.

◆ max_texture_size

int blender::gpu::GPUCapabilities::max_texture_size = 0

Definition at line 23 of file gpu_capabilities_private.hh.

◆ max_textures

int blender::gpu::GPUCapabilities::max_textures = 0

Definition at line 27 of file gpu_capabilities_private.hh.

◆ max_textures_frag

int blender::gpu::GPUCapabilities::max_textures_frag = 0

Definition at line 30 of file gpu_capabilities_private.hh.

◆ max_textures_geom

int blender::gpu::GPUCapabilities::max_textures_geom = 0

Definition at line 29 of file gpu_capabilities_private.hh.

◆ max_textures_vert

int blender::gpu::GPUCapabilities::max_textures_vert = 0

Definition at line 28 of file gpu_capabilities_private.hh.

◆ max_uniform_buffer_size

size_t blender::gpu::GPUCapabilities::max_uniform_buffer_size = 0

Definition at line 43 of file gpu_capabilities_private.hh.

◆ max_uniforms_frag

int blender::gpu::GPUCapabilities::max_uniforms_frag = 0

Definition at line 36 of file gpu_capabilities_private.hh.

◆ max_uniforms_vert

int blender::gpu::GPUCapabilities::max_uniforms_vert = 0

Definition at line 35 of file gpu_capabilities_private.hh.

◆ max_varying_floats

int blender::gpu::GPUCapabilities::max_varying_floats = 0

Definition at line 40 of file gpu_capabilities_private.hh.

◆ max_vertex_attribs

int blender::gpu::GPUCapabilities::max_vertex_attribs = 0

Definition at line 39 of file gpu_capabilities_private.hh.

◆ max_work_group_count

int blender::gpu::GPUCapabilities::max_work_group_count[3] = {0, 0, 0}

Definition at line 33 of file gpu_capabilities_private.hh.

◆ max_work_group_size

int blender::gpu::GPUCapabilities::max_work_group_size[3] = {0, 0, 0}

Definition at line 34 of file gpu_capabilities_private.hh.

◆ mem_stats_support

bool blender::gpu::GPUCapabilities::mem_stats_support = false

Definition at line 49 of file gpu_capabilities_private.hh.

◆ minimum_per_vertex_stride

int blender::gpu::GPUCapabilities::minimum_per_vertex_stride = 1

Definition at line 66 of file gpu_capabilities_private.hh.

◆ stencil_clasify_buffer_workaround

bool blender::gpu::GPUCapabilities::stencil_clasify_buffer_workaround = false

Definition at line 60 of file gpu_capabilities_private.hh.

◆ stencil_export_support

bool blender::gpu::GPUCapabilities::stencil_export_support = false

Definition at line 52 of file gpu_capabilities_private.hh.

◆ storage_buffer_alignment

size_t blender::gpu::GPUCapabilities::storage_buffer_alignment = 256

Definition at line 45 of file gpu_capabilities_private.hh.

◆ use_hq_normals_workaround

bool blender::gpu::GPUCapabilities::use_hq_normals_workaround = false

Definition at line 59 of file gpu_capabilities_private.hh.

◆ use_main_context_workaround

bool blender::gpu::GPUCapabilities::use_main_context_workaround = false

Definition at line 58 of file gpu_capabilities_private.hh.

◆ use_subprocess_shader_compilations

bool blender::gpu::GPUCapabilities::use_subprocess_shader_compilations = false

Definition at line 62 of file gpu_capabilities_private.hh.


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