RetroArch/gfx/common/metal/RendererCommon.h
Stuart Carnie 367c15f488 feat(Metal): font rendering
* FPS and other OSD messages render correctly
* add autoreleasepool around entire render loop to avoid memory leaks
2018-06-23 23:54:23 -07:00

47 lines
1002 B
Objective-C

//
// RendererCommon.h
// MetalRenderer
//
// Created by Stuart Carnie on 6/3/18.
// Copyright © 2018 Stuart Carnie. All rights reserved.
//
#ifndef RendererCommon_h
#define RendererCommon_h
#import <Foundation/Foundation.h>
// TODO(sgc): implement triple buffering
/*! @brief maximum inflight frames */
#define MAX_INFLIGHT 1
#pragma mark - Pixel Formats
typedef NS_ENUM(NSUInteger, RPixelFormat) {
RPixelFormatInvalid,
/* 16-bit formats */
RPixelFormatBGRA4Unorm,
RPixelFormatB5G6R5Unorm,
RPixelFormatBGRA8Unorm,
RPixelFormatBGRX8Unorm, // RetroArch XRGB
RPixelFormatCount,
};
extern NSUInteger RPixelFormatToBPP(RPixelFormat format);
extern NSString *NSStringFromRPixelFormat(RPixelFormat format);
typedef NS_ENUM(NSUInteger, RTextureFilter) {
RTextureFilterNearest,
RTextureFilterLinear,
RTextureFilterCount,
};
extern matrix_float4x4 matrix_proj_ortho(float left, float right, float top, float bottom);
#endif /* RendererCommon_h */