<div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 22, 2019 at 9:58 AM Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 22, 2019 at 9:57 AM Lionel Landwerlin <<a href="mailto:lionel.g.landwerlin@intel.com" target="_blank">lionel.g.landwerlin@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 22/02/2019 15:51, Juan A. Suarez Romero wrote:<br>
> On one side, when emitting 3DSTATE_SF, VertexSubPixelPrecisionSelect is<br>
> used to select between 8 bit subpixel precision (value 0) or 4 bit<br>
> subpixel precision (value 1). As this value is not set, means it is<br>
> taking the value 0, so 8 bit are used.<br>
><br>
> On the other side, in the Vulkan CTS tests, if the reference rasterizer,<br>
> which uses 8 bit precision, as it is used to check what should be the<br>
> expected value for the tests, is changed to use 4 bit as ANV was<br>
> advertising so far, some of the tests will fail.<br>
><br>
> So it seems ANV is actually using 8 bits.<br>
><br>
> v2: explicitly set 3DSTATE_SF::VertexSubPixelPrecisionSelect (Jason)<br>
> v3: use _8Bit definition as value (Jason)<br>
><br>
> CC: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>><br>
> CC: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org" target="_blank">kenneth@whitecape.org</a>><br>
> Signed-off-by: Juan A. Suarez Romero <<a href="mailto:jasuarez@igalia.com" target="_blank">jasuarez@igalia.com</a>><br>
<br>
<br>
Reviewed-by: Lionel Landwerlin <<a href="mailto:lionel.g.landwerlin@intel.com" target="_blank">lionel.g.landwerlin@intel.com</a>><br></blockquote><div><br></div><div>Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>><br></div></div></div></blockquote><div><br></div><div>I just sent a patch which also sets the corresponding bit in 3DSTATE_CLIP on gen8+.  Feel free to squash it into this one before merging.  The information is redundant but we should be explicitly setting it both places.  I think the one in 3DSTATE_CLIP is for the viewport clip test that got added on gen8.</div><div><br></div><div>--Jason<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Cc: stable?<br></blockquote><div><br></div><div>Not a bad idea.</div><div><br></div><div>--Jason<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> ---<br>
>   src/intel/vulkan/anv_device.c    | 2 +-<br>
>   src/intel/vulkan/genX_pipeline.c | 1 +<br>
>   2 files changed, 2 insertions(+), 1 deletion(-)<br>
><br>
> diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c<br>
> index 3120865466a..95224407318 100644<br>
> --- a/src/intel/vulkan/anv_device.c<br>
> +++ b/src/intel/vulkan/anv_device.c<br>
> @@ -1095,7 +1095,7 @@ void anv_GetPhysicalDeviceProperties(<br>
>            16 * devinfo->max_cs_threads,<br>
>            16 * devinfo->max_cs_threads,<br>
>         },<br>
> -      .subPixelPrecisionBits                    = 4 /* FIXME */,<br>
> +      .subPixelPrecisionBits                    = 8,<br>
>         .subTexelPrecisionBits                    = 4 /* FIXME */,<br>
>         .mipmapPrecisionBits                      = 4 /* FIXME */,<br>
>         .maxDrawIndexedIndexValue                 = UINT32_MAX,<br>
> diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c<br>
> index 6255e5d83c5..3d36bb773e1 100644<br>
> --- a/src/intel/vulkan/genX_pipeline.c<br>
> +++ b/src/intel/vulkan/genX_pipeline.c<br>
> @@ -464,6 +464,7 @@ emit_rs_state(struct anv_pipeline *pipeline,<br>
>      sf.TriangleStripListProvokingVertexSelect = 0;<br>
>      sf.LineStripListProvokingVertexSelect = 0;<br>
>      sf.TriangleFanProvokingVertexSelect = 1;<br>
> +   sf.VertexSubPixelPrecisionSelect = _8Bit;<br>
>   <br>
>      const struct brw_vue_prog_data *last_vue_prog_data =<br>
>         anv_pipeline_get_last_vue_prog_data(pipeline);<br>
<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a></blockquote></div></div>
</blockquote></div></div>