draw: front-face injection must check geometry shader primitive type
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32306>
This commit is contained in:
@@ -1271,7 +1271,10 @@ draw_stats_clipper_primitives(struct draw_context *draw,
|
||||
bool
|
||||
draw_will_inject_frontface(const struct draw_context *draw)
|
||||
{
|
||||
unsigned reduced_prim = u_reduced_prim(draw->pt.prim);
|
||||
/* The geometry shader can change the primitive type. */
|
||||
enum mesa_prim prim = draw->gs.geometry_shader ?
|
||||
draw->gs.geometry_shader->output_primitive : draw->pt.prim;
|
||||
enum mesa_prim reduced_prim = u_reduced_prim(prim);
|
||||
const struct pipe_rasterizer_state *rast = draw->rasterizer;
|
||||
|
||||
if (reduced_prim != MESA_PRIM_TRIANGLES) {
|
||||
|
||||
@@ -81,8 +81,8 @@ struct draw_geometry_shader {
|
||||
|
||||
unsigned max_output_vertices;
|
||||
unsigned primitive_boundary;
|
||||
unsigned input_primitive;
|
||||
unsigned output_primitive;
|
||||
enum mesa_prim input_primitive;
|
||||
enum mesa_prim output_primitive;
|
||||
unsigned vertex_size;
|
||||
|
||||
struct draw_vertex_stream stream[TGSI_MAX_VERTEX_STREAMS];
|
||||
|
||||
Reference in New Issue
Block a user