Module: Mesa
Branch: master
Commit: 9bbc3f8cf1f116aa17ebcd399c0d3a8fb07b5266
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9bbc3f8cf1f116aa17ebcd399c0d3a8fb07b5266

Author: Eric Anholt <e...@anholt.net>
Date:   Tue May  8 13:22:57 2018 -0700

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.

---

 src/broadcom/cle/v3d_packet_v33.xml | 4 +++-
 src/broadcom/cle/v3d_packet_v41.xml | 4 +++-
 src/broadcom/cle/v3d_packet_v42.xml | 4 +++-
 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);

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to