From patchwork Sun Jul 17 23:25:43 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Widawsky X-Patchwork-Id: 984942 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by demeter2.kernel.org (8.14.4/8.14.4) with ESMTP id p6HNVdl0017562 for ; Sun, 17 Jul 2011 23:32:05 GMT Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A6DD09EB5E for ; Sun, 17 Jul 2011 16:31:39 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from cloud01.chad-versace.us (184-106-247-128.static.cloud-ips.com [184.106.247.128]) by gabe.freedesktop.org (Postfix) with ESMTP id 2B9219EB28; Sun, 17 Jul 2011 16:25:46 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by cloud01.chad-versace.us (Postfix) with ESMTP id E0CC31D4263; Sun, 17 Jul 2011 23:28:15 +0000 (UTC) X-Virus-Scanned: amavisd-new at static.cloud-ips.com X-Spam-Flag: NO X-Spam-Score: -1 X-Spam-Level: X-Spam-Status: No, score=-1 tagged_above=-100 required=5 tests=[ALL_TRUSTED=-1] autolearn=ham Received: from cloud01.chad-versace.us ([127.0.0.1]) by localhost (cloud01.static.cloud-ips.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9z8xmJSytDtb; Sun, 17 Jul 2011 23:28:10 +0000 (UTC) Received: from localhost.localdomain (pool-96-250-39-22.nycmny.fios.verizon.net [96.250.39.22]) by cloud01.chad-versace.us (Postfix) with ESMTPSA id 52E531D42F1; Sun, 17 Jul 2011 23:27:55 +0000 (UTC) From: Ben Widawsky To: intel-gfx@lists.freedesktop.org Date: Sun, 17 Jul 2011 16:25:43 -0700 Message-Id: <1310945148-6777-6-git-send-email-ben@bwidawsk.net> X-Mailer: git-send-email 1.7.6 In-Reply-To: <1310945148-6777-1-git-send-email-ben@bwidawsk.net> References: <1310945148-6777-1-git-send-email-ben@bwidawsk.net> Cc: mesa-dev@lists.freedesktop.org, Ben Widawsky Subject: [Intel-gfx] [PATCH 05/10] i965: emit breakpoints X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter2.kernel.org [140.211.167.43]); Sun, 17 Jul 2011 23:32:05 +0000 (UTC) Provide a function to allow emitting breakpoints in the instruction oword. Use breakpoints when debugging. Signed-off-by: Ben Widawsky --- src/mesa/drivers/dri/i965/brw_eu.c | 6 ++++++ src/mesa/drivers/dri/i965/brw_eu.h | 1 + src/mesa/drivers/dri/i965/brw_wm.c | 3 +++ 3 files changed, 10 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_eu.c b/src/mesa/drivers/dri/i965/brw_eu.c index c1f2520..1af232c 100644 --- a/src/mesa/drivers/dri/i965/brw_eu.c +++ b/src/mesa/drivers/dri/i965/brw_eu.c @@ -150,6 +150,12 @@ void brw_set_acc_write_control(struct brw_compile *p, GLuint value) p->current->header.acc_wr_control = value; } +void brw_set_breakpoint(struct brw_compile *p) +{ + if (p->brw->intel.gen >= 6) + p->current->header.debug_control = 1; +} + void brw_push_insn_state( struct brw_compile *p ) { assert(p->current != &p->stack[BRW_EU_MAX_INSN_STACK-1]); diff --git a/src/mesa/drivers/dri/i965/brw_eu.h b/src/mesa/drivers/dri/i965/brw_eu.h index 72d50ea..ec7019f 100644 --- a/src/mesa/drivers/dri/i965/brw_eu.h +++ b/src/mesa/drivers/dri/i965/brw_eu.h @@ -793,6 +793,7 @@ void brw_set_predicate_control( struct brw_compile *p, GLuint pc ); void brw_set_predicate_inverse(struct brw_compile *p, bool predicate_inverse); void brw_set_conditionalmod( struct brw_compile *p, GLuint conditional ); void brw_set_acc_write_control(struct brw_compile *p, GLuint value); +void brw_set_breakpoint( struct brw_compile *p ); void brw_init_compile(struct brw_context *, struct brw_compile *p, void *mem_ctx); diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c index b97542f..459e33f 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.c +++ b/src/mesa/drivers/dri/i965/brw_wm.c @@ -229,6 +229,9 @@ bool do_wm_prog(struct brw_context *brw, brw_init_compile(brw, &c->func, c); + if (brw->wm.debugging) + brw_set_breakpoint(&c->func); + if (prog && prog->FragmentProgram) { if (!brw_wm_fs_emit(brw, c, prog)) return false;