Blender V4.5
gpu_capabilities.cc File Reference

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::gpu

Functions

Capabilities
int GPU_max_texture_size ()
int GPU_max_texture_3d_size ()
int GPU_texture_size_with_limit (int res)
int GPU_max_texture_layers ()
int GPU_max_textures_vert ()
int GPU_max_textures_geom ()
int GPU_max_textures_frag ()
int GPU_max_textures ()
int GPU_max_images ()
int GPU_max_work_group_count (int index)
int GPU_max_work_group_size (int index)
int GPU_max_uniforms_vert ()
int GPU_max_uniforms_frag ()
int GPU_max_batch_indices ()
int GPU_max_batch_vertices ()
int GPU_max_vertex_attribs ()
int GPU_max_varying_floats ()
int GPU_extensions_len ()
const char * GPU_extension_get (int i)
int GPU_max_samplers ()
bool GPU_use_subprocess_compilation ()
int GPU_max_parallel_compilations ()
bool GPU_mip_render_workaround ()
bool GPU_depth_blitting_workaround ()
bool GPU_use_main_context_workaround ()
bool GPU_crappy_amd_driver ()
bool GPU_use_hq_normals_workaround ()
bool GPU_stencil_clasify_buffer_workaround ()
bool GPU_node_link_instancing_workaround ()
bool GPU_vulkan_render_pass_workaround ()
bool GPU_geometry_shader_support ()
bool GPU_shader_draw_parameters_support ()
bool GPU_hdr_support ()
bool GPU_stencil_export_support ()
bool GPU_clip_control_support ()
int GPU_max_shader_storage_buffer_bindings ()
int GPU_max_compute_shader_storage_blocks ()
int GPU_minimum_per_vertex_stride ()
size_t GPU_max_storage_buffer_size ()
size_t GPU_storage_buffer_alignment ()
Memory statistics
bool GPU_mem_stats_supported ()
void GPU_mem_stats_get (int *r_totalmem, int *r_freemem)
bool GPU_stereo_quadbuffer_support ()
Creator arguments overrides
void GPU_compilation_subprocess_override_set (int count)

Variables

GPUCapabilities blender::gpu::GCaps

Detailed Description

Wrap OpenGL features such as textures, shaders and GLSL with checks for drivers and GPU support.

Definition in file gpu_capabilities.cc.

Function Documentation

◆ GPU_clip_control_support()

bool GPU_clip_control_support ( )

Definition at line 205 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by blender::eevee::Film::init().

◆ GPU_compilation_subprocess_override_set()

void GPU_compilation_subprocess_override_set ( int count)

WARNING: Should only be called at startup from creator_args. Never call it at runtime.

Definition at line 262 of file gpu_capabilities.cc.

References BLI_assert, count, and blender::gpu::GCaps.

◆ GPU_crappy_amd_driver()

bool GPU_crappy_amd_driver ( )

Definition at line 159 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by standard_defines().

◆ GPU_depth_blitting_workaround()

bool GPU_depth_blitting_workaround ( )

Definition at line 149 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by blender::gpu::GLTexture::init_internal().

◆ GPU_extension_get()

const char * GPU_extension_get ( int i)

Definition at line 124 of file gpu_capabilities.cc.

References blender::gpu::GCaps, and i.

Referenced by pygpu_extensions_get().

◆ GPU_extensions_len()

int GPU_extensions_len ( )

Definition at line 119 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by pygpu_extensions_get().

◆ GPU_geometry_shader_support()

bool GPU_geometry_shader_support ( )

Definition at line 185 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by gpu_shader_create_info_compile().

◆ GPU_hdr_support()

◆ GPU_max_batch_indices()

int GPU_max_batch_indices ( )

Definition at line 99 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by pygpu_max_batch_indices_get().

◆ GPU_max_batch_vertices()

int GPU_max_batch_vertices ( )

Definition at line 104 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by pygpu_max_batch_vertices_get().

◆ GPU_max_compute_shader_storage_blocks()

