[Y2R] Bunch of service calls

This commit is contained in:
wheremyfoodat 2023-04-24 02:35:48 +03:00
parent 6c2cfaaa22
commit dbe504fff9
2 changed files with 197 additions and 1 deletions

View file

@ -37,8 +37,29 @@ class Y2RService {
RGB565 = 3
};
// Clockwise rotation
enum class Rotation : u32 {
None = 0,
Rotate90 = 1,
Rotate180 = 2,
Rotate270 = 3
};
enum class BlockAlignment : u32 {
Line = 0, // Output buffer's pixels are arranged linearly. Used when outputting to the framebuffer.
Block8x8 = 1, // Output buffer's pixels are morton swizzled. Used when outputting to a GPU texture.
};
InputFormat inputFmt;
OutputFormat outputFmt;
Rotation rotation;
BlockAlignment alignment;
bool spacialDithering;
bool temporalDithering;
u16 alpha;
u16 inputLineWidth;
u16 inputLines;
// Service commands
void driverInitialize(u32 messagePointer);
@ -46,8 +67,21 @@ class Y2RService {
void pingProcess(u32 messagePointer);
void setTransferEndInterrupt(u32 messagePointer);
void getTransferEndEvent(u32 messagePointer);
void setAlpha(u32 messagePointer);
void setBlockAlignment(u32 messagePointer);
void setInputFormat(u32 messagePointer);
void setInputLineWidth(u32 messagePointer);
void setInputLines(u32 messagePointer);
void setOutputFormat(u32 messagePointer);
void setReceiving(u32 messagePointer);
void setRotation(u32 messagePointer);
void setSendingY(u32 messagePointer);
void setSendingU(u32 messagePointer);
void setSendingV(u32 messagePointer);
void setSpacialDithering(u32 messagePointer);
void setStandardCoeff(u32 messagePointer);
void setTemporalDithering(u32 messagePointer);
void stopConversion(u32 messagePointer);
public: