From: Eric Anholt Date: Sat, 22 Oct 2011 18:17:27 +0000 (-0700) Subject: i965: Fold the gen6/7 URB state prepare()/emit() together. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ab8637b03fbf2594bd1ed9ea70982b166ef991be;p=mesa.git i965: Fold the gen6/7 URB state prepare()/emit() together. No other unit cares about the prepare state, unlike gen4-5. Reviewed-by: Kenneth Graunke Acked-by: Paul Berry --- diff --git a/src/mesa/drivers/dri/i965/gen6_urb.c b/src/mesa/drivers/dri/i965/gen6_urb.c index b4105111c8c..d045bf28ec2 100644 --- a/src/mesa/drivers/dri/i965/gen6_urb.c +++ b/src/mesa/drivers/dri/i965/gen6_urb.c @@ -32,8 +32,9 @@ #include "brw_defines.h" static void -prepare_urb( struct brw_context *brw ) +gen6_upload_urb( struct brw_context *brw ) { + struct intel_context *intel = &brw->intel; int nr_vs_entries; /* CACHE_NEW_VS_PROG */ @@ -53,12 +54,6 @@ prepare_urb( struct brw_context *brw ) */ brw->urb.nr_gs_entries = 0; brw->urb.gs_size = 1; /* Incorrect, but with 0 GS entries it doesn't matter. */ -} - -static void -upload_urb(struct brw_context *brw) -{ - struct intel_context *intel = &brw->intel; assert(brw->urb.nr_vs_entries >= 24); assert(brw->urb.nr_vs_entries % 4 == 0); @@ -81,6 +76,5 @@ const struct brw_tracked_state gen6_urb = { .brw = BRW_NEW_CONTEXT, .cache = (CACHE_NEW_VS_PROG | CACHE_NEW_GS_PROG), }, - .prepare = prepare_urb, - .emit = upload_urb, + .emit = gen6_upload_urb, }; diff --git a/src/mesa/drivers/dri/i965/gen7_urb.c b/src/mesa/drivers/dri/i965/gen7_urb.c index 2b650e9bc45..e53fcb77356 100644 --- a/src/mesa/drivers/dri/i965/gen7_urb.c +++ b/src/mesa/drivers/dri/i965/gen7_urb.c @@ -51,8 +51,9 @@ * See "Volume 2a: 3D Pipeline," section 1.8. */ static void -prepare_urb(struct brw_context *brw) +gen7_upload_urb(struct brw_context *brw) { + struct intel_context *intel = &brw->intel; /* Total space for entries is URB size - 16kB for push constants */ int handle_region_size = (brw->urb.size - 16) * 1024; /* bytes */ @@ -68,12 +69,6 @@ prepare_urb(struct brw_context *brw) /* URB Starting Addresses are specified in multiples of 8kB. */ brw->urb.vs_start = 2; /* skip over push constants */ -} - -static void -upload_urb(struct brw_context *brw) -{ - struct intel_context *intel = &brw->intel; assert(brw->urb.nr_vs_entries % 8 == 0); assert(brw->urb.nr_gs_entries % 8 == 0); @@ -123,6 +118,5 @@ const struct brw_tracked_state gen7_urb = { .brw = BRW_NEW_CONTEXT, .cache = (CACHE_NEW_VS_PROG | CACHE_NEW_GS_PROG), }, - .prepare = prepare_urb, - .emit = upload_urb, + .emit = gen7_upload_urb, };