[Mesa-dev] [PATCH] i965: Upload 3DSTATE_BINDING_TABLE_POINTERS_HS when !TCS on Gen9+.
Jordan Justen
jordan.l.justen at intel.com
Sun Jan 10 15:48:13 PST 2016
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
On 2016-01-10 15:38:58, Kenneth Graunke wrote:
> Gen9+ requires us to emit 3DSTATE_BINDING_TABLE_POINTERS_HS for the
> hull shader push constants to take effect. The passthrough TCS uses
> push constants for the default tessellation levels. So, when those
> change, we need to re-upload the binding table as well.
>
> Fixes five Piglit tests on Skylake:
> - spec/arb_tessellation_shader/vs-tes-vertex
> - spec/arb_tessellation_shader/vs-tes-tessinner-tessouter-inputs-quads
> - spec/arb_tessellation_shader/vs-tes-tessinner-tessouter-inputs-tris
> - spec/arb_tessellation_shader/tes-read-texture
> - spec/arb_tessellation_shader/tess_with_geometry
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
> src/mesa/drivers/dri/i965/brw_binding_tables.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_binding_tables.c b/src/mesa/drivers/dri/i965/brw_binding_tables.c
> index 80935cf..7fa5d60 100644
> --- a/src/mesa/drivers/dri/i965/brw_binding_tables.c
> +++ b/src/mesa/drivers/dri/i965/brw_binding_tables.c
> @@ -196,12 +196,12 @@ const struct brw_tracked_state brw_wm_binding_table = {
> .emit = brw_upload_wm_binding_table,
> };
>
> -/** Upload the TCS binding table (if TCS is active). */
> +/** Upload the TCS binding table (if tessellation stages are active). */
> static void
> brw_tcs_upload_binding_table(struct brw_context *brw)
> {
> - /* If there's no TCS, skip changing anything. */
> - if (brw->tess_ctrl_program == NULL)
> + /* Skip if the tessellation stages are disabled. */
> + if (brw->tess_eval_program == NULL)
> return;
>
> /* BRW_NEW_TCS_PROG_DATA */
> @@ -216,6 +216,7 @@ const struct brw_tracked_state brw_tcs_binding_table = {
> .dirty = {
> .mesa = 0,
> .brw = BRW_NEW_BATCH |
> + BRW_NEW_DEFAULT_TESS_LEVELS |
> BRW_NEW_SURFACES |
> BRW_NEW_TCS_CONSTBUF |
> BRW_NEW_TCS_PROG_DATA,
> --
> 2.7.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list