broadcom/vc5: Add support for GL_EXT_provoking_vertex.

The bit was missing from the spec, but it's there in the simulator.  Fixes
the piglit clipflat test.
This commit is contained in:
Eric Anholt
2017-10-02 14:09:56 -07:00
parent f4133865d1
commit f0ee7d6ba8
3 changed files with 5 additions and 1 deletions

View File

@@ -308,6 +308,7 @@
</packet>
<packet code="96" name="Configuration Bits">
<field name="Direct3D Provoking Vertex" size="1" start="21" type="bool"/>
<field name="Direct3D 'Point-fill' mode" size="1" start="20" type="bool"/>
<field name="Blend enable" size="1" start="19" type="bool"/>
<field name="Stencil enable" size="1" start="18" type="bool"/>

View File

@@ -248,6 +248,9 @@ vc5_emit_state(struct pipe_context *pctx)
config.rasterizer_oversample_mode =
vc5->rasterizer->base.multisample;
config.direct3d_provoking_vertex =
vc5->rasterizer->base.flatshade_first;
config.blend_enable = vc5->blend->rt[0].blend_enable;
config.early_z_updates_enable = true;

View File

@@ -111,6 +111,7 @@ vc5_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION:
case PIPE_CAP_COMPUTE:
case PIPE_CAP_DRAW_INDIRECT:
case PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION:
return 1;
case PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT:
@@ -156,7 +157,6 @@ vc5_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_TEXTURE_MIRROR_CLAMP:
case PIPE_CAP_MIXED_COLORBUFFER_FORMATS:
case PIPE_CAP_SEAMLESS_CUBE_MAP:
case PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION:
case PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY:
case PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY:
case PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY: