This should avoid C++ fail including this header. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>tags/11.1-branchpoint
| @@ -944,29 +944,5 @@ static inline bool r600_can_read_depth(struct r600_texture *rtex) | |||
| #define V_028A6C_OUTPRIM_TYPE_LINESTRIP 1 | |||
| #define V_028A6C_OUTPRIM_TYPE_TRISTRIP 2 | |||
| static inline unsigned r600_conv_prim_to_gs_out(unsigned mode) | |||
| { | |||
| static const int prim_conv[] = { | |||
| [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)); | |||
| return prim_conv[mode]; | |||
| } | |||
| unsigned r600_conv_prim_to_gs_out(unsigned mode); | |||
| #endif | |||
| @@ -124,6 +124,31 @@ static unsigned r600_conv_pipe_prim(unsigned prim) | |||
| return prim_conv[prim]; | |||
| } | |||
| unsigned r600_conv_prim_to_gs_out(unsigned mode) | |||
| { | |||
| static const int prim_conv[] = { | |||
| [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)); | |||
| return prim_conv[mode]; | |||
| } | |||
| /* common state between evergreen and r600 */ | |||
| static void r600_bind_blend_state_internal(struct r600_context *rctx, | |||