render_base: Add a struct describing framebuffer metadata.

This commit is contained in:
bunnei 2018-01-10 22:26:00 -05:00
parent 866e66dc31
commit 236d463c52
1 changed files with 26 additions and 0 deletions

View File

@ -15,6 +15,32 @@ public:
/// Used to reference a framebuffer /// Used to reference a framebuffer
enum kFramebuffer { kFramebuffer_VirtualXFB = 0, kFramebuffer_EFB, kFramebuffer_Texture }; enum kFramebuffer { kFramebuffer_VirtualXFB = 0, kFramebuffer_EFB, kFramebuffer_Texture };
/// Struct describing framebuffer metadata
struct FramebufferInfo {
enum class PixelFormat : u32 {
ABGR8 = 1,
};
/**
* Returns the number of bytes per pixel.
*/
static u32 BytesPerPixel(PixelFormat format) {
switch (format) {
case PixelFormat::ABGR8:
return 4;
}
UNREACHABLE();
}
VAddr address;
u32 offset;
u32 width;
u32 height;
u32 stride;
PixelFormat pixel_format;
};
virtual ~RendererBase() {} virtual ~RendererBase() {}
/// Swap buffers (render frame) /// Swap buffers (render frame)