From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhenyu Wang Subject: [PATCH] i965: alloc cached bo for query object on Sandybridge Date: Tue, 14 Dec 2010 12:56:02 +0800 Message-ID: <1292302562-5800-4-git-send-email-zhenyuw@linux.intel.com> References: <1292302562-5800-1-git-send-email-zhenyuw@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 6997D9E738 for ; Mon, 13 Dec 2010 20:56:21 -0800 (PST) In-Reply-To: <1292302562-5800-1-git-send-email-zhenyuw@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Use new interface for cached bo create for query object on Sandybridge, which is required for PIPE_CONTROL store buffer to be CPU cacheable. --- src/mesa/drivers/dri/i965/brw_queryobj.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_queryobj.c b/src/mesa/drivers/dri/i965/brw_queryobj.c index f28f286..8c639de 100644 --- a/src/mesa/drivers/dri/i965/brw_queryobj.c +++ b/src/mesa/drivers/dri/i965/brw_queryobj.c @@ -231,7 +231,11 @@ brw_prepare_query_begin(struct brw_context *brw) drm_intel_bo_unreference(brw->query.bo); brw->query.bo = NULL; - brw->query.bo = drm_intel_bo_alloc(intel->bufmgr, "query", 4096, 1); + /* Sandybridge requires PIPE_CONTROL write DW to be LLC cached. */ + if (intel->gen >= 6) + brw->query.bo = drm_intel_gem_bo_alloc_cached(intel->bufmgr, "query", 4096, 1); + else + brw->query.bo = drm_intel_bo_alloc(intel->bufmgr, "query", 4096, 1); brw->query.index = 0; } -- 1.7.1