Blender V4.5
gpu_shader_create_info.cc File Reference

Go to the source code of this file.

Namespaces

namespace  blender
 
namespace  blender::gpu
 
namespace  blender::gpu::shader
 

Macros

#define GPU_SHADER_NAMED_INTERFACE_INFO(_interface, _inst_name)
 
#define GPU_SHADER_INTERFACE_INFO(_interface)
 
#define GPU_SHADER_CREATE_INFO(_info)
 
#define GPU_SHADER_NAMED_INTERFACE_END(_inst_name)   ;
 
#define GPU_SHADER_INTERFACE_END()   ;
 
#define GPU_SHADER_CREATE_END()   ;
 

Typedefs

using blender::gpu::shader::CreateInfoDictionnary = Map<StringRef, ShaderCreateInfo *>
 
using blender::gpu::shader::InterfaceDictionnary = Map<StringRef, StageInterfaceInfo *>
 

Functions

void gpu_shader_create_info_init ()
 
void gpu_shader_create_info_exit ()
 
bool gpu_shader_create_info_compile (const char *name_starts_with_filter)
 
const GPUShaderCreateInfo * gpu_shader_create_info_get (const char *info_name)
 
Check Backend Support
static bool blender::gpu::shader::is_vulkan_compatible_interface (const StageInterfaceInfo &iface)
 

Variables

static CreateInfoDictionnaryblender::gpu::shader::g_create_infos = nullptr
 
static InterfaceDictionnaryblender::gpu::shader::g_interfaces = nullptr
 

Detailed Description

Descriptor type used to define shader structure, resources and interfaces.

Definition in file gpu_shader_create_info.cc.

Macro Definition Documentation

◆ GPU_SHADER_CREATE_END

#define GPU_SHADER_CREATE_END ( )    ;

◆ GPU_SHADER_CREATE_INFO

#define GPU_SHADER_CREATE_INFO ( _info)
Value:
ShaderCreateInfo *ptr_##_info = new ShaderCreateInfo(#_info); \
ShaderCreateInfo &_info = *ptr_##_info; \
g_create_infos->add_new(#_info, ptr_##_info); \
_info
void add_new(const Key &key, const Value &value)
Definition BLI_map.hh:265
static CreateInfoDictionnary * g_create_infos
Describe inputs & outputs, stage interfaces, resources and sources of a shader. If all data is correc...

◆ GPU_SHADER_INTERFACE_END

#define GPU_SHADER_INTERFACE_END ( )    ;

◆ GPU_SHADER_INTERFACE_INFO

#define GPU_SHADER_INTERFACE_INFO ( _interface)
Value:
StageInterfaceInfo *ptr_##_interface = new StageInterfaceInfo(#_interface); \
StageInterfaceInfo &_interface = *ptr_##_interface; \
g_interfaces->add_new(#_interface, ptr_##_interface); \
_interface
static InterfaceDictionnary * g_interfaces

◆ GPU_SHADER_NAMED_INTERFACE_END

#define GPU_SHADER_NAMED_INTERFACE_END ( _inst_name)    ;

◆ GPU_SHADER_NAMED_INTERFACE_INFO

#define GPU_SHADER_NAMED_INTERFACE_INFO ( _interface,
_inst_name )
Value:
StageInterfaceInfo *ptr_##_interface = new StageInterfaceInfo(#_interface, #_inst_name); \
StageInterfaceInfo &_interface = *ptr_##_interface; \
g_interfaces->add_new(#_interface, ptr_##_interface); \
_interface

Function Documentation

◆ gpu_shader_create_info_compile()

◆ gpu_shader_create_info_exit()

◆ gpu_shader_create_info_get()

◆ gpu_shader_create_info_init()