Blender V5.0
mtl_shader_generator.mm File Reference
#include "BKE_global.hh"
#include "BLI_string.h"
#include <algorithm>
#include <fstream>
#include <iostream>
#include <map>
#include <mutex>
#include <regex>
#include <sstream>
#include <string>
#include <cstring>
#include "GPU_platform.hh"
#include "GPU_vertex_format.hh"
#include "gpu_shader_dependency_private.hh"
#include "mtl_common.hh"
#include "mtl_context.hh"
#include "mtl_debug.hh"
#include "mtl_shader.hh"
#include "mtl_shader_generator.hh"
#include "mtl_shader_interface.hh"
#include "mtl_texture.hh"

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::gpu

Macros

#define FRAGMENT_OUT_STRUCT_NAME   "FragmentOut"
#define FRAGMENT_TILE_IN_STRUCT_NAME   "FragmentTileIn"

Functions

Shader Translation utility functions.
static void blender::gpu::split_array (StringRefNull input, std::string &r_name, std::string &r_array)
static MTLInterfaceDataType blender::gpu::to_mtl_type (Type type)
static std::regex blender::gpu::remove_non_numeric_characters ("[^0-9]")
static void blender::gpu::extract_and_replace_clipping_distances (std::string &vertex_source, MSLGeneratorInterface &msl_iface)
MTLShader builtin shader generation utilities.
static void blender::gpu::print_resource (std::ostream &os, const ShaderCreateInfo::Resource &res)
Shader Translation.
static void blender::gpu::shared_variable_args (const shader::ShaderCreateInfo &info, std::stringstream &ss)
static void blender::gpu::shared_variable_assign (const shader::ShaderCreateInfo &info, std::stringstream &ss)
static void blender::gpu::shared_variable_declare (const shader::ShaderCreateInfo &info, std::stringstream &ss)
static void blender::gpu::shared_variable_pass (const shader::ShaderCreateInfo &info, std::stringstream &ss)
static void blender::gpu::generate_specialization_constant_declarations (const shader::ShaderCreateInfo *info, std::stringstream &ss)
static void blender::gpu::generate_compilation_constant_declarations (const shader::ShaderCreateInfo *info, std::stringstream &ss)
constexpr size_t blender::gpu::const_strlen (const char *str)
static char blender::gpu::parameter_delimiter (bool &is_first_parameter)
static uint32_t blender::gpu::name_buffer_copystr (char **name_buffer_ptr, const char *str_to_copy, uint32_t &name_buffer_size, uint32_t &name_buffer_offset)

Variables

char datatoc_mtl_shader_shared_hh []
std::mutex blender::gpu::msl_patch_default_lock

Macro Definition Documentation

◆ FRAGMENT_OUT_STRUCT_NAME

◆ FRAGMENT_TILE_IN_STRUCT_NAME

#define FRAGMENT_TILE_IN_STRUCT_NAME   "FragmentTileIn"

Variable Documentation

◆ datatoc_mtl_shader_shared_hh

char datatoc_mtl_shader_shared_hh[]
extern