[Mesa-dev] [PATCH] i965/skl: Fix GS thread count location
Kristian Høgsberg
krh at bitplanet.net
Thu Dec 4 11:15:59 PST 2014
On Wed, Dec 3, 2014 at 3:53 PM, Ben Widawsky
<benjamin.widawsky at intel.com> wrote:
> SKL moves the GS threadcount to dw8 from dw7, and no longer does the divide by 2
> thing.
>
> Only compile test.
>
> Cc: Kristian Høgsberg <krh at bitplanet.net>
> Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
> ---
> src/mesa/drivers/dri/i965/gen8_gs_state.c | 29 ++++++++++++++++++-----------
> 1 file changed, 18 insertions(+), 11 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/gen8_gs_state.c b/src/mesa/drivers/dri/i965/gen8_gs_state.c
> index 526a826..efe490c 100644
> --- a/src/mesa/drivers/dri/i965/gen8_gs_state.c
> +++ b/src/mesa/drivers/dri/i965/gen8_gs_state.c
> @@ -79,20 +79,27 @@ gen8_upload_gs_state(struct brw_context *brw)
> (prog_data->base.dispatch_grf_start_reg <<
> GEN6_GS_DISPATCH_START_GRF_SHIFT));
>
> + uint32_t dw7 = (brw->gs.prog_data->control_data_header_size_hwords <<
> + GEN7_GS_CONTROL_DATA_HEADER_SIZE_SHIFT) |
> + brw->gs.prog_data->dispatch_mode |
> + GEN6_GS_STATISTICS_ENABLE |
> + (brw->gs.prog_data->include_primitive_id ?
> + GEN7_GS_INCLUDE_PRIMITIVE_ID : 0) |
> + GEN7_GS_REORDER_TRAILING |
> + GEN7_GS_ENABLE;
> + uint32_t dw8 = brw->gs.prog_data->control_data_format <<
> + HSW_GS_CONTROL_DATA_FORMAT_SHIFT;
> +
> + if (brw->gen < 9)
> + dw7 |= (brw->max_gs_threads / 2 - 1) << HSW_GS_MAX_THREADS_SHIFT;
> + else
> + dw8 |= brw->max_gs_threads - 1;
> +
> /* DW7 */
> - OUT_BATCH(((brw->max_gs_threads / 2 - 1) << HSW_GS_MAX_THREADS_SHIFT) |
> - (brw->gs.prog_data->control_data_header_size_hwords <<
> - GEN7_GS_CONTROL_DATA_HEADER_SIZE_SHIFT) |
> - brw->gs.prog_data->dispatch_mode |
> - GEN6_GS_STATISTICS_ENABLE |
> - (brw->gs.prog_data->include_primitive_id ?
> - GEN7_GS_INCLUDE_PRIMITIVE_ID : 0) |
> - GEN7_GS_REORDER_TRAILING |
> - GEN7_GS_ENABLE);
> + OUT_BATCH(dw7);
>
> /* DW8 */
> - OUT_BATCH(brw->gs.prog_data->control_data_format <<
> - HSW_GS_CONTROL_DATA_FORMAT_SHIFT);
> + OUT_BATCH(dw8);
>
> /* DW9 / _NEW_TRANSFORM */
> OUT_BATCH((ctx->Transform.ClipPlanesEnabled <<
> --
> 2.1.3
>
Good catch,
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
More information about the mesa-dev
mailing list