Blender  V3.3
Public Attributes | List of all members
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_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
 
int extensions_len = 0
 
const char *(* extension_get )(int)
 
bool mem_stats_support = false
 
bool compute_shader_support = false
 
bool shader_storage_buffer_objects_support = false
 
bool shader_image_load_store_support = false
 
bool transform_feedback_support = false
 
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
 
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 21 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

◆ compute_shader_support

bool blender::gpu::GPUCapabilities::compute_shader_support = false

◆ depth_blitting_workaround

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

◆ extension_get

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

Definition at line 41 of file gpu_capabilities_private.hh.

Referenced by GPU_extension_get().

◆ extensions_len

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

Definition at line 40 of file gpu_capabilities_private.hh.

Referenced by GPU_extensions_len().

◆ max_batch_indices

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

Definition at line 34 of file gpu_capabilities_private.hh.

Referenced by GPU_max_batch_indices().

◆ max_batch_vertices

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

Definition at line 35 of file gpu_capabilities_private.hh.

Referenced by GPU_max_batch_vertices().

◆ max_compute_shader_storage_blocks

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

Definition at line 39 of file gpu_capabilities_private.hh.

Referenced by GPU_max_compute_shader_storage_blocks().

◆ max_samplers

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

Definition at line 29 of file gpu_capabilities_private.hh.

◆ max_shader_storage_buffer_bindings

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

Definition at line 38 of file gpu_capabilities_private.hh.

Referenced by GPU_max_shader_storage_buffer_bindings().

◆ max_texture_3d_size

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

Definition at line 23 of file gpu_capabilities_private.hh.

◆ max_texture_layers

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

Definition at line 24 of file gpu_capabilities_private.hh.

Referenced by GPU_max_texture_layers().

◆ max_texture_size

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

Definition at line 22 of file gpu_capabilities_private.hh.

Referenced by GPU_max_texture_size().

◆ max_textures

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

Definition at line 25 of file gpu_capabilities_private.hh.

Referenced by GPU_max_textures().

◆ max_textures_frag

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

Definition at line 28 of file gpu_capabilities_private.hh.

Referenced by GPU_max_textures_frag().

◆ max_textures_geom

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

Definition at line 27 of file gpu_capabilities_private.hh.

Referenced by GPU_max_textures_geom().

◆ max_textures_vert

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

Definition at line 26 of file gpu_capabilities_private.hh.

Referenced by GPU_max_textures_vert().

◆ max_uniforms_frag

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

Definition at line 33 of file gpu_capabilities_private.hh.

Referenced by GPU_max_uniforms_frag().

◆ max_uniforms_vert

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

Definition at line 32 of file gpu_capabilities_private.hh.

Referenced by GPU_max_uniforms_vert().

◆ max_varying_floats

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

Definition at line 37 of file gpu_capabilities_private.hh.

Referenced by GPU_max_varying_floats().

◆ max_vertex_attribs

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

Definition at line 36 of file gpu_capabilities_private.hh.

Referenced by GPU_max_vertex_attribs().

◆ max_work_group_count

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

Definition at line 30 of file gpu_capabilities_private.hh.

Referenced by GPU_max_work_group_count().

◆ max_work_group_size

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

Definition at line 31 of file gpu_capabilities_private.hh.

Referenced by GPU_max_work_group_size().

◆ mem_stats_support

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

Definition at line 43 of file gpu_capabilities_private.hh.

Referenced by GPU_mem_stats_supported().

◆ minimum_per_vertex_stride

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

Definition at line 60 of file gpu_capabilities_private.hh.

Referenced by blender::gpu::detect_workarounds().

◆ mip_render_workaround

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

◆ shader_image_load_store_support

bool blender::gpu::GPUCapabilities::shader_image_load_store_support = false

◆ shader_storage_buffer_objects_support

bool blender::gpu::GPUCapabilities::shader_storage_buffer_objects_support = false

◆ transform_feedback_support

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

Definition at line 47 of file gpu_capabilities_private.hh.

◆ 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: