gallium: add missing point and line CAPs

The returned values are the same as the GL frontend.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13676>
This commit is contained in:
Marek Olšák
2021-11-04 08:47:21 -04:00
committed by Marge Bot
parent b80dca86c3
commit cf9afc7b0c
25 changed files with 216 additions and 0 deletions

View File

@@ -637,10 +637,16 @@ PIPE_CAPF_*
The floating-point capabilities are: The floating-point capabilities are:
* ``PIPE_CAPF_MIN_LINE_WIDTH``: The minimum width of a regular line.
* ``PIPE_CAPF_MIN_LINE_WIDTH_AA``: The minimum width of a smoothed line.
* ``PIPE_CAPF_MAX_LINE_WIDTH``: The maximum width of a regular line. * ``PIPE_CAPF_MAX_LINE_WIDTH``: The maximum width of a regular line.
* ``PIPE_CAPF_MAX_LINE_WIDTH_AA``: The maximum width of a smoothed line. * ``PIPE_CAPF_MAX_LINE_WIDTH_AA``: The maximum width of a smoothed line.
* ``PIPE_CAPF_LINE_WIDTH_GRANULARITY``: The line width is rounded to a multiple of this number.
* ``PIPE_CAPF_MIN_POINT_SIZE``: The minimum width and height of a point.
* ``PIPE_CAPF_MIN_POINT_SIZE_AA``: The minimum width and height of a smoothed point.
* ``PIPE_CAPF_MAX_POINT_SIZE``: The maximum width and height of a point. * ``PIPE_CAPF_MAX_POINT_SIZE``: The maximum width and height of a point.
* ``PIPE_CAPF_MAX_POINT_SIZE_AA``: The maximum width and height of a smoothed point. * ``PIPE_CAPF_MAX_POINT_SIZE_AA``: The maximum width and height of a smoothed point.
* ``PIPE_CAPF_POINT_SIZE_GRANULARITY``: The point size is rounded to a multiple of this number.
* ``PIPE_CAPF_MAX_TEXTURE_ANISOTROPY``: The maximum level of anisotropy that can be * ``PIPE_CAPF_MAX_TEXTURE_ANISOTROPY``: The maximum level of anisotropy that can be
applied to anisotropically filtered textures. applied to anisotropically filtered textures.
* ``PIPE_CAPF_MAX_TEXTURE_LOD_BIAS``: The maximum :term:`LOD` bias that may be applied * ``PIPE_CAPF_MAX_TEXTURE_LOD_BIAS``: The maximum :term:`LOD` bias that may be applied

View File

