/* 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
/* 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;
}
}
+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 = {