17 #ifndef __VIDEO_DRIVER__H 18 #define __VIDEO_DRIVER__H 22 #include <sys/types.h> 29 #include "../config.h" 33 #include "../input/input_overlay.h" 42 #include "../input/input_driver.h" 44 #define RARCH_SCALE_BASE 256 48 #define VIDEO_SHADER_STOCK_BLEND (GFX_MAX_SHADERS - 1) 49 #define VIDEO_SHADER_MENU (GFX_MAX_SHADERS - 2) 50 #define VIDEO_SHADER_MENU_2 (GFX_MAX_SHADERS - 3) 51 #define VIDEO_SHADER_MENU_3 (GFX_MAX_SHADERS - 4) 52 #define VIDEO_SHADER_MENU_4 (GFX_MAX_SHADERS - 5) 53 #define VIDEO_SHADER_MENU_5 (GFX_MAX_SHADERS - 6) 54 #define VIDEO_SHADER_MENU_6 (GFX_MAX_SHADERS - 7) 57 #define DEFAULT_SHADER_TYPE RARCH_SHADER_HLSL 58 #elif defined(__PSL1GHT__) || defined(HAVE_OPENGLES2) || defined(HAVE_GLSL) 59 #define DEFAULT_SHADER_TYPE RARCH_SHADER_GLSL 60 #elif defined(__CELLOS_LV2__) || defined(HAVE_CG) 61 #define DEFAULT_SHADER_TYPE RARCH_SHADER_CG 63 #define DEFAULT_SHADER_TYPE RARCH_SHADER_NONE 68 #ifndef MAX_EGLIMAGE_TEXTURES 69 #define MAX_EGLIMAGE_TEXTURES 32 72 #define MAX_VARIABLES 64 235 const void *mat_data);
499 const void *mat_data);
527 unsigned major,
unsigned minor);
562 unsigned*,
unsigned*,
bool);
598 unsigned height,
unsigned pitch,
bool rgb32,
599 unsigned index,
void **image_handle);
618 void *(*get_context_data)(
void *
data);
711 const void *mat_data);
825 unsigned *
height,
size_t *pitch);
828 void (*overlay_interface)(
void *
data,
972 bool video_driver_overlay_interface(
977 unsigned *
height,
size_t *pitch);
1003 unsigned height,
size_t pitch);
1006 unsigned *
height,
size_t *pitch);
1009 void *group_data,
void *subgroup_data,
const char *parent_group);
1054 double *deviation,
unsigned *sample_points);
1070 unsigned height,
size_t pitch);
1072 #define video_driver_translate_coord_viewport_wrap(vp, mouse_x, mouse_y, res_x, res_y, res_screen_x, res_screen_y) \ 1073 (video_driver_get_viewport_info(vp) ? video_driver_translate_coord_viewport(vp, mouse_x, mouse_y, res_x, res_y, res_screen_x, res_screen_y) : false) 1092 int mouse_x,
int mouse_y,
1121 bool *has_gpu_record,
1146 void *
data,
const char *ident,
1148 bool hw_render_ctx,
void **ctx_data);
float drop_mod
Definition: video_driver.h:480
uintptr_t video_driver_get_current_framebuffer(void)
Definition: video_driver.c:663
const void * prev_info
Definition: video_driver.h:272
struct nk_font * font
Definition: nk_common.c:40
bool add_prefix
Definition: video_driver.h:168
void(* grab_mouse_toggle)(void *data)
Definition: video_driver.h:743
rarch_display_type
Definition: video_defines.h:71
unsigned custom_vp_full_width
Definition: video_driver.h:451
video_driver_t video_caca
Definition: caca_gfx.c:345
float * floatv
Definition: video_driver.h:202
bool video_driver_set_video_mode(unsigned width, unsigned height, bool fullscreen)
Definition: video_driver.c:1154
GLuint shader
Definition: glext.h:6670
void video_driver_set_filtering(unsigned index, bool smooth)
Definition: video_driver.c:1224
bool video_driver_frame_filter_is_32bit(void)
Definition: video_driver.c:2034
void video_driver_set_own_driver(void)
Definition: video_driver.c:2119
video_driver_t video_metal
Definition: metal.m:426
void(* show_mouse)(void *data, bool state)
Definition: video_driver.h:603
float y
Definition: video_driver.h:477
shader_uniform_type
Definition: video_driver.h:125
GLuint const GLchar * name
Definition: glext.h:6671
bool video_context_driver_get_refresh_rate(float *refresh_rate)
Definition: video_driver.c:3219
void(* set_mvp)(void *data, void *shader_data, const void *mat_data)
Definition: video_driver.h:710
unsigned crt_switch_resolution_super
Definition: video_driver.h:441
bool video_driver_is_active(void)
Definition: video_driver.c:2206
const char * ident
Definition: video_driver.h:606
Definition: video_driver.h:297
Definition: video_driver.h:110
struct video_poke_interface video_poke_interface_t
struct video_frame_info video_frame_info_t
_W64 signed int intptr_t
Definition: stdint.h:164
unsigned custom_vp_height
Definition: video_driver.h:450
void video_driver_set_active(void)
Definition: video_driver.c:2196
bool use_rgba
Definition: video_driver.h:420
const gfx_ctx_driver_t gfx_ctx_videocore
Definition: vc_egl_ctx.c:707
video_driver_t video_vulkan
Definition: vulkan.c:2720
void video_driver_set_mvp(video_shader_ctx_mvp_t *mvp)
Definition: video_driver.c:3750
unsigned out_height
Definition: video_driver.h:267
bool video_context_driver_get_video_output_prev(void)
Definition: video_driver.c:3131
const char * ident
Definition: video_driver.h:683
void video_driver_unset_active(void)
Definition: video_driver.c:2201
bool menu_is_alive
Definition: video_driver.h:429
_W64 unsigned int uintptr_t
Definition: stdint.h:165
struct gfx_ctx_image gfx_ctx_image_t
void(* set_params)(void *data, void *shader_data)
Definition: video_driver.h:213
const gfx_ctx_driver_t gfx_ctx_emscripten
Definition: emscriptenegl_ctx.c:371
struct video_shader_pass * pass
Definition: video_driver.h:83
Definition: video_driver.h:117
struct gfx_ctx_aspect gfx_ctx_aspect_t
void(* deinit)(void *data)
Definition: video_driver.h:210
GLuint GLfloat * val
Definition: glext.h:7847
void video_driver_build_info(video_frame_info_t *video_info)
Definition: video_driver.c:2747
char chat_text[256]
Definition: video_driver.h:468
unsigned tex_width
Definition: video_driver.h:264
video_driver_t video_d3d9
Definition: d3d9.c:2068
float(* get_refresh_rate)(void *data)
Definition: video_driver.h:717
void video_driver_set_pixel_format(enum retro_pixel_format fmt)
Definition: video_driver.c:1414
bool is_threaded
Definition: video_driver.h:368
struct uniform_info::@680 lookup
bool fullscreen
Definition: video_driver.h:418
struct video_shader_ctx_params video_shader_ctx_params_t
const shader_backend_t * shader
Definition: video_driver.h:252
bool video_shader_driver_init_first(void)
Definition: video_driver.c:3637
bool video_context_driver_write_to_image_buffer(gfx_ctx_image_t *img)
Definition: video_driver.c:3120
char stat_text[512]
Definition: video_driver.h:467
#define RETRO_BEGIN_DECLS
Definition: retro_common_api.h:41
bool scale_integer
Definition: video_driver.h:415
bool(* set_coords)(void *handle_data, void *shader_data, const struct video_coords *coords)
Definition: video_driver.h:232
bool core_context_enabled
Definition: video_driver.h:256
enum rarch_display_type video_driver_display_type_get(void)
Definition: video_driver.c:2689
GLuint buffer
Definition: glext.h:6555
void video_driver_unset_own_driver(void)
Definition: video_driver.c:2124
const char * ident
Definition: video_driver.h:245
void video_driver_unset_video_cache_context_ack(void)
Definition: video_driver.c:2186
bool windowed_fullscreen
Definition: video_driver.h:417
void video_driver_menu_settings(void **list_data, void *list_info_data, void *group_data, void *subgroup_data, const char *parent_group)
Definition: video_driver.c:1483
bool video_driver_owns_driver(void)
Definition: video_driver.c:2129
struct gfx_fbo_scale * scale
Definition: video_driver.h:286
GLenum const GLfloat * params
Definition: glext.h:6297
bool(* cb_set_resize)(void *, unsigned, unsigned)
Definition: video_driver.h:496
void video_driver_monitor_adjust_system_rates(void)
Definition: video_driver.c:1442
static const bool allow_rotate
Definition: config.def.h:496
Definition: video_driver.h:325
Definition: video_driver.h:128
void video_driver_set_nonblock_state(bool toggle)
Definition: video_driver.c:1933
unsigned height
Definition: video_driver.h:641
void video_driver_load_settings(config_file_t *conf)
Definition: video_driver.c:2053
Definition: video_driver.h:122
unsigned * height
Definition: video_driver.h:635
bool(* get_metrics_cb)(void *data, enum display_metric_types type, float *value)
Definition: video_driver.h:508
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:8418
const char * ident
Definition: video_driver.h:166
Definition: ffmpeg_core.c:151
float v0
Definition: video_driver.h:196
unsigned id
Definition: video_driver.h:327
unsigned width
Definition: video_driver.h:442
rotation
Definition: video_defines.h:62
bool video_shader_driver_wrap_type(video_shader_ctx_wrap_t *wrap)
Definition: video_driver.c:3728
bool video_driver_frame_filter_alive(void)
Definition: video_driver.c:2029
video_driver_frame_t frame
Definition: video_driver.h:777
void video_driver_set_viewport_square_pixel(void)
Definition: video_driver.c:1689
Definition: video_driver.h:94
const gfx_ctx_driver_t gfx_ctx_null
Definition: gfx_null_ctx.c:136
video_driver_t video_xenon360
Definition: xenon360_gfx.c:311
Definition: video_driver.h:98
char fps_text[128]
Definition: video_driver.h:466
text_alignment
Definition: video_defines.h:103
GLsizei const GLchar ** path
Definition: glext.h:7901
const gfx_ctx_driver_t gfx_ctx_android
Definition: android_ctx.c:598
bool(* cb_set_mvp)(void *data, void *shader_data, const void *mat_data)
Definition: video_driver.h:498
struct shader_backend shader_backend_t
bool video_shader_driver_get_feedback_pass(unsigned *data)
Definition: video_driver.c:3679
unsigned materialui_color_theme
Definition: video_driver.h:447
void video_driver_set_aspect_ratio_value(float value)
Definition: video_driver.c:1374
unsigned height
Definition: video_driver.h:655
bool rgb32
Definition: video_driver.h:665
float frame_time
Definition: video_driver.h:471
void(* set_texture_enable)(void *data, bool enable, bool full_screen)
Definition: video_driver.h:737
bool(* focus)(void *data)
Definition: video_driver.h:792
int crt_switch_center_adjust
Definition: video_driver.h:434
float video_driver_get_aspect_ratio(void)
Definition: video_driver.c:1369
void * data
Definition: video_driver.h:270
const gfx_ctx_driver_t gfx_ctx_cocoagl
Definition: cocoa_gl_ctx.m:662
GLenum GLsizei len
Definition: glext.h:7389
void video_driver_set_threaded(bool val)
Definition: video_driver.c:547
struct gfx_ctx_mode gfx_ctx_mode_t
unsigned video_pixel_get_alignment(unsigned pitch)
Definition: video_driver.c:2375
void(* set_filtering)(void *data, unsigned index, bool smooth)
Definition: video_driver.h:718
struct gfx_ctx_metrics gfx_ctx_metrics_t
video_driver_t video_d3d11
Definition: d3d11.c:1707
video_driver_t video_switch
Definition: switch_gfx.c:440
float x
Definition: video_driver.h:476
bool video_context_driver_get_video_output_next(void)
Definition: video_driver.c:3139
uint32_t(* get_flags)(void *data)
Definition: video_driver.h:707
void(* update_window_title_cb)(void *, void *)
Definition: video_driver.h:507
Definition: video_driver.h:93
Definition: video_driver.h:92
const shader_backend_t * shader_driver
Definition: video_driver.h:504
Definition: video_driver.h:76
GLsizeiptr size
Definition: glext.h:6559
enum rarch_shader_type shader_type
Definition: video_driver.h:250
bool(* set_video_mode)(void *, video_frame_info_t *video_info, unsigned, unsigned, bool)
Definition: video_driver.h:533
const gfx_ctx_driver_t gfx_ctx_drm
Definition: drm_ctx.c:925
void video_context_driver_make_current(bool restore)
Definition: video_driver.c:3147
GLenum GLuint id
Definition: glext.h:6233
const gfx_ctx_driver_t gfx_ctx_qnx
Definition: qnx_ctx.c:466
static tesseract::TessBaseAPI * api
Definition: tess_get_text.cpp:7
void(* gfx_ctx_proc_t)(void)
Definition: video_driver.h:330
bool video_driver_get_hw_render_interface(const struct retro_hw_render_interface **iface)
Definition: video_driver.c:2246
Definition: video_driver.h:80
video_driver_t video_wiiu
Definition: gx2_gfx.c:1746
int32_t location
Definition: video_driver.h:159
video_driver_t video_exynos
Definition: exynos_gfx.c:1543
struct uniform_info::@681 result
GLboolean enable
Definition: glext.h:12027
Definition: video_driver.h:625
bool video_context_driver_swap_interval(int *interval)
Definition: video_driver.c:3184
Definition: video_driver.h:142
GLenum GLenum GLenum GLenum GLenum scale
Definition: glext.h:9939
bool video_shader_driver_info(video_shader_ctx_info_t *shader_info)
Definition: video_driver.c:3701
Definition: video_driver.h:121
float v3
Definition: video_driver.h:199
void(* get_video_output_size)(void *data, unsigned *width, unsigned *height)
Definition: video_driver.h:719
void(* get_video_output_size)(void *, unsigned *, unsigned *)
Definition: video_driver.h:541
bool video_context_driver_find_next_driver(void)
Definition: video_driver.c:2998
video_driver_t video_d3d8
Definition: d3d8.c:1902
bool video_driver_cached_frame(void)
Definition: video_driver.c:1424
unsigned width
Definition: video_driver.h:690
bool runloop_is_paused
Definition: video_driver.h:427
Definition: video_driver.h:88
void(* show_mouse)(void *data, bool state)
Definition: video_driver.h:742
unsigned width
Definition: video_driver.h:350
static const bool fullscreen
Definition: config.def.h:108
bool black_frame_insertion
Definition: video_driver.h:410
float(* translate_aspect)(void *, unsigned, unsigned)
Definition: video_driver.h:554
video_driver_t video_vg
Definition: vg.c:504
bool smooth
Definition: video_driver.h:366
bool runloop_is_slowmotion
Definition: video_driver.h:425
float font_msg_color_r
Definition: video_driver.h:461
typedef void(__stdcall *PFN_DESTRUCTION_CALLBACK)(void *pData)
void video_driver_default_settings(void)
Definition: video_driver.c:2039
const gfx_ctx_driver_t gfx_ctx_wgl
Definition: wgl_ctx.c:842
video_driver_t video_sdl2
Definition: sdl2_gfx.c:766
void(* set_rotation)(void *data, unsigned rotation)
Definition: video_driver.h:814
const gfx_ctx_driver_t gfx_ctx_vivante_fbdev
Definition: vivante_fbdev_ctx.c:272
void(* free)(void *data)
Definition: video_driver.h:806
unsigned num
Definition: video_driver.h:292
void video_driver_show_mouse(void)
Definition: video_driver.c:1921
const shader_backend_t gl_glsl_backend
Definition: shader_glsl.c:1712
display_metric_types
Definition: video_driver.h:105
GLenum GLenum GLenum input
Definition: glext.h:9938
uintptr_t video_driver_window_get(void)
Definition: video_driver.c:2699
bool(* suppress_screensaver)(void *data, bool enable)
Definition: video_driver.h:795
void video_driver_set_stub_frame(void)
Definition: video_driver.c:1616
void(* set_coords)(void *handle_data, void *shader_data, const struct video_coords *coords)
Definition: video_driver.h:708
bool runloop_is_idle
Definition: video_driver.h:426
void video_driver_set_cached_frame_ptr(const void *data)
Definition: video_driver.c:1610
uintptr_t v3
Definition: video_driver.h:189
bool(* bind_api)(void *video_driver, enum gfx_ctx_api, unsigned major, unsigned minor)
Definition: video_driver.h:526
video_driver_t video_omap
Definition: omap_gfx.c:1175
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: glext.h:6303
bool video_driver_started_fullscreen(void)
Definition: video_driver.c:443
struct gfx_ctx_driver gfx_ctx_driver_t
Definition: video_driver.h:309
video_driver_t video_drm
Definition: drm_gfx.c:1023
void video_driver_gpu_record_deinit(void)
Definition: video_driver.c:2227
Definition: video_driver.h:129
bool libretro_running
Definition: video_driver.h:421
bool(* set_resize_cb)(void *, unsigned, unsigned)
Definition: video_driver.h:510
void * userdata
Definition: video_driver.h:503
typedef bool(RETRO_CALLCONV *retro_replace_image_index_t)(unsigned index
Definition: video_shader_parse.h:143
void(* set_uniform_parameter)(void *data, struct uniform_info *param, void *uniform_data)
Definition: video_driver.h:215
Definition: video_driver.h:658
unsigned width
Definition: video_driver.h:262
uintptr_t(* load_texture)(void *video_data, void *data, bool threaded, enum texture_filter_type filter_type)
Definition: video_driver.h:712
retro_pixel_format
Definition: libretro.h:2142
bool video_monitor_fps_statistics(double *refresh_rate, double *deviation, unsigned *sample_points)
Definition: video_driver.c:1319
void video_driver_set_size(unsigned *width, unsigned *height)
Definition: video_driver.c:1268
Definition: video_driver.h:289
void(RETRO_CALLCONV * retro_proc_address_t)(void)
Definition: libretro.h:1541
Definition: libretro.h:1265
int drop_y
Definition: video_driver.h:483
void(* set_osd_msg)(void *data, video_frame_info_t *video_info, const char *msg, const void *params, void *font)
Definition: video_driver.h:738
video_driver_t video_sunxi
Definition: sunxi_gfx.c:978
void video_driver_reinit(void)
Definition: video_driver.c:2104
unsigned height
Definition: video_driver.h:263
unsigned full_width
Definition: video_driver.h:692
float scale
Definition: video_driver.h:478
GLint GLvoid * img
Definition: glext.h:6388
unsigned xmb_theme
Definition: video_driver.h:444
void(* shader_scale)(void *data, unsigned index, struct gfx_fbo_scale *scale)
Definition: video_driver.h:230
Definition: libretro.h:1215
bool video_driver_set_viewport(unsigned width, unsigned height, bool force_fullscreen, bool allow_rotate)
Definition: video_driver.c:1136
unsigned index
Definition: video_driver.h:305
struct video_shader_ctx_texture video_shader_ctx_texture_t
int swap_interval
Definition: video_driver.h:358
const gfx_ctx_driver_t gfx_ctx_sdl_gl
Definition: sdl_gl_ctx.c:416
unsigned menu_shader_pipeline
Definition: video_driver.h:446
Definition: video_driver.h:101
bool video_driver_supports_viewport_read(void)
Definition: video_driver.c:1642
GLuint coords
Definition: glext.h:8035
unsigned height
Definition: video_driver.h:691
bool font_enable
Definition: video_driver.h:344
const char * video_driver_get_ident(void)
Definition: video_driver.c:570
bool video_driver_read_viewport(uint8_t *buffer, bool is_idle)
Definition: video_driver.c:2019
unsigned tex_w
Definition: video_driver.h:82
bool video_driver_translate_coord_viewport(struct video_viewport *vp, int mouse_x, int mouse_y, int16_t *res_x, int16_t *res_y, int16_t *res_screen_x, int16_t *res_screen_y)
Definition: video_driver.c:2884
bool video_shader_driver_get_ident(video_shader_ctx_ident_t *ident)
Definition: video_driver.c:3490
void video_context_driver_destroy(void)
Definition: video_driver.c:623
GLfloat param
Definition: glext.h:6480
bool(* has_focus)(void *)
Definition: video_driver.h:569
Definition: video_driver.h:107
bool shared_context
Definition: video_driver.h:409
struct video_shader_ctx video_shader_ctx_t
bool video_context_driver_set(const gfx_ctx_driver_t *data)
Definition: video_driver.c:614
GLenum type
Definition: glext.h:6233
bool set_active
Definition: video_driver.h:291
void video_driver_window_set(uintptr_t idx)
Definition: video_driver.c:2694
unsigned * width
Definition: video_driver.h:634
unsigned frame_counter
Definition: video_driver.h:268
unsigned ozone_color_theme
Definition: video_driver.h:448
void video_driver_monitor_reset(void)
Definition: video_driver.c:1809
Definition: video_driver.h:405
unsigned hard_sync_frames
Definition: video_driver.h:436
Definition: input_driver.h:132
bool video_driver_init(bool *video_is_threaded)
Definition: video_driver.c:1788
unsigned tex_height
Definition: video_driver.h:265
unsigned tex_h
Definition: video_driver.h:82
rarch_shader_type
Definition: video_shader_parse.h:50
void video_driver_set_texture_enable(bool enable, bool full_screen)
Definition: video_driver.c:1190
float value
Definition: video_driver.h:699
Definition: video_driver.h:696
struct video_viewport * video_viewport_get_custom(void)
Definition: video_driver.c:2369
struct gfx_ctx_input gfx_ctx_input_t
Definition: video_driver.h:320
void ** handle
Definition: video_driver.h:666
void video_driver_destroy(void)
Definition: video_driver.c:1594
bool video_driver_get_viewport_info(struct video_viewport *viewport)
Definition: video_driver.c:2259
void * data
Definition: video_driver.h:253
Definition: video_driver.h:90
Definition: video_driver.h:102
void video_driver_set_texture_frame(const void *frame, bool rgb32, unsigned width, unsigned height, float alpha)
Definition: video_driver.c:1197
void ** input_data
Definition: video_driver.h:672
bool video_context_driver_set_video_mode(gfx_ctx_mode_t *mode_info)
Definition: video_driver.c:3276
const char * video_driver_find_ident(int index)
Definition: video_driver.c:491
Definition: video_driver.h:303
int y
Definition: video_driver.h:689
static const float refresh_rate
Definition: config.def.h:489
bool video_driver_is_threaded(void)
Definition: video_driver.c:511
bool * video_driver_get_threaded(void)
Definition: video_driver.c:542
unsigned pitch
Definition: video_driver.h:663
video_driver_t video_ps2
Definition: ps2_gfx.c:401
struct video_shader * data
Definition: video_driver.h:317
bool(* image_buffer_init)(void *, const video_info_t *)
Definition: video_driver.h:591
bool msg_bgcolor_enable
Definition: video_driver.h:430
bool enabled
Definition: video_driver.h:157
float font_msg_color_g
Definition: video_driver.h:462
Definition: video_driver.h:283
bool(* mipmap_input)(void *data, unsigned index)
Definition: video_driver.h:238
Definition: video_driver.h:118
float menu_wallpaper_opacity
Definition: video_driver.h:454
void video_monitor_set_refresh_rate(float hz)
Definition: video_driver.c:1289
bool video_driver_get_next_video_out(void)
Definition: video_driver.c:1766
float frame_rate
Definition: video_driver.h:472
bool rgb32
Definition: video_driver.h:378
bool video_shader_driver_get_prev_textures(video_shader_ctx_texture_t *texture)
Definition: video_driver.c:3480
void(* set_video_mode)(void *data, unsigned width, unsigned height, bool fullscreen)
Definition: video_driver.h:715
float menu_footer_opacity
Definition: video_driver.h:457
const void * feedback_info
Definition: video_driver.h:273
Definition: video_driver.h:96
float font_msg_color_b
Definition: video_driver.h:463
uintptr_t video_driver_display_get(void)
Definition: video_driver.c:2679
video_driver_t video_gdi
Definition: gdi_gfx.c:643
float video_driver_get_refresh_rate(void)
Definition: video_driver.c:3766
void video_driver_set_rgba(void)
Definition: video_driver.c:1743
Definition: video_driver.h:155
Definition: video_driver.h:109
bool(* get_current_software_framebuffer)(void *data, struct retro_framebuffer *framebuffer)
Definition: video_driver.h:746
bool(* cb_get_metrics)(void *data, enum display_metric_types type, float *value)
Definition: video_driver.h:494
bool video_driver_is_hw_context(void)
Definition: video_driver.c:2134
void(* set_aspect_ratio)(void *data, unsigned aspectratio_index)
Definition: video_driver.h:730
unsigned custom_vp_full_height
Definition: video_driver.h:452
uint32_t flags
Definition: video_driver.h:627
const char * vertex
Definition: video_driver.h:148
Definition: video_driver.h:77
bool battery_level_enable
Definition: video_driver.h:423
void video_driver_set_video_cache_context_ack(void)
Definition: video_driver.c:2181
float(* get_refresh_rate)(void *)
Definition: video_driver.h:539
Definition: video_driver.h:638
void video_driver_set_aspect_ratio(void)
Definition: video_driver.c:1814
struct video_info video_info_t
bool video_driver_get_current_software_framebuffer(struct retro_framebuffer *fb)
Definition: video_driver.c:2233
unsigned width
Definition: video_driver.h:654
video_driver_t video_vga
Definition: vga_gfx.c:430
void video_driver_save_settings(config_file_t *conf)
Definition: video_driver.c:2083
void video_driver_destroy_data(void)
Definition: video_driver.c:1796
signed short int16_t
Definition: stdint.h:122
unsigned idx
Definition: video_driver.h:311
float xmb_alpha_factor
Definition: video_driver.h:464
void(* get_video_size)(void *, unsigned *, unsigned *)
Definition: video_driver.h:537
static const unsigned char msg[]
Definition: ccm.c:375
struct gfx_ctx_size gfx_ctx_size_t
video_driver_t video_null
Definition: nullgfx.c:123
void video_driver_unset_rgba(void)
Definition: video_driver.c:1750
int custom_vp_x
Definition: video_driver.h:432
gfx_ctx_proc_t(* get_proc_address)(const char *)
Definition: video_driver.h:587
Definition: video_shader_parse.h:86
Definition: video_driver.h:513
struct gfx_ctx_proc_address gfx_ctx_proc_address_t
unsigned monitor_index
Definition: video_driver.h:439
enum gfx_wrap_type type
Definition: video_driver.h:312
void(* set_viewport)(void *data, unsigned width, unsigned height, bool force_full, bool allow_rotate)
Definition: video_driver.h:811
bool video_context_driver_get_ident(gfx_ctx_ident_t *ident)
Definition: video_driver.c:3268
const input_driver_t ** input
Definition: video_driver.h:671
bool(* alive)(void *data)
Definition: video_driver.h:789
void(* get_video_output_next)(void *data)
Definition: video_driver.h:726
bool video_driver_has_windowed(void)
Definition: video_driver.c:3401
const struct retro_hw_render_context_negotiation_interface * video_driver_get_context_negotiation_interface(void)
Definition: video_driver.c:2165
static uint64_t state[MAX_PADS]
Definition: xenon360_input.c:33
void video_driver_unset_stub_frame(void)
Definition: video_driver.c:1622
bool(* get_hw_render_interface)(void *data, const struct retro_hw_render_interface **iface)
Definition: video_driver.h:748
const gfx_ctx_driver_t gfx_ctx_x_egl
Definition: xegl_ctx.c:615
retro_proc_address_t(* get_proc_address)(void *data, const char *sym)
Definition: video_driver.h:729
Definition: video_driver.h:332
texture_filter_type
Definition: video_defines.h:24
video_driver_t video_gl
Definition: gl.c:2636
Definition: video_driver.h:135
bool video_context_driver_set_flags(gfx_ctx_flags_t *flags)
Definition: video_driver.c:3353
Definition: video_coord_array.h:56
bool video_shader_driver_compile_program(struct shader_program_info *program_info)
Definition: video_driver.c:3719
Definition: video_defines.h:59
Definition: video_driver.h:100
Definition: video_driver.h:315
struct video_driver video_driver_t
Definition: libretro.h:2298
void(* set_texture_frame)(void *data, const void *frame, bool rgb32, unsigned width, unsigned height, float alpha)
Definition: video_driver.h:734
struct video_frame_info::@686 osd_stat_params
int custom_vp_y
Definition: video_driver.h:433
Definition: video_driver.h:119
void(* use)(void *data, void *shader_data, unsigned index, bool set_active)
Definition: video_driver.h:223
void(* unload_texture)(void *data, uintptr_t id)
Definition: video_driver.h:714
bool video_shader_driver_filter_type(video_shader_ctx_filter_t *filter)
Definition: video_driver.c:3711
bool(* video_driver_frame_t)(void *data, const void *frame, unsigned width, unsigned height, uint64_t frame_count, unsigned pitch, const char *msg, video_frame_info_t *video_info)
Definition: video_driver.h:755
const void * info
Definition: video_driver.h:271
struct video_viewport video_viewport_t
bool video_shader_driver_deinit(void)
Definition: video_driver.c:3521
void * data
Definition: video_driver.h:152
Definition: libretro.h:2254
float v2
Definition: video_driver.h:198
const char * ident
Definition: video_driver.h:322
Definition: video_driver.h:120
Definition: video_driver.h:130
unsigned(* num_shaders)(void *data)
Definition: video_driver.h:226
void video_driver_apply_state_changes(void)
Definition: video_driver.c:2012
void video_driver_display_set(uintptr_t idx)
Definition: video_driver.c:2684
void video_driver_frame(const void *data, unsigned width, unsigned height, size_t pitch)
Definition: video_driver.c:2395
Definition: video_driver.h:675
uintptr_t(* get_current_framebuffer)(void *data)
Definition: video_driver.h:728
bool video_driver_texture_unload(uintptr_t *id)
Definition: video_driver.c:2718
bool video_driver_get_all_flags(gfx_ctx_flags_t *flags, enum display_flags flag)
Definition: video_driver.c:3333
bool video_context_driver_show_mouse(bool *bool_data)
Definition: video_driver.c:3301
void * context_data
Definition: video_driver.h:501
int x
Definition: video_driver.h:688
bool font_enable
Definition: video_driver.h:419
bool(* filter_type)(void *data, unsigned index, bool *smooth)
Definition: video_driver.h:228
set set set set set set set macro pixldst1 abits if abits op else op endif endm macro pixldst2 abits if abits op else op endif endm macro pixldst4 abits if abits op else op endif endm macro pixldst0 idx
Definition: pixman-arm-neon-asm.h:96
signed int int32_t
Definition: stdint.h:123
Definition: video_driver.h:134
void video_shader_driver_set_parameters(video_shader_ctx_params_t *params)
Definition: video_driver.c:3474
unsigned max_swapchain_images
Definition: video_driver.h:438
Definition: video_driver.h:651
#define RETRO_END_DECLS
Definition: retro_common_api.h:42
struct video_shader_ctx_scale video_shader_ctx_scale_t
Definition: video_driver.h:127
void(* make_current)(bool release)
Definition: video_driver.h:622
bool * smooth
Definition: video_driver.h:306
struct aspect_ratio_elem aspectratio_lut[ASPECT_RATIO_END]
Definition: video_driver.c:237
Definition: video_driver.h:145
bool fullscreen
Definition: video_driver.h:335
struct video_shader_ctx_init::@685 gl
bool(* compile_program)(void *data, unsigned idx, void *program_data, struct shader_program_info *program_info)
Definition: video_driver.h:219
intptr_t v3
Definition: video_driver.h:179
void video_driver_update_viewport(struct video_viewport *vp, bool force_full, bool keep_aspect)
Definition: video_driver.c:1845
GLfloat GLfloat GLfloat alpha
Definition: glext.h:6290
video_driver_t video_xvideo
Definition: xvideo.c:980
Definition: video_shader_parse.h:111
Definition: video_driver.h:630
bool vsync
Definition: video_driver.h:338
void video_context_driver_free(void)
Definition: video_driver.c:3165
gfx_ctx_api
Definition: video_driver.h:86
bool hard_sync
Definition: video_driver.h:411
GLuint index
Definition: glext.h:6671
bool input_menu_swap_ok_cancel_buttons
Definition: video_driver.h:407
void video_driver_set_coords(video_shader_ctx_coords_t *coords)
Definition: video_driver.c:3735
Definition: config_file.h:55
retro_proc_address_t video_driver_get_proc_address(const char *sym)
Definition: video_driver.c:670
void video_driver_set_viewport_config(void)
Definition: video_driver.c:1657
const gfx_ctx_driver_t * video_context_driver_init_first(void *data, const char *ident, enum gfx_ctx_api api, unsigned major, unsigned minor, bool hw_render_ctx, void **ctx_data)
Definition: video_driver.c:3077
const void * video_driver_find_handle(int index)
Definition: video_driver.c:476
const char * ident
Definition: video_driver.h:809
const void * frame
Definition: video_driver.h:660
bool video_driver_set_shader(enum rarch_shader_type type, const char *shader)
Definition: video_driver.c:677
enum text_alignment text_align
Definition: video_driver.h:489
bool is_perfcnt_enable
Definition: video_driver.h:428
const gfx_ctx_driver_t gfx_ctx_opendingux_fbdev
Definition: opendingux_fbdev_ctx.c:266
uint32_t(* get_flags)(void *data)
Definition: video_driver.h:608
display_flags
Definition: video_driver.h:113
unsigned height
Definition: video_driver.h:662
Definition: video_driver.h:277
unsigned index
Definition: video_driver.h:664
update_window_title_cb update_window_title
Definition: video_driver.h:557
const void * data
Definition: video_driver.h:280
const char * fragment
Definition: video_driver.h:149
Definition: video_driver.h:115
void video_driver_set_osd_msg(const char *msg, const void *params, void *font)
Definition: video_driver.c:1182
get_metrics_cb get_metrics
Definition: video_driver.h:547
const video_poke_interface_t * video_driver_get_poke(void)
Definition: video_driver.c:575
float refresh_rate
Definition: video_driver.h:458
Definition: video_driver.h:760
bool(* set_mvp)(void *data, void *shader_data, const void *mat_data)
Definition: video_driver.h:234
video_driver_t video_psp1
Definition: psp1_gfx.c:960
float font_msg_pos_y
Definition: video_driver.h:460
video_driver_t video_sixel
Definition: sixel_gfx.c:651
Definition: video_driver.h:248
const gfx_ctx_driver_t gfx_ctx_wayland
Definition: wayland_ctx.c:1881
const gfx_ctx_driver_t gfx_ctx_gdi
Definition: gdi_ctx.c:347
bool full_screen
Definition: video_driver.h:488
RETRO_BEGIN_DECLS struct video_overlay_interface video_overlay_interface_t
void video_driver_set_context_negotiation_interface(const struct retro_hw_render_context_negotiation_interface *iface)
Definition: video_driver.c:2170
Definition: video_driver.h:686
struct video_shader_ctx_filter video_shader_ctx_filter_t
bool is_file
Definition: video_driver.h:147
bool video_context_driver_find_prev_driver(void)
Definition: video_driver.c:2975
intptr_t v0
Definition: video_driver.h:176
typedefRETRO_BEGIN_DECLS struct rarch_softfilter rarch_softfilter_t
Definition: video_filter.h:29
void video_driver_get_record_status(bool *has_gpu_record, uint8_t **gpu_buf)
Definition: video_driver.c:2211
enum gfx_wrap_type(* wrap_type)(void *data, unsigned index)
Definition: video_driver.h:229
void(* get_video_output_next)(void *)
Definition: video_driver.h:545
void video_driver_hide_mouse(void)
Definition: video_driver.c:1927
Definition: video_driver.h:132
Definition: video_driver.h:108
Definition: video_driver.h:669
bool enable
Definition: video_driver.h:169
void(* set_flags)(void *data, uint32_t flags)
Definition: video_driver.h:610
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
Definition: glext.h:7672
void video_driver_free_hw_context(void)
Definition: video_driver.c:2145
int drop_x
Definition: video_driver.h:483
video_driver_t video_vita2d
Definition: vita2d_gfx.c:962
bool(* read_viewport)(void *data, uint8_t *buffer, bool is_idle)
Definition: video_driver.h:818
const char * path
Definition: video_driver.h:251
void(* get_video_output_prev)(void *data)
Definition: video_driver.h:723
void video_shader_driver_use(video_shader_ctx_info_t *shader_info)
Definition: video_driver.c:3460
unsigned fbo_info_cnt
Definition: video_driver.h:269
Definition: video_driver.h:95
void video_driver_cached_frame_get(const void **data, unsigned *width, unsigned *height, size_t *pitch)
Definition: video_driver.c:1240
GLint GLint GLsizei width
Definition: glext.h:6293
bool video_context_driver_get_video_size(gfx_ctx_mode_t *mode_info)
Definition: video_driver.c:3292
Definition: video_driver.h:645
const gfx_ctx_driver_t gfx_ctx_ps3
Definition: ps3_ctx.c:413
void * data
Definition: video_driver.h:299
intptr_t v1
Definition: video_driver.h:177
bool video_driver_gpu_record_init(unsigned size)
Definition: video_driver.c:2219
unsigned crt_switch_resolution
Definition: video_driver.h:440
Definition: video_driver.h:131
const gfx_ctx_driver_t gfx_ctx_osmesa
Definition: osmesa_ctx.c:392
void video_driver_display_type_set(enum rarch_display_type type)
Definition: video_driver.c:2674
void(* get_video_output_prev)(void *)
Definition: video_driver.h:543
bool video_driver_texture_load(void *data, enum texture_filter_type filter_type, uintptr_t *id)
Definition: video_driver.c:2704
bool video_context_driver_get_metrics(gfx_ctx_metrics_t *metrics)
Definition: video_driver.c:3209
const char * combined
Definition: video_driver.h:150
bool video_shader_driver_init(video_shader_ctx_init_t *init)
Definition: video_driver.c:3644
GLuint framebuffer
Definition: glext.h:7662
enum gfx_ctx_api(* get_api)(void *data)
Definition: video_driver.h:523
enum retro_pixel_format video_driver_get_pixel_format(void)
Definition: video_driver.c:1409
bool video_driver_cached_frame_has_valid_framebuffer(void)
Definition: video_driver.c:3412
uint32_t color
Definition: video_driver.h:487
shader_program_type
Definition: video_driver.h:138
bool video_shader_driver_mipmap_input(unsigned *index)
Definition: video_driver.c:3684
void video_driver_get_size(unsigned *width, unsigned *height)
Definition: video_driver.c:1253
Definition: video_driver.h:116
void video_driver_set_title_buf(void)
Definition: video_driver.c:2267
enum gfx_ctx_api video_context_driver_get_api(void)
Definition: video_driver.c:3368
bool(* has_windowed)(void *)
Definition: video_driver.h:575
bool fps_show
Definition: video_driver.h:412
unsigned width
Definition: video_driver.h:661
aspect_ratio
Definition: video_defines.h:32
gfx_wrap_type
Definition: video_shader_parse.h:75
const gfx_ctx_driver_t gfx_ctx_cgl
Definition: cgl_ctx.c:338
video_driver_t video_dispmanx
Definition: dispmanx_gfx.c:690
const gfx_ctx_driver_t switch_ctx
Definition: switch_ctx.c:301
bool video_driver_supports_rgba(void)
Definition: video_driver.c:1757
struct uniform_info::@681::@682 integer
unsigned(* wrap_type_to_enum)(enum gfx_wrap_type type)
Definition: video_driver.h:832
Definition: video_driver.h:97
bool statistics_show
Definition: video_driver.h:413
float aspect
Definition: ffmpeg_core.c:183
struct video_shader_ctx_info video_shader_ctx_info_t
GLsizei const GLfloat * value
Definition: glext.h:6709
bool xmb_shadows_enable
Definition: video_driver.h:422
Definition: metal_common.m:516
struct retro_system_av_info * video_viewport_get_system_av_info(void)
Definition: video_driver.c:2364
Definition: video_driver.h:260
void video_driver_reset_custom_viewport(void)
Definition: video_driver.c:1733
unsigned out_width
Definition: video_driver.h:266
void video_driver_set_viewport_core(void)
Definition: video_driver.c:1718
Definition: video_driver.h:705
Definition: video_driver.h:91
bool(* set_shader)(void *data, enum rarch_shader_type type, const char *path)
Definition: video_driver.h:802
float * aspect
Definition: video_driver.h:653
void(* destroy)(void *data)
Definition: video_driver.h:521
bool video_driver_supports_read_frame_raw(void)
Definition: video_driver.c:1650
retro_proc_address_t addr
Definition: video_driver.h:678
void(* bind_hw_render)(void *data, bool enable)
Definition: video_driver.h:613
Definition: video_driver.h:89
Definition: video_driver.h:206
bool video_context_driver_suppress_screensaver(bool *bool_data)
Definition: video_driver.c:3259
const gfx_ctx_driver_t gfx_ctx_mali_fbdev
Definition: mali_fbdev_ctx.c:302
struct retro_hw_render_callback * video_driver_get_hw_context(void)
Definition: video_driver.c:2159
bool video_shader_driver_direct_get_current_shader(video_shader_ctx_t *shader)
Definition: video_driver.c:3510
video_driver_t video_d3d10
Definition: d3d10.c:1655
video_driver_t video_d3d12
Definition: d3d12.c:1816
unsigned idx
Definition: video_driver.h:151
void video_shader_driver_set_parameter(struct uniform_info *param)
Definition: video_driver.c:3467
Definition: video_driver.h:681
uintptr_t * unsigned_integerv
Definition: video_driver.h:192
video_driver_t video_xshm
Definition: xshm_gfx.c:248
bool video_context_driver_get_proc_address(gfx_ctx_proc_address_t *proc)
Definition: video_driver.c:3199
void * shader_data
Definition: video_driver.h:502
uint64_t frame_count
Definition: video_driver.h:470
bool video_driver_supports_recording(void)
Definition: video_driver.c:1635
unsigned idx
Definition: video_driver.h:285
bool video_context_driver_get_video_output_size(gfx_ctx_size_t *size_data)
Definition: video_driver.c:3173
unsigned idx
Definition: video_driver.h:293
bool post_filter_record
Definition: video_driver.h:416
void(* check_window)(void *, bool *, bool *, unsigned *, unsigned *, bool)
Definition: video_driver.h:561
struct video_shader_ctx_init video_shader_ctx_init_t
uintptr_t v0
Definition: video_driver.h:186
video_driver_t video_ctr
Definition: ctr_gfx.c:1205
void(* apply_state_changes)(void *data)
Definition: video_driver.h:731
void(* init_menu_shaders)(void *data)
Definition: video_driver.h:209
void(* poke_interface)(void *data, const video_poke_interface_t **iface)
Definition: video_driver.h:831
bool video_driver_find_driver(void)
Definition: video_driver.c:1939
bool framecount_show
Definition: video_driver.h:414
void * video_driver_get_ptr(bool force_nonthreaded_data)
Definition: video_driver.c:560
intptr_t v2
Definition: video_driver.h:178
float menu_header_opacity
Definition: video_driver.h:456
enum rarch_shader_type type
Definition: video_driver.h:242
unsigned type
Definition: video_driver.h:161
intptr_t * integerv
Definition: video_driver.h:182
uintptr_t parent
Definition: video_driver.h:402
Definition: video4linux2.c:51
const gfx_ctx_driver_t gfx_ctx_khr_display
Definition: khr_display_ctx.c:236
bool video_driver_get_prev_video_out(void)
Definition: video_driver.c:1777
bool * resize
Definition: video_driver.h:633
bool video_context_driver_init_image_buffer(const video_info_t *data)
Definition: video_driver.c:3110
struct video_shader_ctx_coords video_shader_ctx_coords_t
void video_driver_cached_frame_set(const void *data, unsigned width, unsigned height, size_t pitch)
Definition: video_driver.c:1230
GLbitfield flags
Definition: glext.h:7828
bool force_aspect
Definition: video_driver.h:342
bool video_shader_driver_scale(video_shader_ctx_scale_t *scaler)
Definition: video_driver.c:3689
unsigned height
Definition: video_driver.h:443
bool video_driver_get_video_output_size(unsigned *width, unsigned *height)
Definition: video_driver.c:1173
float * value
Definition: video_driver.h:648
void(* swap_interval)(void *data, int)
Definition: video_driver.h:530
const char * config_get_video_driver_options(void)
Definition: video_driver.c:506
bool video_driver_is_video_cache_context_ack(void)
Definition: video_driver.c:2191
void(* viewport_info)(void *data, struct video_viewport *vp)
Definition: video_driver.h:815
struct uniform_info::@681::@683 unsigned_integer
unsigned custom_vp_width
Definition: video_driver.h:449
unsigned xmb_color_theme
Definition: video_driver.h:445
unsigned height
Definition: video_driver.h:356
const gfx_ctx_driver_t gfx_ctx_sixel
Definition: sixel_ctx.c:178
const shader_backend_t shader_null_backend
Definition: shader_null.c:78
bool fullscreen
Definition: video_driver.h:642
bool * quit
Definition: video_driver.h:632
rarch_softfilter_t * video_driver_frame_filter_get_ptr(void)
Definition: video_driver.c:1404
void(* swap_buffers)(void *, void *)
Definition: video_driver.h:579
unsigned width
Definition: video_driver.h:640
bool video_context_driver_input_driver(gfx_ctx_input_t *inp)
Definition: video_driver.c:3245
Definition: video_driver.h:99
bool(* get_feedback_pass)(void *data, unsigned *pass)
Definition: video_driver.h:237
enum display_metric_types type
Definition: video_driver.h:647
void(* set_nonblock_state)(void *data, bool toggle)
Definition: video_driver.h:786
bool video_driver_set_rotation(unsigned rotation)
Definition: video_driver.c:1146
void(* cb_update_window_title)(void *, void *)
Definition: video_driver.h:492
float drop_alpha
Definition: video_driver.h:485
void * handle_data
Definition: video_driver.h:279
bool(* video_driver_cb_has_focus)(void)
Definition: video_driver.c:133
unsigned __int64 uint64_t
Definition: stdint.h:136
float menu_framebuffer_opacity
Definition: video_driver.h:455
bool(* suppress_screensaver)(void *data, bool enable)
Definition: video_driver.h:572
struct video_shader_ctx_ident video_shader_ctx_ident_t
const shader_backend_t gl_cg_backend
Definition: shader_gl_cg.c:1281
const gfx_ctx_driver_t orbis_ctx
Definition: orbis_ctx.c:271
struct uniform_info::@681::@684 f
unsigned char uint8_t
Definition: stdint.h:124
float font_msg_pos_x
Definition: video_driver.h:459
int32_t count
Definition: video_driver.h:160
unsigned int uint32_t
Definition: stdint.h:126
set_resize_cb set_resize
Definition: video_driver.h:566
video_driver_t video_gx
Definition: gx_gfx.c:1662
void(* cb_swap_buffers)(void *, void *)
Definition: video_driver.h:493
const gfx_ctx_driver_t gfx_ctx_x
Definition: x_ctx.c:1228
struct gfx_ctx_ident gfx_ctx_ident_t
unsigned input_scale
Definition: video_driver.h:400
uintptr_t v1
Definition: video_driver.h:187
bool(* has_windowed)(void *data)
Definition: video_driver.h:798
void video_driver_free(void)
Definition: video_driver.c:1801
bool video_shader_driver_get_current_shader(video_shader_ctx_t *shader)
Definition: video_driver.c:3498
void video_driver_get_window_title(char *buf, unsigned len)
Definition: video_driver.c:2934
unsigned(* get_prev_textures)(void *data)
Definition: video_driver.h:236
void video_viewport_get_scaled_integer(struct video_viewport *vp, unsigned width, unsigned height, float aspect_ratio, bool keep_aspect)
Definition: video_driver.c:2296
bool(* image_buffer_write)(void *, const void *frame, unsigned width, unsigned height, unsigned pitch, bool rgb32, unsigned index, void **image_handle)
Definition: video_driver.h:597
void * data
Definition: video_driver.h:294
const char * sym
Definition: video_driver.h:677
Definition: libretro.h:1961
Definition: video_driver.h:141
uint32_t idx
Definition: video_driver.h:167
struct gfx_ctx_flags gfx_ctx_flags_t
void video_driver_get_status(uint64_t *frame_count, bool *is_alive, bool *is_focused)
Definition: video_driver.c:2943
GLint GLint GLsizei GLsizei height
Definition: glext.h:6293
bool input_driver_nonblock_state
Definition: video_driver.h:408
video_driver_t video_sdl
Definition: sdl_gfx.c:577
bool video_driver_is_video_cache_context(void)
Definition: video_driver.c:2176
Definition: video_driver.h:133
GLsizei GLenum const GLvoid GLuint GLsizei GLfloat * metrics
Definition: glext.h:12652
Definition: video_driver.h:140
bool video_driver_is_stub_frame(void)
Definition: video_driver.c:1630
set set set set set set set macro pixldst1 abits if abits op else op endif endm macro pixldst2 abits if abits op else op endif endm macro pixldst4 abits if abits op else op endif endm macro pixldst0 abits op endm macro pixldst3 mem_operand op endm macro pixldst30 mem_operand op endm macro pixldst abits if abits elseif abits elseif abits elseif abits elseif abits pixldst0 abits else pixldst0 abits pixldst0 abits pixldst0 abits pixldst0 abits endif elseif abits else pixldst0 abits pixldst0 abits endif elseif abits else error unsupported bpp *numpix else pixst endif endm macro pixld1_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl else error unsupported endif endm macro pixld2_s mem_operand if mov asr add asl add asl mov asr sub UNIT_X add asl mov asr add asl add asl mov asr add UNIT_X add asl else pixld1_s mem_operand pixld1_s mem_operand endif endm macro pixld0_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl endif endm macro pixld_s_internal mem_operand if mem_operand pixld2_s mem_operand pixdeinterleave basereg elseif mem_operand elseif mem_operand elseif mem_operand elseif mem_operand pixld0_s mem_operand else pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else error unsupported mem_operand if bpp mem_operand endif endm macro vuzp8 reg2 vuzp d d ®2 endm macro vzip8 reg2 vzip d d ®2 endm macro pixdeinterleave basereg basereg basereg basereg basereg endif endm macro pixinterleave basereg basereg basereg basereg basereg endif endm macro PF boost_increment endif if endif PF tst PF addne PF subne PF cmp ORIG_W if endif if endif if endif PF subge ORIG_W PF subges if endif if endif if endif endif endm macro cache_preload_simple endif if dst_r_bpp pld [DST_R, #(PREFETCH_DISTANCE_SIMPLE *dst_r_bpp/8)] endif if mask_bpp pld init[MASK, #(PREFETCH_DISTANCE_SIMPLE *mask_bpp/8)] endif endif endm macro fetch_mask_pixblock pixld mask_basereg pixblock_size MASK endm macro ensure_destination_ptr_alignment process_pixblock_tail_head if beq irp local skip1 beq endif SRC MASK if dst_r_bpp DST_R else add endif PF add sub src_basereg pixdeinterleave mask_basereg pixdeinterleave dst_r_basereg process_pixblock_head pixblock_size cache_preload_simple process_pixblock_tail pixinterleave dst_w_basereg irp beq endif process_pixblock_tail_head tst beq irp if pixblock_size chunk_size tst beq pixld_src SRC pixld MASK if DST_R else pixld DST_R endif if src_basereg pixdeinterleave mask_basereg pixdeinterleave dst_r_basereg process_pixblock_head if pixblock_size cache_preload_simple endif process_pixblock_tail pixinterleave dst_w_basereg irp if pixblock_size chunk_size tst beq if DST_W else pixst DST_W else mov ORIG_W endif add lsl if lsl endif if lsl endif lsl endif lsl endif lsl endif subs mov DST_W if regs_shortage str endif bge start_of_loop_label endm macro generate_composite_function
Definition: pixman-arm-neon-asm.h:600
struct video_shader_ctx_mvp video_shader_ctx_mvp_t
const void * matrix
Definition: video_driver.h:300
float v1
Definition: video_driver.h:197
unsigned full_height
Definition: video_driver.h:693
bool timedate_enable
Definition: video_driver.h:424
struct video_shader_ctx_wrap video_shader_ctx_wrap_t
bool video_context_driver_bind_hw_render(bool *enable)
void * video_driver_read_frame_raw(unsigned *width, unsigned *height, size_t *pitch)
Definition: video_driver.c:1215
uintptr_t v2
Definition: video_driver.h:188
bool video_context_driver_translate_aspect(gfx_ctx_aspect_t *aspect)
Definition: video_driver.c:3154
const void * fbo_info
Definition: video_driver.h:274
unsigned aspect_ratio_idx
Definition: video_driver.h:437