int GPU_max_compute_shader_storage_blocks ( )

Definition at line 215 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by is_subdivision_evaluation_possible_on_gpu().

◆ GPU_max_images()

int GPU_max_images ( )

Definition at line 74 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by pygpu_max_images_get().

◆ GPU_max_parallel_compilations()

◆ GPU_max_samplers()

int GPU_max_samplers ( )

◆ GPU_max_shader_storage_buffer_bindings()

int GPU_max_shader_storage_buffer_bindings ( )

Definition at line 210 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

◆ GPU_max_storage_buffer_size()

size_t GPU_max_storage_buffer_size ( )

◆ GPU_max_texture_3d_size()

int GPU_max_texture_3d_size ( )

◆ GPU_max_texture_layers()

int GPU_max_texture_layers ( )

Definition at line 49 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by pygpu_max_texture_layers_get().

◆ GPU_max_texture_size()

◆ GPU_max_textures()

◆ GPU_max_textures_frag()

int GPU_max_textures_frag ( )

Definition at line 64 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by gpu_pass_validate(), and pygpu_max_textures_frag_get().

◆ GPU_max_textures_geom()

int GPU_max_textures_geom ( )

Definition at line 59 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by pygpu_max_textures_geom_get().

◆ GPU_max_textures_vert()

◆ GPU_max_uniforms_frag()

int GPU_max_uniforms_frag ( )

Definition at line 94 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by pygpu_max_uniforms_frag_get().

◆ GPU_max_uniforms_vert()

int GPU_max_uniforms_vert ( )

Definition at line 89 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by pygpu_max_uniforms_vert_get().

◆ GPU_max_varying_floats()

int GPU_max_varying_floats ( )

Definition at line 114 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by pygpu_max_varying_floats_get().

◆ GPU_max_vertex_attribs()

int GPU_max_vertex_attribs ( )

Definition at line 109 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by pygpu_max_vertex_attribs_get().

◆ GPU_max_work_group_count()

◆ GPU_max_work_group_size()

int GPU_max_work_group_size ( int index)

Definition at line 84 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by pygpu_max_work_group_size_get().

◆ GPU_mem_stats_get()

void GPU_mem_stats_get ( int * r_totalmem,
int * r_freemem )

◆ GPU_mem_stats_supported()

◆ GPU_minimum_per_vertex_stride()

int GPU_minimum_per_vertex_stride ( )

Definition at line 220 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by VertexFormat_pack().

◆ GPU_mip_render_workaround()

bool GPU_mip_render_workaround ( )

◆ GPU_node_link_instancing_workaround()

bool GPU_node_link_instancing_workaround ( )

◆ GPU_shader_draw_parameters_support()

◆ GPU_stencil_clasify_buffer_workaround()

bool GPU_stencil_clasify_buffer_workaround ( )

Definition at line 170 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by blender::eevee::DeferredLayer::end_sync().

◆ GPU_stencil_export_support()

◆ GPU_stereo_quadbuffer_support()

bool GPU_stereo_quadbuffer_support ( )

Return support for the active context + window.

Definition at line 251 of file gpu_capabilities.cc.

References blender::gpu::Context::front_right, and blender::gpu::Context::get().

Referenced by wm_stereo3d_set_exec().

◆ GPU_storage_buffer_alignment()

size_t GPU_storage_buffer_alignment ( )

◆ GPU_texture_size_with_limit()

int GPU_texture_size_with_limit ( int res)

◆ GPU_use_hq_normals_workaround()

◆ GPU_use_main_context_workaround()

◆ GPU_use_subprocess_compilation()

bool GPU_use_subprocess_compilation ( )

Definition at line 134 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by blender::eevee::Instance::draw_viewport().

◆ GPU_vulkan_render_pass_workaround()

bool GPU_vulkan_render_pass_workaround ( )

Definition at line 180 of file gpu_capabilities.cc.

References blender::gpu::GCaps.

Referenced by blender::workbench::SceneState::init().