Mesa (master): i965: Issue performance warnings when copying the program cache BO.

Kenneth Graunke kwg at kemper.freedesktop.org
Mon Oct 13 13:54:10 UTC 2014


Module: Mesa
Branch: master
Commit: 4c766c7959192b455ae752a7759ffc159e0524a6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c766c7959192b455ae752a7759ffc159e0524a6

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Thu Aug 21 10:50:31 2014 -0700

i965: Issue performance warnings when copying the program cache BO.

We don't really want unnecessary buffer copying, so it'd be nice to know
when it's happening.

v2: Drop stall warnings when doing a read-only CPU mapping of the cache
    BO.  The GPU also uses it in a read-only fashion, so there won't be
    any stalls, even though the buffer is busy.  (Thanks to Chris Wilson
    for catching this mistake.)

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net> [v1]

---

 src/mesa/drivers/dri/i965/brw_state_cache.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_state_cache.c b/src/mesa/drivers/dri/i965/brw_state_cache.c
index 62e03b1..f4cae8f 100644
--- a/src/mesa/drivers/dri/i965/brw_state_cache.c
+++ b/src/mesa/drivers/dri/i965/brw_state_cache.c
@@ -241,6 +241,8 @@ brw_upload_item_data(struct brw_cache *cache,
 		     struct brw_cache_item *item,
 		     const void *data)
 {
+   struct brw_context *brw = cache->brw;
+
    /* Allocate space in the cache BO for our new program. */
    if (cache->next_offset + item->size > cache->bo->size) {
       uint32_t new_size = cache->bo->size * 2;
@@ -255,6 +257,7 @@ brw_upload_item_data(struct brw_cache *cache,
     * recreate it.
     */
    if (cache->bo_used_by_gpu) {
+      perf_debug("Copying busy program cache buffer.\n");
       brw_cache_new_bo(cache, cache->bo->size);
    }
 




More information about the mesa-commit mailing list