From 79b486f73635df41334da79ce4593bab999895ab Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 11 May 2017 22:23:36 -0700 Subject: [PATCH] i965/gen4: Expose the guts of URB recalculation as a helper Reviewed-by: Topi Pohjolainen --- src/mesa/drivers/dri/i965/brw_context.h | 2 ++ src/mesa/drivers/dri/i965/brw_urb.c | 15 ++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index 22a84e6197c..ccedeccf309 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -1361,6 +1361,8 @@ void brw_destroy_shader_time(struct brw_context *brw); /* brw_urb.c */ +void brw_calculate_urb_fence(struct brw_context *brw, unsigned csize, + unsigned vsize, unsigned sfsize); void brw_upload_urb_fence(struct brw_context *brw); /* brw_curbe.c diff --git a/src/mesa/drivers/dri/i965/brw_urb.c b/src/mesa/drivers/dri/i965/brw_urb.c index 1ba981a5464..18daf5137bd 100644 --- a/src/mesa/drivers/dri/i965/brw_urb.c +++ b/src/mesa/drivers/dri/i965/brw_urb.c @@ -112,12 +112,10 @@ static bool check_urb_layout(struct brw_context *brw) /* Most minimal update, forces re-emit of URB fence packet after GS * unit turned on/off. */ -static void recalculate_urb_fence( struct brw_context *brw ) +void +brw_calculate_urb_fence(struct brw_context *brw, unsigned csize, + unsigned vsize, unsigned sfsize) { - GLuint csize = brw->curbe.total_size; - GLuint vsize = brw_vue_prog_data(brw->vs.base.prog_data)->urb_entry_size; - GLuint sfsize = brw->sf.prog_data->urb_entry_size; - if (csize < limits[CS].min_entry_size) csize = limits[CS].min_entry_size; @@ -208,6 +206,13 @@ done: } } +static void recalculate_urb_fence( struct brw_context *brw ) +{ + brw_calculate_urb_fence(brw, brw->curbe.total_size, + brw_vue_prog_data(brw->vs.base.prog_data)->urb_entry_size, + brw->sf.prog_data->urb_entry_size); +} + const struct brw_tracked_state brw_recalculate_urb_fence = { .dirty = { -- 2.30.2