Blender V5.0
GPU_platform.hh File Reference
#include <cstdint>
#include <optional>
#include <string>
#include "BLI_span.hh"
#include "BLI_utildefines.h"
#include "GPU_platform_backend_enum.h"

Go to the source code of this file.

Classes

class  GPUDevice

Enumerations

enum  GPUDeviceType {
  GPU_DEVICE_NVIDIA = (1 << 0) , GPU_DEVICE_ATI = (1 << 1) , GPU_DEVICE_INTEL = (1 << 2) , GPU_DEVICE_INTEL_UHD = (1 << 3) ,
  GPU_DEVICE_APPLE = (1 << 4) , GPU_DEVICE_SOFTWARE = (1 << 5) , GPU_DEVICE_QUALCOMM = (1 << 6) , GPU_DEVICE_UNKNOWN = (1 << 7) ,
  GPU_DEVICE_ANY = (0xff)
}
enum  GPUOSType { GPU_OS_WIN = (1 << 8) , GPU_OS_MAC = (1 << 9) , GPU_OS_UNIX = (1 << 10) , GPU_OS_ANY = (0xff00) }
enum  GPUDriverType { GPU_DRIVER_OFFICIAL = (1 << 16) , GPU_DRIVER_OPENSOURCE = (1 << 17) , GPU_DRIVER_SOFTWARE = (1 << 18) , GPU_DRIVER_ANY = (0xff0000) }
enum  GPUSupportLevel { GPU_SUPPORT_LEVEL_SUPPORTED , GPU_SUPPORT_LEVEL_LIMITED , GPU_SUPPORT_LEVEL_UNSUPPORTED }
enum  GPUArchitectureType { GPU_ARCHITECTURE_IMR = 0 , GPU_ARCHITECTURE_TBDR = 1 }

Functions

bool GPU_type_matches (GPUDeviceType device, GPUOSType os, GPUDriverType driver)
bool GPU_type_matches_ex (GPUDeviceType device, GPUOSType os, GPUDriverType driver, GPUBackendType backend)
GPUSupportLevel GPU_platform_support_level ()
const char * GPU_platform_vendor ()
const char * GPU_platform_renderer ()
const char * GPU_platform_version ()
const char * GPU_platform_support_level_key ()
const char * GPU_platform_gpu_name ()
GPUArchitectureType GPU_platform_architecture ()
blender::Span< GPUDeviceGPU_platform_devices_list ()
blender::Span< uint8_t > GPU_platform_uuid ()
blender::Span< uint8_t > GPU_platform_luid ()
uint32_t GPU_platform_luid_node_mask ()

Enumeration Type Documentation

◆ GPUArchitectureType

Enumerator
GPU_ARCHITECTURE_IMR 
GPU_ARCHITECTURE_TBDR 

Definition at line 57 of file GPU_platform.hh.

◆ GPUDeviceType

Enumerator
GPU_DEVICE_NVIDIA 
GPU_DEVICE_ATI 
GPU_DEVICE_INTEL 
GPU_DEVICE_INTEL_UHD 
GPU_DEVICE_APPLE 
GPU_DEVICE_SOFTWARE 
GPU_DEVICE_QUALCOMM 
GPU_DEVICE_UNKNOWN 
GPU_DEVICE_ANY 

Definition at line 23 of file GPU_platform.hh.

◆ GPUDriverType

Enumerator
GPU_DRIVER_OFFICIAL 
GPU_DRIVER_OPENSOURCE 
GPU_DRIVER_SOFTWARE 
GPU_DRIVER_ANY 

Definition at line 44 of file GPU_platform.hh.

◆ GPUOSType

enum GPUOSType
Enumerator
GPU_OS_WIN 
GPU_OS_MAC 
GPU_OS_UNIX 
GPU_OS_ANY 

Definition at line 37 of file GPU_platform.hh.

◆ GPUSupportLevel

Enumerator
GPU_SUPPORT_LEVEL_SUPPORTED 
GPU_SUPPORT_LEVEL_LIMITED 
GPU_SUPPORT_LEVEL_UNSUPPORTED 

Definition at line 51 of file GPU_platform.hh.

Function Documentation

◆ GPU_platform_architecture()

◆ GPU_platform_devices_list()

blender::Span< GPUDevice > GPU_platform_devices_list ( )

Definition at line 182 of file gpu_platform.cc.

References blender::gpu::GPG.

◆ GPU_platform_gpu_name()

const char * GPU_platform_gpu_name ( )

Definition at line 155 of file gpu_platform.cc.

References BLI_assert, and blender::gpu::GPG.

Referenced by WM_platform_support_perform_checks().

◆ GPU_platform_luid()

blender::Span< uint8_t > GPU_platform_luid ( )

Definition at line 192 of file gpu_platform.cc.

References blender::gpu::GPG.

◆ GPU_platform_luid_node_mask()

uint32_t GPU_platform_luid_node_mask ( )

Definition at line 197 of file gpu_platform.cc.

References blender::gpu::GPG.

◆ GPU_platform_renderer()

const char * GPU_platform_renderer ( )

Definition at line 137 of file gpu_platform.cc.

References BLI_assert, and blender::gpu::GPG.

Referenced by pygpu_platform_renderer_get().

◆ GPU_platform_support_level()

GPUSupportLevel GPU_platform_support_level ( )

Definition at line 125 of file gpu_platform.cc.

References BLI_assert, and blender::gpu::GPG.

Referenced by WM_platform_support_perform_checks().

◆ GPU_platform_support_level_key()

const char * GPU_platform_support_level_key ( )

Definition at line 149 of file gpu_platform.cc.

References BLI_assert, and blender::gpu::GPG.

Referenced by WM_platform_support_perform_checks().

◆ GPU_platform_uuid()

blender::Span< uint8_t > GPU_platform_uuid ( )

Definition at line 187 of file gpu_platform.cc.

References blender::gpu::GPG.

Referenced by BlenderDisplayDriver::graphics_interop_get_device().

◆ GPU_platform_vendor()

const char * GPU_platform_vendor ( )

Definition at line 131 of file gpu_platform.cc.

References BLI_assert, and blender::gpu::GPG.

Referenced by pygpu_platform_vendor_get().

◆ GPU_platform_version()

const char * GPU_platform_version ( )

Definition at line 143 of file gpu_platform.cc.

References BLI_assert, and blender::gpu::GPG.

Referenced by pygpu_platform_version_get().

◆ GPU_type_matches()

◆ GPU_type_matches_ex()