libgpac
Documentation of the core library of GPAC
texturing_gl.c File Reference
#include "texturing.h"
#include "visual_manager.h"
#include "nodes_stacks.h"
#include "gl_inc.h"
+ Include dependency graph for texturing_gl.c:

Data Structures

struct  __texture_wrapper
 

Enumerations

enum  {
  TX_NEEDS_RASTER_LOAD = (1<<1) , TX_NEEDS_HW_LOAD = (1<<2) , TX_IS_RECT = (1<<10) , TX_EMULE_POW2 = (1<<11) ,
  TX_IS_FLIPPED = (1<<12) , TX_CONV_8BITS = (1<<13) , TX_FIRST_UPLOAD_FREEZE = (1<<14) , TX_FIRST_UPLOAD_FREEZE_DONE = (1<<15)
}
 

Functions

GF_Err gf_sc_texture_allocate (GF_TextureHandler *txh)
 
GF_Err gf_sc_texture_configure_conversion (GF_TextureHandler *txh)
 
static void release_txio (struct __texture_wrapper *tx_io)
 
void gf_sc_texture_release (GF_TextureHandler *txh)
 
void gf_sc_texture_cleanup_hw (GF_Compositor *compositor)
 
GF_Err gf_sc_texture_set_data (GF_TextureHandler *txh)
 
void gf_sc_texture_reset (GF_TextureHandler *txh)
 
void gf_sc_texture_set_blend_mode (GF_TextureHandler *txh, u32 mode)
 
void tx_bind_with_mode (GF_TextureHandler *txh, Bool transparent, u32 blend_mode, Bool no_bind, u32 glsl_prog_id)
 
void tx_bind (GF_TextureHandler *txh)
 
void gf_sc_texture_disable (GF_TextureHandler *txh)
 
Bool tx_can_use_rect_ext (GF_Compositor *compositor, GF_TextureHandler *txh)
 
static Bool tx_setup_format (GF_TextureHandler *txh)
 
char * gf_sc_texture_get_data (GF_TextureHandler *txh, u32 *pix_format)
 
Bool gf_sc_texture_convert (GF_TextureHandler *txh)
 
Bool gf_sc_texture_push_image (GF_TextureHandler *txh, Bool generate_mipmaps, Bool for2d)
 
u32 gf_sc_texture_get_gl_id (GF_TextureHandler *txh)
 
void gf_sc_copy_to_texture (GF_TextureHandler *txh)
 
GF_Err gf_sc_texture_setup_fbo (GF_TextureHandler *txh)
 
void gf_sc_texture_enable_fbo (GF_TextureHandler *txh, Bool enable)
 
void gf_sc_copy_to_stencil (GF_TextureHandler *txh)
 
Bool gf_sc_texture_get_transform (GF_TextureHandler *txh, GF_Node *tx_transform, GF_Matrix *mx, Bool for_picking)
 
Bool gf_sc_texture_is_transparent (GF_TextureHandler *txh)
 
u32 gf_sc_texture_enable_ex (GF_TextureHandler *txh, GF_Node *tx_transform, GF_Rect *bounds)
 
u32 gf_sc_texture_enable (GF_TextureHandler *txh, GF_Node *tx_transform)
 
Bool gf_sc_texture_needs_reload (GF_TextureHandler *txh)
 
GF_EVGStencil * gf_sc_texture_get_stencil (GF_TextureHandler *txh)
 
void gf_sc_texture_set_stencil (GF_TextureHandler *txh, GF_EVGStencil *stencil)
 
void gf_sc_texture_check_pause_on_first_load (GF_TextureHandler *txh, Bool do_freeze)
 

Data Structure Documentation

◆ __texture_wrapper

struct __texture_wrapper
+ Collaboration diagram for __texture_wrapper:
Data Fields
u32 flags
GF_EVGStencil * tx_raster
u8 * conv_data
GF_Matrix texcoordmatrix
u32 conv_format
u32 conv_w
u32 conv_h
u32 conv_stride
u32 blend_mode
Fixed conv_wscale
Fixed conv_hscale
GF_GLTextureWrapper tx
u32 gl_format
u32 gl_type
u32 fbo_id
u32 fbo_txid
u32 depth_id
char * depth_data

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
TX_NEEDS_RASTER_LOAD 
TX_NEEDS_HW_LOAD 
TX_IS_RECT 
TX_EMULE_POW2 
TX_IS_FLIPPED 
TX_CONV_8BITS 
TX_FIRST_UPLOAD_FREEZE 
TX_FIRST_UPLOAD_FREEZE_DONE 

