Organize limits;

This commit is contained in:
bjorn 2018-07-14 23:53:41 -07:00
parent 4239bc46ea
commit 89fe9fa894
3 changed files with 18 additions and 18 deletions

View File

@ -244,22 +244,6 @@ void lovrGraphicsSetGammaCorrect(bool gammaCorrect) {
state.gammaCorrect = gammaCorrect; state.gammaCorrect = gammaCorrect;
} }
GraphicsLimits lovrGraphicsGetLimits() {
if (!state.limits.initialized) {
#ifdef EMSCRIPTEN
glGetFloatv(GL_ALIASED_POINT_SIZE_RANGE, state.limits.pointSizes);
#else
glGetFloatv(GL_POINT_SIZE_RANGE, state.limits.pointSizes);
#endif
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &state.limits.textureSize);
glGetIntegerv(GL_MAX_SAMPLES, &state.limits.textureMSAA);
glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &state.limits.textureAnisotropy);
state.limits.initialized = 1;
}
return state.limits;
}
float lovrGraphicsGetLineWidth() { float lovrGraphicsGetLineWidth() {
return state.pipelines[state.pipeline].lineWidth; return state.pipelines[state.pipeline].lineWidth;
} }

View File

@ -52,7 +52,6 @@ typedef struct {
Font* defaultFont; Font* defaultFont;
TextureFilter defaultFilter; TextureFilter defaultFilter;
bool gammaCorrect; bool gammaCorrect;
GraphicsLimits limits;
Mesh* mesh; Mesh* mesh;
float transforms[MAX_TRANSFORMS + INTERNAL_TRANSFORMS][16]; float transforms[MAX_TRANSFORMS + INTERNAL_TRANSFORMS][16];
int transform; int transform;
@ -72,6 +71,7 @@ void lovrGraphicsClear(Color* color, float* depth, int* stencil);
void lovrGraphicsPresent(); void lovrGraphicsPresent();
void lovrGraphicsCreateWindow(int w, int h, bool fullscreen, int msaa, const char* title, const char* icon); void lovrGraphicsCreateWindow(int w, int h, bool fullscreen, int msaa, const char* title, const char* icon);
void lovrGraphicsGetDimensions(int* width, int* height); void lovrGraphicsGetDimensions(int* width, int* height);
GraphicsLimits lovrGraphicsGetLimits();
GraphicsStats lovrGraphicsGetStats(); GraphicsStats lovrGraphicsGetStats();
// State // State
@ -93,7 +93,6 @@ Font* lovrGraphicsGetFont();
void lovrGraphicsSetFont(Font* font); void lovrGraphicsSetFont(Font* font);
bool lovrGraphicsIsGammaCorrect(); bool lovrGraphicsIsGammaCorrect();
void lovrGraphicsSetGammaCorrect(bool gammaCorrect); void lovrGraphicsSetGammaCorrect(bool gammaCorrect);
GraphicsLimits lovrGraphicsGetLimits();
float lovrGraphicsGetLineWidth(); float lovrGraphicsGetLineWidth();
void lovrGraphicsSetLineWidth(float width); void lovrGraphicsSetLineWidth(float width);
float lovrGraphicsGetPointSize(); float lovrGraphicsGetPointSize();

View File

@ -29,6 +29,7 @@ static struct {
uint32_t vertexBuffer; uint32_t vertexBuffer;
uint32_t viewport[4]; uint32_t viewport[4];
bool srgb; bool srgb;
GraphicsLimits limits;
GraphicsStats stats; GraphicsStats stats;
} state; } state;
@ -353,6 +354,22 @@ void gpuPresent() {
memset(&state.stats, 0, sizeof(state.stats)); memset(&state.stats, 0, sizeof(state.stats));
} }
GraphicsLimits lovrGraphicsGetLimits() {
if (!state.limits.initialized) {
#ifdef EMSCRIPTEN
glGetFloatv(GL_ALIASED_POINT_SIZE_RANGE, state.limits.pointSizes);
#else
glGetFloatv(GL_POINT_SIZE_RANGE, state.limits.pointSizes);
#endif
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &state.limits.textureSize);
glGetIntegerv(GL_MAX_SAMPLES, &state.limits.textureMSAA);
glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &state.limits.textureAnisotropy);
state.limits.initialized = 1;
}
return state.limits;
}
GraphicsStats lovrGraphicsGetStats() { GraphicsStats lovrGraphicsGetStats() {
return state.stats; return state.stats;
} }