Polyphase Game Engine
Loading...
Searching...
No Matches
GraphicsConstants.h
Go to the documentation of this file.
1#pragma once
2
3#define TEXT_VERTS_PER_CHAR 6
4
5#if API_VULKAN
6#define MAX_FRAMES 2
7#define MAX_MESH_VERTEX_COUNT 4294967295
8#define SYNC_ON_END_FRAME 1
9#define SUPPORTS_SECOND_SCREEN 0
10#define MAX_GPU_BONES 64
11#elif API_GX
12#define MAX_FRAMES 1
13#define MAX_MESH_VERTEX_COUNT 65535
14#define SYNC_ON_END_FRAME 1
15#define SUPPORTS_SECOND_SCREEN 0
16#define MAX_GPU_BONES 10
17#elif API_C3D
18#define MAX_FRAMES 2
19#define MAX_MESH_VERTEX_COUNT 65535
20#define SYNC_ON_END_FRAME 0
21#define SUPPORTS_SECOND_SCREEN 1
22#define MAX_GPU_BONES 16
23#elif API_PSPGU
24// PSP (sceGu): 65535-vertex limit per draw call (16-bit indices), 8-bone
25// matrices fit in the VFPU vector registers used for hardware skinning,
26// single 480×272 screen, single-buffered front-and-back with vblank sync.
27#define MAX_FRAMES 1
28#define MAX_MESH_VERTEX_COUNT 65535
29#define SYNC_ON_END_FRAME 1
30#define SUPPORTS_SECOND_SCREEN 0
31#define MAX_GPU_BONES 8
32#elif defined(POLYPHASE_PLATFORM_ADDON)
33// Fallback for addon-provided platforms that haven't set an API_* macro:
34// pick conservative limits. Real addons should `#define API_<NAME>` and
35// add an arm above.
36#define MAX_FRAMES 1
37#define MAX_MESH_VERTEX_COUNT 65535
38#define SYNC_ON_END_FRAME 1
39#define SUPPORTS_SECOND_SCREEN 0
40#define MAX_GPU_BONES 8
41#endif