r600: Fix maximum line width
authorGert Wollny <gert.wollny@collabora.com>
Sat, 28 Dec 2019 14:35:13 +0000 (15:35 +0100)
committerGert Wollny <gw.fossdev@gmail.com>
Sat, 4 Jan 2020 16:22:40 +0000 (16:22 +0000)
There are only 13 bits available to store the line width, hence
it can't be larger than 8191

v2: Add Fixes tag

v3: - Unify value since for all r600 archs (Konstantin Kharlamov)
    - Correct the value the line width value is emitted as a 12.4
      fixed point value of 1/2 line width on r600-r700 and as
      8 * line width on Evergreen and newer.

Fixes: 06bfb2d28f7adca7edc6be9c210a7a3583023652
    r600: fork and import gallium/radeon

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Konstantin Kharlamov <hi-angel@yandex.ru>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3286>

src/gallium/drivers/r600/r600_pipe_common.c

index b2b832903d31f434877e0e489b8e02ded05ba4d7..91607ca71ea897b7288632bf35a37fba7abc1d09 100644 (file)
@@ -817,10 +817,7 @@ static float r600_get_paramf(struct pipe_screen* pscreen,
        case PIPE_CAPF_MAX_LINE_WIDTH_AA:
        case PIPE_CAPF_MAX_POINT_WIDTH:
        case PIPE_CAPF_MAX_POINT_WIDTH_AA:
-               if (rscreen->family >= CHIP_CEDAR)
-                       return 16384.0f;
-               else
-                       return 8192.0f;
+         return 8191.0f;
        case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY:
                return 16.0f;
        case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: