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;
}
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() {
return state.pipelines[state.pipeline].lineWidth;
}

View File

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

View File

@ -29,6 +29,7 @@ static struct {
uint32_t vertexBuffer;
uint32_t viewport[4];
bool srgb;
GraphicsLimits limits;
GraphicsStats stats;
} state;
@ -353,6 +354,22 @@ void gpuPresent() {
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() {
return state.stats;
}