@@ -862,6 +862,16 @@ agx_get_paramf(struct pipe_screen* pscreen,
enum pipe_capf param) enum pipe_capf param)
{ {
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
return 16.0; /* Off-by-one fixed point 4:4 encoding */ return 16.0; /* Off-by-one fixed point 4:4 encoding */

View File

@@ -411,6 +411,16 @@ crocus_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
const struct intel_device_info *devinfo = &screen->devinfo; const struct intel_device_info *devinfo = &screen->devinfo;
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
if (devinfo->ver >= 6) if (devinfo->ver >= 6)

View File

@@ -331,6 +331,16 @@ d3d12_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
struct d3d12_screen *screen = d3d12_screen(pscreen); struct d3d12_screen *screen = d3d12_screen(pscreen);
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
return 1.0f; /* no clue */ return 1.0f; /* no clue */

View File

@@ -303,6 +303,14 @@ etna_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
struct etna_screen *screen = etna_screen(pscreen); struct etna_screen *screen = etna_screen(pscreen);
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
case PIPE_CAPF_MAX_POINT_SIZE: case PIPE_CAPF_MAX_POINT_SIZE:

View File

@@ -535,6 +535,14 @@ static float
fd_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param) fd_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
{ {
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
/* NOTE: actual value is 127.0f, but this is working around a deqp /* NOTE: actual value is 127.0f, but this is working around a deqp

View File

@@ -498,6 +498,16 @@ static float
i915_get_paramf(struct pipe_screen *screen, enum pipe_capf cap) i915_get_paramf(struct pipe_screen *screen, enum pipe_capf cap)
{ {
switch (cap) { switch (cap) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
FALLTHROUGH; FALLTHROUGH;
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:

View File

@@ -403,6 +403,16 @@ static float
iris_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param) iris_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
{ {
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
return 7.375f; return 7.375f;

View File

@@ -170,6 +170,14 @@ static float
lima_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param) lima_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
{ {
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
case PIPE_CAPF_MAX_POINT_SIZE: case PIPE_CAPF_MAX_POINT_SIZE:

View File

@@ -433,6 +433,14 @@ static float
llvmpipe_get_paramf(struct pipe_screen *screen, enum pipe_capf param) llvmpipe_get_paramf(struct pipe_screen *screen, enum pipe_capf param)
{ {
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
FALLTHROUGH; FALLTHROUGH;
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:

View File

@@ -289,6 +289,14 @@ nv30_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
struct nouveau_object *eng3d = screen->eng3d; struct nouveau_object *eng3d = screen->eng3d;
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
return 10.0; return 10.0;

View File

@@ -516,6 +516,14 @@ static float
nv50_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param) nv50_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
{ {
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
return 10.0f; return 10.0f;

View File

@@ -573,6 +573,14 @@ nvc0_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
const uint16_t class_3d = nouveau_screen(pscreen)->class_3d; const uint16_t class_3d = nouveau_screen(pscreen)->class_3d;
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
return 10.0f; return 10.0f;

View File

@@ -456,6 +456,16 @@ static float
panfrost_get_paramf(struct pipe_screen *screen, enum pipe_capf param) panfrost_get_paramf(struct pipe_screen *screen, enum pipe_capf param)
{ {
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
FALLTHROUGH; FALLTHROUGH;

View File

@@ -406,6 +406,14 @@ static float r300_get_paramf(struct pipe_screen* pscreen,
struct r300_screen* r300screen = r300_screen(pscreen); struct r300_screen* r300screen = r300_screen(pscreen);
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
case PIPE_CAPF_MAX_POINT_SIZE: case PIPE_CAPF_MAX_POINT_SIZE:

View File

@@ -807,6 +807,16 @@ static float r600_get_paramf(struct pipe_screen* pscreen,
enum pipe_capf param) enum pipe_capf param)
{ {
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
case PIPE_CAPF_MAX_POINT_SIZE: case PIPE_CAPF_MAX_POINT_SIZE:

View File

@@ -354,6 +354,14 @@ static int si_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
static float si_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param) static float si_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
{ {
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
/* This depends on the quant mode, though the precise interactions /* This depends on the quant mode, though the precise interactions

View File

@@ -348,6 +348,14 @@ static float
softpipe_get_paramf(struct pipe_screen *screen, enum pipe_capf param) softpipe_get_paramf(struct pipe_screen *screen, enum pipe_capf param)
{ {
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
FALLTHROUGH; FALLTHROUGH;
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:

View File

@@ -153,6 +153,14 @@ svga_get_paramf(struct pipe_screen *screen, enum pipe_capf param)
struct svga_winsys_screen *sws = svgascreen->sws; struct svga_winsys_screen *sws = svgascreen->sws;
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
return svgascreen->maxLineWidth; return svgascreen->maxLineWidth;
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:

View File

@@ -365,6 +365,14 @@ static float
swr_get_paramf(struct pipe_screen *screen, enum pipe_capf param) swr_get_paramf(struct pipe_screen *screen, enum pipe_capf param)
{ {
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
case PIPE_CAPF_MAX_POINT_SIZE: case PIPE_CAPF_MAX_POINT_SIZE:

View File

@@ -291,6 +291,16 @@ static float
v3d_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param) v3d_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
{ {
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
return V3D_MAX_LINE_WIDTH; return V3D_MAX_LINE_WIDTH;

View File

@@ -216,6 +216,16 @@ static float
vc4_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param) vc4_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
{ {
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
return 32; return 32;

View File

@@ -459,6 +459,14 @@ virgl_get_paramf(struct pipe_screen *screen, enum pipe_capf param)
{ {
struct virgl_screen *vscreen = virgl_screen(screen); struct virgl_screen *vscreen = virgl_screen(screen);
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
return vscreen->caps.caps.v2.max_aliased_line_width; return vscreen->caps.caps.v2.max_aliased_line_width;
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:

View File

@@ -696,6 +696,16 @@ zink_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param)
struct zink_screen *screen = zink_screen(pscreen); struct zink_screen *screen = zink_screen(pscreen);
switch (param) { switch (param) {
case PIPE_CAPF_MIN_LINE_WIDTH:
case PIPE_CAPF_MIN_LINE_WIDTH_AA:
case PIPE_CAPF_MIN_POINT_SIZE:
case PIPE_CAPF_MIN_POINT_SIZE_AA:
return 1;
case PIPE_CAPF_POINT_SIZE_GRANULARITY:
case PIPE_CAPF_LINE_WIDTH_GRANULARITY:
return 0.1;
case PIPE_CAPF_MAX_LINE_WIDTH: case PIPE_CAPF_MAX_LINE_WIDTH:
case PIPE_CAPF_MAX_LINE_WIDTH_AA: case PIPE_CAPF_MAX_LINE_WIDTH_AA:
if (!screen->info.feats.features.wideLines) if (!screen->info.feats.features.wideLines)

View File

@@ -1034,10 +1034,16 @@ enum pipe_endian
*/ */
enum pipe_capf enum pipe_capf
{ {
PIPE_CAPF_MIN_LINE_WIDTH,
PIPE_CAPF_MIN_LINE_WIDTH_AA,
PIPE_CAPF_MAX_LINE_WIDTH, PIPE_CAPF_MAX_LINE_WIDTH,
PIPE_CAPF_MAX_LINE_WIDTH_AA, PIPE_CAPF_MAX_LINE_WIDTH_AA,
PIPE_CAPF_LINE_WIDTH_GRANULARITY,
PIPE_CAPF_MIN_POINT_SIZE,
PIPE_CAPF_MIN_POINT_SIZE_AA,
PIPE_CAPF_MAX_POINT_SIZE, PIPE_CAPF_MAX_POINT_SIZE,
PIPE_CAPF_MAX_POINT_SIZE_AA, PIPE_CAPF_MAX_POINT_SIZE_AA,
PIPE_CAPF_POINT_SIZE_GRANULARITY,
PIPE_CAPF_MAX_TEXTURE_ANISOTROPY, PIPE_CAPF_MAX_TEXTURE_ANISOTROPY,
PIPE_CAPF_MAX_TEXTURE_LOD_BIAS, PIPE_CAPF_MAX_TEXTURE_LOD_BIAS,
PIPE_CAPF_MIN_CONSERVATIVE_RASTER_DILATE, PIPE_CAPF_MIN_CONSERVATIVE_RASTER_DILATE,