瀏覽代碼

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.
tags/18.2-branchpoint
Eric Anholt 7 年之前
父節點
當前提交
9bbc3f8cf1

+ 3
- 1
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>


+ 3
- 1
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>


+ 3
- 1
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>


+ 3
- 1
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);

Loading…
取消
儲存