Function Documentation

◆ gf_sc_texture_allocate()

GF_Err gf_sc_texture_allocate ( GF_TextureHandler txh)
+ Here is the caller graph for this function:

◆ gf_sc_texture_configure_conversion()

GF_Err gf_sc_texture_configure_conversion ( GF_TextureHandler txh)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ release_txio()

static void release_txio ( struct __texture_wrapper tx_io)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_release()

void gf_sc_texture_release ( GF_TextureHandler txh)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_cleanup_hw()

void gf_sc_texture_cleanup_hw ( GF_Compositor *  compositor)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_set_data()

GF_Err gf_sc_texture_set_data ( GF_TextureHandler txh)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_reset()

void gf_sc_texture_reset ( GF_TextureHandler txh)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_set_blend_mode()

void gf_sc_texture_set_blend_mode ( GF_TextureHandler txh,
u32  mode 
)
+ Here is the caller graph for this function:

◆ tx_bind_with_mode()

void tx_bind_with_mode ( GF_TextureHandler txh,
Bool  transparent,
u32  blend_mode,
Bool  no_bind,
u32  glsl_prog_id 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tx_bind()

void tx_bind ( GF_TextureHandler txh)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_disable()

void gf_sc_texture_disable ( GF_TextureHandler txh)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tx_can_use_rect_ext()

Bool tx_can_use_rect_ext ( GF_Compositor *  compositor,
GF_TextureHandler txh 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tx_setup_format()

static Bool tx_setup_format ( GF_TextureHandler txh)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_get_data()

char* gf_sc_texture_get_data ( GF_TextureHandler txh,
u32 pix_format 
)
+ Here is the caller graph for this function:

◆ gf_sc_texture_convert()

Bool gf_sc_texture_convert ( GF_TextureHandler txh)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_push_image()

Bool gf_sc_texture_push_image ( GF_TextureHandler txh,
Bool  generate_mipmaps,
Bool  for2d 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_get_gl_id()

u32 gf_sc_texture_get_gl_id ( GF_TextureHandler txh)
+ Here is the caller graph for this function:

◆ gf_sc_copy_to_texture()

void gf_sc_copy_to_texture ( GF_TextureHandler txh)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_setup_fbo()

GF_Err gf_sc_texture_setup_fbo ( GF_TextureHandler txh)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_enable_fbo()

void gf_sc_texture_enable_fbo ( GF_TextureHandler txh,
Bool  enable 
)
+ Here is the caller graph for this function:

◆ gf_sc_copy_to_stencil()

void gf_sc_copy_to_stencil ( GF_TextureHandler txh)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_get_transform()

Bool gf_sc_texture_get_transform ( GF_TextureHandler txh,
GF_Node tx_transform,
GF_Matrix mx,
Bool  for_picking 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_is_transparent()

Bool gf_sc_texture_is_transparent ( GF_TextureHandler txh)
+ Here is the caller graph for this function:

◆ gf_sc_texture_enable_ex()

u32 gf_sc_texture_enable_ex ( GF_TextureHandler txh,
GF_Node tx_transform,
GF_Rect bounds 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_enable()

u32 gf_sc_texture_enable ( GF_TextureHandler txh,
GF_Node tx_transform 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_texture_needs_reload()

Bool gf_sc_texture_needs_reload ( GF_TextureHandler txh)
+ Here is the caller graph for this function:

◆ gf_sc_texture_get_stencil()

GF_EVGStencil* gf_sc_texture_get_stencil ( GF_TextureHandler txh)
+ Here is the caller graph for this function:

◆ gf_sc_texture_set_stencil()

void gf_sc_texture_set_stencil ( GF_TextureHandler txh,
GF_EVGStencil *  stencil 
)
+ Here is the caller graph for this function:

◆ gf_sc_texture_check_pause_on_first_load()

void gf_sc_texture_check_pause_on_first_load ( GF_TextureHandler txh,
Bool  do_freeze 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function: