SSBM Decomp
Loading...
Searching...
No Matches
video.h
Go to the documentation of this file.
1#ifndef _video_h_
2#define _video_h_
3
4#include <platform.h>
5
7
8#include <dolphin/gx/GXEnum.h>
9#include <dolphin/gx/types.h>
10
11#define HSD_VI_XFB_MAX 3
12#define HSD_ANTIALIAS_OVERLAP 4
13#define VI_DISPLAY_PIX_SZ 2
14#define HSD_ANTIALIAS_GARBAGE_SIZE \
15 (640 * HSD_ANTIALIAS_OVERLAP * VI_DISPLAY_PIX_SZ)
16
17typedef void (*HSD_VIGXDrawDoneCallback)(int);
18typedef void (*HSD_VIRetraceCallback)(u32);
19
32
38
46
58
59typedef struct _current {
60 struct _HSD_VIStatus vi;
62} Current;
63
64typedef struct _XFB {
65 void* buffer;
68} XFB;
69
97
99
100void HSD_VIInit(struct _HSD_VIStatus* vi_status, void* xfb0, void* xfb1,
101 void* xfb2);
103void HSD_VISetBlack(bool);
104
111
112int HSD_VIGetXFBDrawEnable(void);
115 HSD_RenderPass rpass);
116
117void HSD_VIGXDrawDone(int arg);
118void HSD_VIGXSetDrawDone(int arg);
119void HSD_VISetXFBWaitDone(int idx);
121void HSD_VIDrawDoneXFB(int idx);
122void HSD_VIWaitXFBFlush(void);
125
126static inline int HSD_VIGetNbXFB(void)
127{
128 return HSD_VIData.nb_xfb;
129}
130
131static inline void* HSD_VIGetXFBPtr(int idx)
132{
133 return HSD_VIData.xfb[idx].buffer;
134}
135
136static inline HSD_VIStatus* HSD_VIGetVIStatus(void)
137{
138 return &HSD_VIData.current.vi;
139}
140
142{
143 return &HSD_VIData.current.vi.rmode;
144}
145
146#endif
GXGamma
Definition GXEnum.h:45
static OSTime buffer
Definition ai.c:22
void cb(s32 param_1, DVDCommandBlock *block)
Definition fstload.c:21
static GXRenderModeObj * rmode
Definition initialize.c:44
unsigned long u32
An unsigned 32-bit integer.
Definition platform.h:26
signed long s32
A signed 32-bit integer.
Definition platform.h:14
unsigned char u8
An unsigned 8-bit integer.
Definition platform.h:20
Definition video.h:59
u8 chg_flag
Definition video.h:61
struct _HSD_VIStatus vi
Definition video.h:60
Definition types.h:30
Definition types.h:14
Definition video.h:75
HSD_VIEFBDrawDispStatus status
Definition video.h:76
Current vi_all
Definition video.h:77
Definition video.h:85
HSD_VIGXDrawDoneCallback cb
Definition video.h:88
s32 waiting
Definition video.h:86
s32 arg
Definition video.h:87
Definition video.h:91
s32 frame_renew
Definition video.h:93
s32 frame_period
Definition video.h:92
Definition video.h:70
XFB xfb[HSD_VI_XFB_MAX]
Definition video.h:73
HSD_VIRetraceCallback post_cb
Definition video.h:83
s32 nb_xfb
Definition video.h:80
HSD_VIRetraceCallback pre_cb
Definition video.h:82
Current current
Definition video.h:71
Definition video.h:47
GXGamma gamma
Definition video.h:51
u8 vf
Definition video.h:50
GXColor clear_clr
Definition video.h:52
GXRenderModeObj rmode
Definition video.h:48
u8 update_clr
Definition video.h:54
u8 update_z
Definition video.h:56
s32 black
Definition video.h:49
u32 clear_z
Definition video.h:53
u8 update_alpha
Definition video.h:55
Definition video.h:64
void * buffer
Definition video.h:65
HSD_VIXFBDrawDispStatus status
Definition video.h:66
Current vi_all
Definition video.h:67
#define HSD_VI_XFB_MAX
Definition video.h:11
HSD_RenderPass
Definition video.h:39
@ HSD_RP_TOPHALF
Definition video.h:41
@ HSD_RP_BOTTOMHALF
Definition video.h:42
@ HSD_RP_OFFSCREEN
Definition video.h:43
@ HSD_RP_NUM
Definition video.h:44
@ HSD_RP_SCREEN
Definition video.h:40
void(* HSD_VIRetraceCallback)(u32)
Definition video.h:18
int HSD_VIGetXFBLastDrawDone(void)
Definition video.c:360
HSD_VIXFBDrawDispStatus
Definition video.h:20
@ HSD_VI_XFB_DRAWDONE
Definition video.h:26
@ HSD_VI_XFB_NONE
Definition video.h:21
@ HSD_VI_XFB_DRAWING
Definition video.h:24
@ HSD_VI_XFB_TERMINATE
Definition video.h:30
@ HSD_VI_XFB_COPYEFB
Definition video.h:29
@ HSD_VI_XFB_DISPLAY
Definition video.h:28
@ HSD_VI_XFB_WAITDONE
Definition video.h:25
@ HSD_VI_XFB_NOUSE
Definition video.h:22
@ HSD_VI_XFB_NEXT
Definition video.h:27
@ HSD_VI_XFB_FREE
Definition video.h:23
void HSD_VIInit(struct _HSD_VIStatus *vi_status, void *xfb0, void *xfb1, void *xfb2)
void HSD_VIWaitXFBFlushNoYield(void)
Definition video.c:350
static int HSD_VIGetNbXFB(void)
Definition video.h:126
void HSD_VISetXFBWaitDone(int idx)
Definition video.c:276
HSD_VIInfo HSD_VIData
Definition video.c:11
HSD_VIGXDrawDoneCallback HSD_VISetUserGXDrawDoneCallback(HSD_VIGXDrawDoneCallback cb)
Definition video.c:54
void HSD_VISetBlack(bool)
Definition video.c:386
void HSD_VIWaitXFBFlush(void)
Definition video.c:339
void HSD_VISetConfigure(GXRenderModeObj *rmode)
Definition video.c:380
static void * HSD_VIGetXFBPtr(int idx)
Definition video.h:131
int HSD_VIWaitXFBDrawEnable(void)
Definition video.c:185
static HSD_VIStatus * HSD_VIGetVIStatus(void)
Definition video.h:136
HSD_VIEFBDrawDispStatus
Definition video.h:33
@ HSD_VI_EFB_TERMINATE
Definition video.h:36
@ HSD_VI_EFB_DRAWDONE
Definition video.h:35
@ HSD_VI_EFB_FREE
Definition video.h:34
void HSD_VIGXDrawDone(int arg)
static GXRenderModeObj * HSD_VIGetRenderMode(void)
Definition video.h:141
void HSD_VICopyEFB2XFBPtr(HSD_VIStatus *vi, void *buffer, HSD_RenderPass rpass)
Definition video.c:211
void HSD_VIDrawDoneXFB(int idx)
Definition video.c:306
void HSD_VIGXSetDrawDone(int arg)
Definition video.c:266
int HSD_VIGetXFBDrawEnable(void)
Definition video.c:162
void HSD_VICopyXFBAsync(HSD_RenderPass rpass)
Definition video.c:291
HSD_VIRetraceCallback HSD_VISetUserPostRetraceCallback(HSD_VIRetraceCallback cb)
Definition video.c:41
HSD_VIRetraceCallback HSD_VISetUserPreRetraceCallback(HSD_VIRetraceCallback cb)
Definition video.c:28
void(* HSD_VIGXDrawDoneCallback)(int)
Definition video.h:17