diff options
author | Eric Anholt <eric@anholt.net> | 2018-05-08 13:22:57 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2018-05-17 15:09:12 +0100 |
commit | 9bbc3f8cf1f116aa17ebcd399c0d3a8fb07b5266 (patch) | |
tree | 9560cfcffc6e0abf031af757b55068a63a9b1af8 | |
parent | edfb57c0a0adacad4ccb42a49c19c14314a09565 (diff) |
v3d: Enable NaN propagation in the VS and CS as well.
Fixes piglit vs-isnan-*.shader_test at the expense of gl-1.0-spot-light.
-rw-r--r-- | src/broadcom/cle/v3d_packet_v33.xml | 4 | ||||
-rw-r--r-- | src/broadcom/cle/v3d_packet_v41.xml | 4 | ||||
-rw-r--r-- | src/broadcom/cle/v3d_packet_v42.xml | 4 | ||||
-rw-r--r-- | src/gallium/drivers/v3d/v3dx_draw.c | 4 |
4 files changed, 12 insertions, 4 deletions
diff --git a/src/broadcom/cle/v3d_packet_v33.xml b/src/broadcom/cle/v3d_packet_v33.xml index aac9fbfd28..22d43cc802 100644 --- a/src/broadcom/cle/v3d_packet_v33.xml +++ b/src/broadcom/cle/v3d_packet_v33.xml @@ -702,15 +702,17 @@ <field name="Fragment Shader Code Address" size="29" start="99" type="address"/> <field name="Fragment Shader 2-way threadable" size="1" start="96" type="bool"/> <field name="Fragment Shader 4-way threadable" size="1" start="97" type="bool"/> - <field name="Propagate NaNs" size="1" start="98" type="bool"/> + <field name="Fragment Shader Propagate NaNs" size="1" start="98" type="bool"/> <field name="Fragment Shader Uniforms Address" size="32" start="16b" type="address"/> <field name="Vertex Shader Code Address" size="32" start="20b" type="address"/> <field name="Vertex Shader 2-way threadable" size="1" start="160" type="bool"/> <field name="Vertex Shader 4-way threadable" size="1" start="161" type="bool"/> + <field name="Vertex Shader Propagate NaNs" size="1" start="162" type="bool"/> <field name="Vertex Shader Uniforms Address" size="32" start="24b" type="address"/> <field name="Coordinate Shader Code Address" size="32" start="28b" type="address"/> <field name="Coordinate Shader 2-way threadable" size="1" start="224" type="bool"/> <field name="Coordinate Shader 4-way threadable" size="1" start="225" type="bool"/> + <field name="Coordinate Shader Propagate NaNs" size="1" start="226" type="bool"/> <field name="Coordinate Shader Uniforms Address" size="32" start="32b" type="address"/> </struct> diff --git a/src/broadcom/cle/v3d_packet_v41.xml b/src/broadcom/cle/v3d_packet_v41.xml index 5f6d643195..1fb5d5d284 100644 --- a/src/broadcom/cle/v3d_packet_v41.xml +++ b/src/broadcom/cle/v3d_packet_v41.xml @@ -781,17 +781,19 @@ <field name="Fragment Shader Code Address" size="32" start="12b" type="address"/> <field name="Fragment Shader 4-way threadable" size="1" start="96" type="bool"/> <field name="Fragment Shader start in final thread section" size="1" start="97" type="bool"/> - <field name="Propagate NaNs" size="1" start="98" type="bool"/> + <field name="Fragment Shader Propagate NaNs" size="1" start="98" type="bool"/> <field name="Fragment Shader Uniforms Address" size="32" start="16b" type="address"/> <field name="Vertex Shader Code Address" size="32" start="20b" type="address"/> <field name="Vertex Shader 4-way threadable" size="1" start="160" type="bool"/> <field name="Vertex Shader start in final thread section" size="1" start="161" type="bool"/> + <field name="Vertex Shader Propagate NaNs" size="1" start="162" type="bool"/> <field name="Vertex Shader Uniforms Address" size="32" start="24b" type="address"/> <field name="Coordinate Shader Code Address" size="32" start="28b" type="address"/> <field name="Coordinate Shader 4-way threadable" size="1" start="224" type="bool"/> <field name="Coordinate Shader start in final thread section" size="1" start="225" type="bool"/> + <field name="Coordinate Shader Propagate NaNs" size="1" start="226" type="bool"/> <field name="Coordinate Shader Uniforms Address" size="32" start="32b" type="address"/> </struct> diff --git a/src/broadcom/cle/v3d_packet_v42.xml b/src/broadcom/cle/v3d_packet_v42.xml index f180e5eec5..a562d662ff 100644 --- a/src/broadcom/cle/v3d_packet_v42.xml +++ b/src/broadcom/cle/v3d_packet_v42.xml @@ -782,17 +782,19 @@ <field name="Fragment Shader Code Address" size="32" start="12b" type="address"/> <field name="Fragment Shader 4-way threadable" size="1" start="96" type="bool"/> <field name="Fragment Shader start in final thread section" size="1" start="97" type="bool"/> - <field name="Propagate NaNs" size="1" start="98" type="bool"/> + <field name="Fragment Shader Propagate NaNs" size="1" start="98" type="bool"/> <field name="Fragment Shader Uniforms Address" size="32" start="16b" type="address"/> <field name="Vertex Shader Code Address" size="32" start="20b" type="address"/> <field name="Vertex Shader 4-way threadable" size="1" start="160" type="bool"/> <field name="Vertex Shader start in final thread section" size="1" start="161" type="bool"/> + <field name="Vertex Shader Propagate NaNs" size="1" start="162" type="bool"/> <field name="Vertex Shader Uniforms Address" size="32" start="24b" type="address"/> <field name="Coordinate Shader Code Address" size="32" start="28b" type="address"/> <field name="Coordinate Shader 4-way threadable" size="1" start="224" type="bool"/> <field name="Coordinate Shader start in final thread section" size="1" start="225" type="bool"/> + <field name="Coordinate Shader Propagate NaNs" size="1" start="226" type="bool"/> <field name="Coordinate Shader Uniforms Address" size="32" start="32b" type="address"/> </struct> diff --git a/src/gallium/drivers/v3d/v3dx_draw.c b/src/gallium/drivers/v3d/v3dx_draw.c index 28b35165c7..4d872b30ec 100644 --- a/src/gallium/drivers/v3d/v3dx_draw.c +++ b/src/gallium/drivers/v3d/v3dx_draw.c @@ -183,7 +183,9 @@ v3d_emit_gl_shader_state(struct v3d_context *v3d, shader.number_of_varyings_in_fragment_shader = v3d->prog.fs->prog_data.base->num_inputs; - shader.propagate_nans = true; + shader.coordinate_shader_propagate_nans = true; + shader.vertex_shader_propagate_nans = true; + shader.fragment_shader_propagate_nans = true; shader.coordinate_shader_code_address = cl_address(v3d->prog.cs->bo, 0); |