xref: /aosp_15_r20/external/mesa3d/src/gallium/drivers/freedreno/a4xx/fd4_rasterizer.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright © 2014 Rob Clark <[email protected]>
3  * SPDX-License-Identifier: MIT
4  *
5  * Authors:
6  *    Rob Clark <[email protected]>
7  */
8 
9 #ifndef FD4_RASTERIZER_H_
10 #define FD4_RASTERIZER_H_
11 
12 #include "pipe/p_context.h"
13 #include "pipe/p_state.h"
14 
15 struct fd4_rasterizer_stateobj {
16    struct pipe_rasterizer_state base;
17    uint32_t gras_su_point_minmax;
18    uint32_t gras_su_point_size;
19    uint32_t gras_su_poly_offset_scale;
20    uint32_t gras_su_poly_offset_offset;
21    uint32_t gras_su_poly_offset_clamp;
22 
23    uint32_t gras_su_mode_control;
24    uint32_t gras_cl_clip_cntl;
25    uint32_t pc_prim_vtx_cntl;
26    uint32_t pc_prim_vtx_cntl2;
27 };
28 
29 static inline struct fd4_rasterizer_stateobj *
fd4_rasterizer_stateobj(struct pipe_rasterizer_state * rast)30 fd4_rasterizer_stateobj(struct pipe_rasterizer_state *rast)
31 {
32    return (struct fd4_rasterizer_stateobj *)rast;
33 }
34 
35 void *fd4_rasterizer_state_create(struct pipe_context *pctx,
36                                   const struct pipe_rasterizer_state *cso);
37 
38 #endif /* FD4_RASTERIZER_H_ */
39