Blender V4.3
blender::gpu::GPUCapabilities Struct Reference

#include <gpu_capabilities_private.hh>

Public Attributes

int max_texture_size = 0
 
int max_texture_3d_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_storage_buffer_size = 0
 
int extensions_len = 0
 
const char *(* extension_get )(int)
 
bool mem_stats_support = false
 
bool geometry_shader_support = false
 
bool shader_draw_parameters_support = false
 
bool transform_feedback_support = false
 
bool hdr_viewport_support = false
 
bool texture_view_support = true
 
bool stencil_export_support = false
 
int max_parallel_compilations = -1
 
bool mip_render_workaround = false
 
bool depth_blitting_workaround = false
 
bool use_main_context_workaround = false
 
bool broken_amd_driver = false
 
bool use_hq_normals_workaround = false
 
bool clear_viewport_workaround = false
 
bool stencil_clasify_buffer_workaround = 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

◆ broken_amd_driver

bool blender::gpu::GPUCapabilities::broken_amd_driver = false

◆ clear_viewport_workaround

bool blender::gpu::GPUCapabilities::clear_viewport_workaround = false

Definition at line 62 of file gpu_capabilities_private.hh.

Referenced by GPU_clear_viewport_workaround().

◆ depth_blitting_workaround

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

◆ extension_get

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

Definition at line 44 of file gpu_capabilities_private.hh.

Referenced by GPU_extension_get().

◆ extensions_len

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

Definition at line 43 of file gpu_capabilities_private.hh.

Referenced by GPU_extensions_len().

◆ geometry_shader_support

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

◆ hdr_viewport_support

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

◆ max_batch_indices

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

◆ max_batch_vertices

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

◆ max_compute_shader_storage_blocks

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

◆ max_images

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

◆ max_parallel_compilations

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

◆ max_samplers

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

◆ max_shader_storage_buffer_bindings

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

◆ max_storage_buffer_size

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

◆ max_texture_3d_size

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

◆ max_texture_layers

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

◆ max_texture_size

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

◆ max_textures

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

◆ max_textures_frag

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

◆ max_textures_geom

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

◆ max_textures_vert

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

◆ max_uniforms_frag

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

◆ max_uniforms_vert

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

◆ max_varying_floats

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

◆ max_vertex_attribs

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

◆ max_work_group_count

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

◆ max_work_group_size

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

◆ mem_stats_support

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

◆ minimum_per_vertex_stride

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

◆ mip_render_workaround

bool blender::gpu::GPUCapabilities::mip_render_workaround = false

◆ shader_draw_parameters_support

bool blender::gpu::GPUCapabilities::shader_draw_parameters_support = false

◆ stencil_clasify_buffer_workaround

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

◆ stencil_export_support

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

◆ texture_view_support

bool blender::gpu::GPUCapabilities::texture_view_support = true

◆ transform_feedback_support

bool blender::gpu::GPUCapabilities::transform_feedback_support = false

Definition at line 49 of file gpu_capabilities_private.hh.

Referenced by GPU_transform_feedback_support().

◆ use_hq_normals_workaround

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

◆ use_main_context_workaround

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

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