Blender V4.3
gpu_shader_private.hh File Reference
#include "BLI_span.hh"
#include "BLI_string_ref.hh"
#include "GPU_shader.hh"
#include "gpu_shader_create_info.hh"
#include "gpu_shader_interface.hh"
#include "BLI_map.hh"
#include <mutex>
#include <string>

Go to the source code of this file.

Classes

class  blender::gpu::Shader
 
struct  blender::gpu::Shader::Constants
 
class  blender::gpu::ShaderCompiler
 
struct  blender::gpu::ShaderCompiler::Sources
 
class  blender::gpu::ShaderCompilerGeneric
 
struct  blender::gpu::LogCursor
 
struct  blender::gpu::GPULogItem
 
class  blender::gpu::GPULogParser
 

Namespaces

namespace  blender
 
namespace  blender::gpu
 

Macros

#define DEBUG_LOG_SHADER_SRC_ON_ERROR   0
 
#define SOURCES_INDEX_VERSION   0
 
#define SOURCES_INDEX_SPECIALIZATION_CONSTANTS   1
 

Enumerations

enum class  blender::gpu::Severity { blender::gpu::Unknown , blender::gpu::Warning , blender::gpu::Error , blender::gpu::Note }
 

Functions

static GPUShaderblender::gpu::wrap (Shader *vert)
 
static Shaderblender::gpu::unwrap (GPUShader *vert)
 
static const Shaderblender::gpu::unwrap (const GPUShader *vert)
 
GPUShaderimmGetShader ()
 
Shader Debug Printf
void blender::gpu::printf_begin (Context *ctx)
 
void blender::gpu::printf_end (Context *ctx)
 

Macro Definition Documentation

◆ DEBUG_LOG_SHADER_SRC_ON_ERROR

#define DEBUG_LOG_SHADER_SRC_ON_ERROR   0

Definition at line 30 of file gpu_shader_private.hh.

Referenced by blender::gpu::Shader::print_log().

◆ SOURCES_INDEX_SPECIALIZATION_CONSTANTS

#define SOURCES_INDEX_SPECIALIZATION_CONSTANTS   1

Definition at line 38 of file gpu_shader_private.hh.

◆ SOURCES_INDEX_VERSION

#define SOURCES_INDEX_VERSION   0

Compilation is done on a list of GLSL sources. This list contains placeholders that should be provided by the backend shader. These defines contains the locations where the backend can patch the sources.

Definition at line 37 of file gpu_shader_private.hh.

Referenced by blender::gpu::MTLShader::compute_shader_from_glsl(), blender::gpu::MTLShader::fragment_shader_from_glsl(), and blender::gpu::MTLShader::vertex_shader_from_glsl().

Function Documentation

◆ immGetShader()

GPUShader * immGetShader ( )

Definition at line 76 of file gpu_immediate.cc.

References imm, and blender::gpu::Immediate::shader.

Referenced by GPU_batch_program_set_imm_shader().