Blender  V3.3
Classes | Functions | Variables
blender/display_driver.cpp File Reference
#include "blender/display_driver.h"
#include "device/device.h"
#include "util/log.h"
#include "util/opengl.h"
#include "GPU_platform.h"

Go to the source code of this file.

Classes

class  GLTexture
 
class  GLPixelBufferObject
 
class  DrawTile
 
class  DrawTileAndPBO
 
struct  BlenderDisplayDriver::Tiles
 

Functions

bool RE_engine_has_render_context (struct RenderEngine *engine)
 
void RE_engine_render_context_enable (struct RenderEngine *engine)
 
void RE_engine_render_context_disable (struct RenderEngine *engine)
 
bool DRW_opengl_context_release ()
 
void DRW_opengl_context_activate (bool drw_state)
 
voidWM_opengl_context_create ()
 
void WM_opengl_context_activate (void *gl_context)
 
void WM_opengl_context_dispose (void *gl_context)
 
void WM_opengl_context_release (void *context)
 
static void shader_print_errors (const char *task, const char *log, const char *code)
 
static int compile_fallback_shader (void)
 
static void update_tile_texture_pixels (const DrawTileAndPBO &tile)
 
static void vertex_buffer_update (const DisplayDriver::Params &params)
 
static void draw_tile (const float2 &zoom, const int texcoord_attribute, const int position_attribute, const DrawTile &draw_tile, const uint gl_vertex_buffer)
 

Variables

static const char * FALLBACK_VERTEX_SHADER
 
static const char * FALLBACK_FRAGMENT_SHADER
 

Function Documentation

◆ compile_fallback_shader()

static int compile_fallback_shader ( void  )
static

◆ draw_tile()

static void draw_tile ( const float2 zoom,
const int  texcoord_attribute,
const int  position_attribute,
const DrawTile draw_tile,
const uint  gl_vertex_buffer 
)
static

◆ DRW_opengl_context_activate()

void DRW_opengl_context_activate ( bool  drw_state)

◆ DRW_opengl_context_release()

bool DRW_opengl_context_release ( )

◆ RE_engine_has_render_context()

bool RE_engine_has_render_context ( struct RenderEngine engine)

Definition at line 1256 of file engine.c.

References NULL, RenderEngine::re, and RE_gl_context_get().

Referenced by BlenderDisplayDriver::gl_context_create().

◆ RE_engine_render_context_disable()

void RE_engine_render_context_disable ( struct RenderEngine engine)

Definition at line 1270 of file engine.c.

References DRW_render_context_disable(), and RenderEngine::re.

Referenced by BlenderDisplayDriver::gl_context_disable().

◆ RE_engine_render_context_enable()

void RE_engine_render_context_enable ( struct RenderEngine engine)

Definition at line 1265 of file engine.c.

References DRW_render_context_enable(), and RenderEngine::re.

Referenced by BlenderDisplayDriver::gl_context_enable().

◆ shader_print_errors()

static void shader_print_errors ( const char *  task,
const char *  log,
const char *  code 
)
static

Definition at line 96 of file blender/display_driver.cpp.

References log(), LOG, and blender::compositor::task.

Referenced by compile_fallback_shader().

◆ update_tile_texture_pixels()

static void update_tile_texture_pixels ( const DrawTileAndPBO tile)
static

◆ vertex_buffer_update()

static void vertex_buffer_update ( const DisplayDriver::Params params)
static

Definition at line 800 of file blender/display_driver.cpp.

References height, NULL, params, width, x, and y.

Referenced by draw_tile().

◆ WM_opengl_context_activate()

void WM_opengl_context_activate ( void gl_context)

◆ WM_opengl_context_create()

void* WM_opengl_context_create ( )

◆ WM_opengl_context_dispose()

void WM_opengl_context_dispose ( void gl_context)

◆ WM_opengl_context_release()

void WM_opengl_context_release ( void context)

Variable Documentation

◆ FALLBACK_FRAGMENT_SHADER

const char* FALLBACK_FRAGMENT_SHADER
static
Initial value:
=
"#version 330\n"
"uniform sampler2D image_texture;\n"
"in vec2 texCoord_interp;\n"
"out vec4 fragColor;\n"
"\n"
"void main()\n"
"{\n"
" fragColor = texture(image_texture, texCoord_interp);\n"
"}\n\0"

Definition at line 85 of file blender/display_driver.cpp.

Referenced by compile_fallback_shader().

◆ FALLBACK_VERTEX_SHADER

const char* FALLBACK_VERTEX_SHADER
static
Initial value:
=
"#version 330\n"
"uniform vec2 fullscreen;\n"
"in vec2 texCoord;\n"
"in vec2 pos;\n"
"out vec2 texCoord_interp;\n"
"\n"
"vec2 normalize_coordinates()\n"
"{\n"
" return (vec2(2.0) * (pos / fullscreen)) - vec2(1.0);\n"
"}\n"
"\n"
"void main()\n"
"{\n"
" gl_Position = vec4(normalize_coordinates(), 0.0, 1.0);\n"
" texCoord_interp = texCoord;\n"
"}\n\0"

Definition at line 67 of file blender/display_driver.cpp.

Referenced by compile_fallback_shader().