panfrost: Simplify draw_flags
Fixes dEQP-GLES3.functional.primitive_restart.*. Note the 0x18000 value is accidentally somehow enabling primitive restart for some reason. I'm not sure where this value came from but let's not. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
This commit is contained in:
committed by
Tomeu Vizoso
parent
9fb0904712
commit
6ddaa5558a
@@ -1566,19 +1566,10 @@ panfrost_draw_vbo(
|
||||
if (info->primitive_restart)
|
||||
draw_flags |= MALI_DRAW_PRIMITIVE_RESTART_FIXED_INDEX;
|
||||
|
||||
/* For higher amounts of vertices (greater than what fits in a 16-bit
|
||||
* short), the other value is needed, otherwise there will be bizarre
|
||||
* rendering artefacts. It's not clear what these values mean yet. This
|
||||
* change is also needed for instancing and sometimes points (perhaps
|
||||
* related to dynamically setting gl_PointSize) */
|
||||
/* These doesn't make much sense */
|
||||
|
||||
bool is_points = mode == PIPE_PRIM_POINTS;
|
||||
bool many_verts = ctx->vertex_count > 0xFFFF;
|
||||
bool instanced = ctx->instance_count > 1;
|
||||
draw_flags |= 0x3000;
|
||||
|
||||
draw_flags |= (is_points || many_verts || instanced) ? 0x3000 : 0x18000;
|
||||
|
||||
/* This doesn't make much sense */
|
||||
if (mode == PIPE_PRIM_LINE_STRIP) {
|
||||
draw_flags |= 0x800;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user