<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Nov 14, 2016 at 2:46 AM, Timothy Arceri <span dir="ltr"><<a href="mailto:timothy.arceri@collabora.com" target="_blank">timothy.arceri@collabora.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Sat, 2016-11-12 at 13:34 -0800, Jason Ekstrand wrote:<br>
> ---<br>
>  src/intel/blorp/blorp_genX_<wbr>exec.h |  4 ++--<br>
>  src/intel/genxml/gen6.xml    <wbr>     | 16 +++++++++++++---<br>
>  src/intel/genxml/gen7.xml    <wbr>     | 16 +++++++++++++---<br>
>  src/intel/genxml/gen75.xml   <wbr>     | 16 +++++++++++++---<br>
>  src/intel/genxml/gen8.xml    <wbr>     |  6 +++---<br>
>  src/intel/genxml/gen9.xml    <wbr>     |  6 +++---<br>
>  src/intel/vulkan/gen7_<wbr>pipeline.c  |  2 +-<br>
>  src/intel/vulkan/gen8_<wbr>pipeline.c  |  8 ++++----<br>
>  8 files changed, 52 insertions(+), 22 deletions(-)<br>
><br>
> diff --git a/src/intel/blorp/blorp_genX_<wbr>exec.h<br>
> b/src/intel/blorp/blorp_genX_<wbr>exec.h<br>
> index 4a98371..5921190 100644<br>
> --- a/src/intel/blorp/blorp_genX_<wbr>exec.h<br>
> +++ b/src/intel/blorp/blorp_genX_<wbr>exec.h<br>
> @@ -608,7 +608,7 @@ blorp_emit_ps_config(struct blorp_batch *batch,<br>
>           wm.<wbr>ThreadDispatchEnable = true;<br>
>  <br>
>        if (params->src.enabled)<br>
> -         wm.<wbr>PixelShaderKillPixel = true;<br>
> +         wm.<wbr>PixelShaderKillsPixel = true;<br>
>  <br>
>        if (params->dst.surf.samples > 1) {<br>
>           wm.<wbr>MultisampleRasterizationMode = MSRASTMODE_ON_PATTERN;<br>
> @@ -709,7 +709,7 @@ blorp_emit_ps_config(struct blorp_batch *batch,<br>
>  <br>
>        if (params->src.enabled) {<br>
>           wm.SamplerCount = 1; /* Up to 4 samplers */<br>
> -         wm.<wbr>PixelShaderKillPixel = true; /* TODO: temporarily smash<br>
> on */<br>
> +         wm.<wbr>PixelShaderKillsPixel = true; /* TODO: temporarily smash<br>
> on */<br>
>        }<br>
>  <br>
>        if (params->dst.surf.samples > 1) {<br>
> diff --git a/src/intel/genxml/gen6.xml b/src/intel/genxml/gen6.xml<br>
> index 60e403a..2d19305 100644<br>
> --- a/src/intel/genxml/gen6.xml<br>
> +++ b/src/intel/genxml/gen6.xml<br>
> @@ -1464,12 +1464,22 @@<br>
>      <field name="Dispatch GRF Start Register For Constant/Setup Data<br>
> [2]" start="128" end="134" type="uint"/><br>
>      <field name="Maximum Number of Threads" start="185" end="191"<br>
> type="uint"/><br>
>      <field name="Legacy Diamond Line Rasterization" start="183"<br>
> end="183" type="bool"/><br>
> -    <field name="Pixel Shader Kill Pixel" start="182" end="182"<br>
> type="bool"/><br>
> +    <field name="Pixel Shader Kills Pixel" start="182" end="182"<br>
> type="bool"/><br>
>      <field name="Pixel Shader Computed Depth" start="181" end="181"<br>
> type="bool"/><br>
>      <field name="Pixel Shader Uses Source Depth" start="180"<br>
> end="180" type="bool"/><br>
>      <field name="Thread Dispatch Enable" start="179" end="179"<br>
> type="bool"/><br>
> -    <field name="Line End Cap Antialiasing Region Width" start="176"<br>
> end="177" type="uint"/><br>
> -    <field name="Line Antialiasing Region Width" start="174"<br>
> end="175" type="uint"/><br>
> +    <field name="Line End Cap Antialiasing Region Width" start="176"<br>
> end="177" type="uint"><br>
> +      <value name="0.5 pixels" value="0"/><br>
> +      <value name="1.0 pixels" value="1"/><br>
> +      <value name="2.0 pixels" value="2"/><br>
> +      <value name="4.0 pixels" value="3"/><br>
> +    </field><br>
> +    <field name="Line Antialiasing Region Width" start="174"<br>
> end="175" type="uint"><br>
> +      <value name="0.5 pixels" value="0"/><br>
> +      <value name="1.0 pixels" value="1"/><br>
> +      <value name="2.0 pixels" value="2"/><br>
> +      <value name="4.0 pixels" value="3"/><br>
> +    </field><br>
>      <field name="Polygon Stipple Enable" start="173" end="173"<br>
> type="bool"/><br>
>      <field name="Line Stipple Enable" start="171" end="171"<br>
> type="bool"/><br>
>      <field name="oMask Present to RenderTarget" start="169"<br>
> end="169" type="bool"/><br>
> diff --git a/src/intel/genxml/gen7.xml b/src/intel/genxml/gen7.xml<br>
> index 7ac421f..9bb8633 100644<br>
> --- a/src/intel/genxml/gen7.xml<br>
> +++ b/src/intel/genxml/gen7.xml<br>
> @@ -1637,7 +1637,12 @@<br>
>        <value name="BACK" value="3"/><br>
>      </field><br>
>      <field name="Line Width" start="82" end="91" type="u3.7"/><br>
> -    <field name="Line End Cap Antialiasing Region Width" start="80"<br>
> end="81" type="uint"/><br>
> +    <field name="Line End Cap Antialiasing Region Width" start="80"<br>
> end="81" type="uint"><br>
> +      <value name="0.5 pixels" value="0"/><br>
> +      <value name="1.0 pixels" value="1"/><br>
> +      <value name="2.0 pixels" value="2"/><br>
> +      <value name="4.0 pixels" value="3"/><br>
> +    </field><br>
>      <field name="Scissor Rectangle Enable" start="75" end="75"<br>
> type="bool"/><br>
>      <field name="Multisample Rasterization  Mode" start="72"<br>
> end="73" type="uint"/><br>
>      <field name="Last Pixel Enable" start="127" end="127"<br>
> type="bool"/><br>
> @@ -1907,7 +1912,7 @@<br>
>      <field name="Depth Buffer Resolve Enable" start="60" end="60"<br>
> type="bool"/><br>
>      <field name="Hierarchical Depth Buffer Resolve Enable"<br>
> start="59" end="59" type="bool"/><br>
>      <field name="Legacy Diamond Line Rasterization" start="58"<br>
> end="58" type="bool"/><br>
> -    <field name="Pixel Shader Kill Pixel" start="57" end="57"<br>
> type="bool"/><br>
> +    <field name="Pixel Shader Kills Pixel" start="57" end="57"<br>
> type="bool"/><br>
>      <field name="Pixel Shader Computed Depth Mode" start="55"<br>
> end="56" type="uint"><br>
>        <value name="PSCDEPTH_OFF" value="0"/><br>
>        <value name="PSCDEPTH_ON" value="1"/><br>
> @@ -1929,7 +1934,12 @@<br>
>      <field name="Barycentric Interpolation Mode" start="43" end="48"<br>
> type="uint"/><br>
>      <field name="Pixel Shader Uses Input Coverage Mask" start="42"<br>
> end="42" type="bool"/><br>
>      <field name="Line End Cap Antialiasing Region Width" start="40"<br>
> end="41" type="uint"/><br>
> -    <field name="Line Antialiasing Region Width" start="38" end="39"<br>
> type="uint"/><br>
> +    <field name="Line Antialiasing Region Width" start="38" end="39"<br>
> type="uint"><br>
> +      <value name="0.5 pixels" value="0"/><br>
> +      <value name="1.0 pixels" value="1"/><br>
> +      <value name="2.0 pixels" value="2"/><br>
> +      <value name="4.0 pixels" value="3"/><br>
> +    </field><br>
>      <field name="Polygon Stipple Enable" start="36" end="36"<br>
> type="bool"/><br>
>      <field name="Line Stipple Enable" start="35" end="35"<br>
> type="bool"/><br>
>      <field name="Point Rasterization Rule" start="34" end="34"<br>
> type="uint"><br>
> diff --git a/src/intel/genxml/gen75.xml b/src/intel/genxml/gen75.xml<br>
> index 1f8d77a..15c9caa 100644<br>
> --- a/src/intel/genxml/gen75.xml<br>
> +++ b/src/intel/genxml/gen75.xml<br>
> @@ -1892,7 +1892,12 @@<br>
>        <value name="BACK" value="3"/><br>
>      </field><br>
>      <field name="Line Width" start="82" end="91" type="u3.7"/><br>
> -    <field name="Line End Cap Antialiasing Region Width" start="80"<br>
> end="81" type="uint"/><br>
> +    <field name="Line End Cap Antialiasing Region Width" start="80"<br>
> end="81" type="uint"><br>
> +      <value name="0.5 pixels" value="0"/><br>
> +      <value name="1.0 pixels" value="1"/><br>
> +      <value name="2.0 pixels" value="2"/><br>
> +      <value name="4.0 pixels" value="3"/><br>
> +    </field><br>
>      <field name="Line Stipple Enable" start="78" end="78"<br>
> type="bool"/><br>
>      <field name="Scissor Rectangle Enable" start="75" end="75"<br>
> type="bool"/><br>
>      <field name="RT Independent Rasterization Enable" start="74"<br>
> end="74" type="bool"/><br>
> @@ -2180,7 +2185,7 @@<br>
>      <field name="Depth Buffer Resolve Enable" start="60" end="60"<br>
> type="bool"/><br>
>      <field name="Hierarchical Depth Buffer Resolve Enable"<br>
> start="59" end="59" type="bool"/><br>
>      <field name="Legacy Diamond Line Rasterization" start="58"<br>
> end="58" type="bool"/><br>
> -    <field name="Pixel Shader Kill Pixel" start="57" end="57"<br>
> type="bool"/><br>
> +    <field name="Pixel Shader Kills Pixel" start="57" end="57"<br>
> type="bool"/><br>
>      <field name="Pixel Shader Computed Depth Mode" start="55"<br>
> end="56" type="uint"><br>
>        <value name="PSCDEPTH_OFF" value="0"/><br>
>        <value name="PSCDEPTH_ON" value="1"/><br>
> @@ -2202,7 +2207,12 @@<br>
>      <field name="Barycentric Interpolation Mode" start="43" end="48"<br>
> type="uint"/><br>
>      <field name="Pixel Shader Uses Input Coverage Mask" start="42"<br>
> end="42" type="bool"/><br>
>      <field name="Line End Cap Antialiasing Region Width" start="40"<br>
> end="41" type="uint"/><br>
> -    <field name="Line Antialiasing Region Width" start="38" end="39"<br>
> type="uint"/><br>
> +    <field name="Line Antialiasing Region Width" start="38" end="39"<br>
> type="uint"><br>
> +      <value name="0.5 pixels" value="0"/><br>
> +      <value name="1.0 pixels" value="1"/><br>
> +      <value name="2.0 pixels" value="2"/><br>
> +      <value name="4.0 pixels" value="3"/><br>
> +    </field><br>
>      <field name="RT Independent Rasterization Enable" start="37"<br>
> end="37" type="bool"/><br>
>      <field name="Polygon Stipple Enable" start="36" end="36"<br>
> type="bool"/><br>
>      <field name="Line Stipple Enable" start="35" end="35"<br>
> type="bool"/><br>
> diff --git a/src/intel/genxml/gen8.xml b/src/intel/genxml/gen8.xml<br>
> index f4dda4e..3178b1d 100644<br>
> --- a/src/intel/genxml/gen8.xml<br>
> +++ b/src/intel/genxml/gen8.xml<br>
> @@ -2310,9 +2310,9 @@<br>
>      <field name="Legacy Hierarchical Depth Buffer Resolve Enable"<br>
> start="59" end="59" type="bool"/><br>
>      <field name="Legacy Diamond Line Rasterization" start="58"<br>
> end="58" type="bool"/><br>
>      <field name="Early Depth/Stencil Control" start="53" end="54"<br>
> type="uint"><br>
> -      <value name="NORMAL" value="0"/><br>
> -      <value name="PSEXEC" value="1"/><br>
> -      <value name="PREPS" value="2"/><br>
> +      <value name="EDSC_NORMAL" value="0"/><br>
> +      <value name="EDSC_PSEXEC" value="1"/><br>
> +      <value name="EDSC_PREPS" value="2"/><br>
>      </field><br>
>      <field name="Force Thread Dispatch Enable" start="51" end="52"<br>
> type="uint"><br>
>        <value name="ForceOff" value="1"/><br>
> diff --git a/src/intel/genxml/gen9.xml b/src/intel/genxml/gen9.xml<br>
> index 58b41f7..3d44cdb 100644<br>
> --- a/src/intel/genxml/gen9.xml<br>
> +++ b/src/intel/genxml/gen9.xml<br>
> @@ -2535,9 +2535,9 @@<br>
>      <field name="Legacy Hierarchical Depth Buffer Resolve Enable"<br>
> start="59" end="59" type="bool"/><br>
>      <field name="Legacy Diamond Line Rasterization" start="58"<br>
> end="58" type="bool"/><br>
>      <field name="Early Depth/Stencil Control" start="53" end="54"<br>
> type="uint"><br>
> -      <value name="NORMAL" value="0"/><br>
> -      <value name="PSEXEC" value="1"/><br>
> -      <value name="PREPS" value="2"/><br>
> +      <value name="EDSC_NORMAL" value="0"/><br>
> +      <value name="EDSC_PSEXEC" value="1"/><br>
> +      <value name="EDSC_PREPS" value="2"/><br>
>      </field><br>
>      <field name="Force Thread Dispatch Enable" start="51" end="52"<br>
> type="uint"><br>
>        <value name="ForceOff" value="1"/><br>
> diff --git a/src/intel/vulkan/gen7_<wbr>pipeline.c<br>
> b/src/intel/vulkan/gen7_<wbr>pipeline.c<br>
> index dbec828..3aecd7c 100644<br>
> --- a/src/intel/vulkan/gen7_<wbr>pipeline.c<br>
> +++ b/src/intel/vulkan/gen7_<wbr>pipeline.c<br>
> @@ -137,7 +137,7 @@ genX(graphics_pipeline_create)<wbr>(<br>
>           wm.<wbr>LineEndCapAntialiasingRegionWi<wbr>dth   = 0; /* 0.5 pixels<br>
> */<br>
>           wm.<wbr>LineAntialiasingRegionWidth   <wbr>      = 1; /* 1.0 pixels<br>
> */<br>
>           wm.<wbr>PointRasterizationRule        <wbr>      =<br>
> RASTRULE_UPPER_RIGHT;<br>
> -         wm.<wbr>PixelShaderKillPixel          <wbr>      = wm_prog_data-<br>
> >uses_kill;<br>
> +         wm.<wbr>PixelShaderKillsPixel         <wbr>      = wm_prog_data-<br>
> >uses_kill;<br>
>           wm.<wbr>PixelShaderComputedDepthMode  <wbr>      = wm_prog_data-<br>
> >computed_depth_mode;<br>
>           wm.<wbr>PixelShaderUsesSourceDepth    <wbr>      = wm_prog_data-<br>
> >uses_src_depth;<br>
>           wm.<wbr>PixelShaderUsesSourceW        <wbr>      = wm_prog_data-<br>
> >uses_src_w;<br>
> diff --git a/src/intel/vulkan/gen8_<wbr>pipeline.c<br>
> b/src/intel/vulkan/gen8_<wbr>pipeline.c<br>
> index 56eb032..e668f94 100644<br>
> --- a/src/intel/vulkan/gen8_<wbr>pipeline.c<br>
> +++ b/src/intel/vulkan/gen8_<wbr>pipeline.c<br>
> @@ -94,15 +94,15 @@ genX(graphics_pipeline_create)<wbr>(<br>
>        wm.StatisticsEnable    <wbr>                = true;<br>
>        wm.<wbr>LineEndCapAntialiasingRegionWi<wbr>dth   = _05pixels;<br>
>        wm.<wbr>LineAntialiasingRegionWidth   <wbr>      = _10pixels;<br>
> -      wm.<wbr>ForceThreadDispatchEnable     <wbr>      = NORMAL;<br>
> +      wm.<wbr>ForceThreadDispatchEnable     <wbr>      = 0 /* Normal */;<br>
<br>
</div></div>Should this be renamed "Thread Dispatch Enable" in gen8/9.xml? This<br>
field is no longer set in the following patch.<br></blockquote><div><br></div><div>I thought about that, but no it should not.  The gen7 "Thread Dispatch Enable" is a fairly complicated bit that has to take a bunch of stuff into account.  On gen8, that's now computed by hardware but they provide you with this field so that you can force it one way or another in case hardware computes the wrong value.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
>        wm.<wbr>PointRasterizationRule        <wbr>      = RASTRULE_UPPER_RIGHT;<br>
>  <br>
>        if (wm_prog_data && wm_prog_data->early_fragment_<wbr>tests) {<br>
> -         wm.<wbr>EarlyDepthStencilControl      <wbr>   = PREPS;<br>
> +         wm.<wbr>EarlyDepthStencilControl      <wbr>   = EDSC_PREPS;<br>
>        } else if (wm_prog_data && wm_prog_data->has_side_<wbr>effects) {<br>
> -         wm.<wbr>EarlyDepthStencilControl      <wbr>   = PSEXEC;<br>
> +         wm.<wbr>EarlyDepthStencilControl      <wbr>   = EDSC_PSEXEC;<br>
>        } else {<br>
> -         wm.<wbr>EarlyDepthStencilControl      <wbr>   = NORMAL;<br>
> +         wm.<wbr>EarlyDepthStencilControl      <wbr>   = EDSC_NORMAL;<br>
>        }<br>
>  <br>
>        wm.<wbr>BarycentricInterpolationMode =<br>
</div></div></blockquote></div><br></div></div>