Blender V4.3
gpu_shader_create_info.cc File Reference
#include "BLI_map.hh"
#include "BLI_set.hh"
#include "BLI_string_ref.hh"
#include "BLI_threads.h"
#include "BKE_global.hh"
#include "GPU_capabilities.hh"
#include "GPU_context.hh"
#include "GPU_platform.hh"
#include "GPU_shader.hh"
#include "GPU_texture.hh"
#include "gpu_shader_create_info.hh"
#include "gpu_shader_create_info_private.hh"
#include "gpu_shader_dependency_private.hh"
#include "compositor_shader_create_info_list.hh"
#include "gpu_shader_create_info_list.hh"

Go to the source code of this file.

Namespaces

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

Macros

#define GPU_SHADER_INTERFACE_INFO(_interface, _inst_name)
 
#define GPU_SHADER_CREATE_INFO(_info)
 

Typedefs

using blender::gpu::shader::CreateInfoDictionnary = Map<StringRef, ShaderCreateInfo *>
 
using blender::gpu::shader::CreateInfoValueDictionnary = 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)
 
void gpu_shader_create_info_get_unfinalized_copy (const char *info_name, GPUShaderCreateInfo &r_info)
 
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 CreateInfoValueDictionnaryblender::gpu::shader::g_create_infos_unfinalized = 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_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:241
static CreateInfoDictionnary * g_create_infos
Describe inputs & outputs, stage interfaces, resources and sources of a shader. If all data is correc...

◆ GPU_SHADER_INTERFACE_INFO

#define GPU_SHADER_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
static InterfaceDictionnary * g_interfaces

Function Documentation

◆ gpu_shader_create_info_compile()

◆ gpu_shader_create_info_exit()

◆ gpu_shader_create_info_get()

◆ gpu_shader_create_info_get_unfinalized_copy()

◆ gpu_shader_create_info_init()