[Mesa-dev] [PATCH] r600: port si_conv_prim_to_gs_out from radeonsi
Glenn Kennard
glenn.kennard at gmail.com
Fri Aug 28 05:04:22 PDT 2015
On Fri, 28 Aug 2015 02:47:44 +0200, Dave Airlie <airlied at gmail.com> wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> This code we broken by the tess merge, and I totally missed it
was broken
> until now. I'm not sure this fixes anything but it stops the assert.
>
> Cc: "11.0" <mesa-stable at lists.freedesktop.org>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
> src/gallium/drivers/r600/r600_pipe.h | 31
> ++++++++++++++++---------------
> 1 file changed, 16 insertions(+), 15 deletions(-)
>
> diff --git a/src/gallium/drivers/r600/r600_pipe.h
> b/src/gallium/drivers/r600/r600_pipe.h
> index 384ba80..3247aba 100644
> --- a/src/gallium/drivers/r600/r600_pipe.h
> +++ b/src/gallium/drivers/r600/r600_pipe.h
> @@ -939,21 +939,22 @@ static inline bool r600_can_read_depth(struct
> r600_texture *rtex)
> static inline unsigned r600_conv_prim_to_gs_out(unsigned mode)
> {
> static const int prim_conv[] = {
> - V_028A6C_OUTPRIM_TYPE_POINTLIST,
> - V_028A6C_OUTPRIM_TYPE_LINESTRIP,
> - V_028A6C_OUTPRIM_TYPE_LINESTRIP,
> - V_028A6C_OUTPRIM_TYPE_LINESTRIP,
> - V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> - V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> - V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> - V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> - V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> - V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> - V_028A6C_OUTPRIM_TYPE_LINESTRIP,
> - V_028A6C_OUTPRIM_TYPE_LINESTRIP,
> - V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> - V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> - V_028A6C_OUTPRIM_TYPE_TRISTRIP
> + [PIPE_PRIM_POINTS] = V_028A6C_OUTPRIM_TYPE_POINTLIST,
> + [PIPE_PRIM_LINES] = V_028A6C_OUTPRIM_TYPE_LINESTRIP,
> + [PIPE_PRIM_LINE_LOOP] = V_028A6C_OUTPRIM_TYPE_LINESTRIP,
> + [PIPE_PRIM_LINE_STRIP] = V_028A6C_OUTPRIM_TYPE_LINESTRIP,
> + [PIPE_PRIM_TRIANGLES] = V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> + [PIPE_PRIM_TRIANGLE_STRIP] = V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> + [PIPE_PRIM_TRIANGLE_FAN] = V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> + [PIPE_PRIM_QUADS] = V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> + [PIPE_PRIM_QUAD_STRIP] = V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> + [PIPE_PRIM_POLYGON] = V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> + [PIPE_PRIM_LINES_ADJACENCY] = V_028A6C_OUTPRIM_TYPE_LINESTRIP,
> + [PIPE_PRIM_LINE_STRIP_ADJACENCY] = V_028A6C_OUTPRIM_TYPE_LINESTRIP,
> + [PIPE_PRIM_TRIANGLES_ADJACENCY] = V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> + [PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = V_028A6C_OUTPRIM_TYPE_TRISTRIP,
> + [PIPE_PRIM_PATCHES] = V_028A6C_OUTPRIM_TYPE_POINTLIST,
> + [R600_PRIM_RECTANGLE_LIST] = V_028A6C_OUTPRIM_TYPE_TRISTRIP
> };
> assert(mode < Elements(prim_conv));
>
A dup of si_conv_prim_to_gs_out(), but probably not worth the hassle of
sharing.
Reviewed-by: Glenn Kennard <glenn.kennard at gmail.com>
More information about the mesa-dev
mailing list