zink: set new point/line caps

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13676>
This commit is contained in:
Mike Blumenkrantz
2021-11-04 10:33:58 -04:00
committed by Marge Bot
parent 8bbebc7e9f
commit fbd61d2b02
2 changed files with 19 additions and 5 deletions

View File

@@ -698,13 +698,27 @@ zink_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
if (!screen->info.feats.features.wideLines)
return 1.0f;
return MAX2(screen->info.props.limits.lineWidthRange[0], 0.01);
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
if (!screen->info.feats.features.largePoints)
return 1.0f;
return MAX2(screen->info.props.limits.pointSizeRange[0], 0.01);
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
if (!screen->info.feats.features.wideLines)
return 0.1f;
return screen->info.props.limits.lineWidthGranularity;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
if (!screen->info.feats.features.largePoints)
return 0.1f;
return screen->info.props.limits.pointSizeGranularity;
case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA:

View File

@@ -139,8 +139,8 @@ void st_init_limits(struct pipe_screen *screen,
c->MaxPointSizeAA =
_maxf(1.0f, screen->get_paramf(screen, PIPE_CAPF_MAX_POINT_SIZE_AA));
c->MinPointSize = screen->get_paramf(screen, PIPE_CAPF_MIN_POINT_SIZE);
c->MinPointSizeAA = screen->get_paramf(screen, PIPE_CAPF_MIN_POINT_SIZE_AA);
c->MinPointSize = MAX2(screen->get_paramf(screen, PIPE_CAPF_MIN_POINT_SIZE), 0.01);
c->MinPointSizeAA = MAX2(screen->get_paramf(screen, PIPE_CAPF_MIN_POINT_SIZE_AA), 0.01);
c->PointSizeGranularity = screen->get_paramf(screen, PIPE_CAPF_POINT_SIZE_GRANULARITY);
c->MaxTextureMaxAnisotropy =