* [PATCH 0/10] fs shader debugging @ 2011-07-13 20:51 Ben Widawsky 2011-07-13 20:51 ` [PATCH 01/10] intel: shared header for " Ben Widawsky 2011-07-13 22:06 ` [PATCH 0/10] fs " Ben Widawsky 0 siblings, 2 replies; 11+ messages in thread From: Ben Widawsky @ 2011-07-13 20:51 UTC (permalink / raw) To: intel-gfx; +Cc: mesa-dev, Ben Widawsky, Carl Worth, dri-devel Version 2 of the patch series is pretty much the same as version 1. 2 of the patches have already been picked up by the kernel and mesa so they are gone. The only major change is in mesa where I no longer load a binary blob from an environment variable, but instead compile the bytes directly in to Mesa. Ben Mesa: src/mesa/drivers/dri/i965/Makefile | 1 + src/mesa/drivers/dri/i965/brw_context.h | 6 + src/mesa/drivers/dri/i965/brw_eu.c | 6 + src/mesa/drivers/dri/i965/brw_eu.h | 1 + src/mesa/drivers/dri/i965/brw_fs_emit.cpp | 15 +- src/mesa/drivers/dri/i965/brw_misc_state.c | 13 +- src/mesa/drivers/dri/i965/brw_state.h | 6 +- src/mesa/drivers/dri/i965/brw_state_cache.c | 49 +- src/mesa/drivers/dri/i965/brw_state_upload.c | 18 +- src/mesa/drivers/dri/i965/brw_wm.c | 27 +- src/mesa/drivers/dri/i965/brw_wm.h | 2 + src/mesa/drivers/dri/i965/brw_wm_debug.c | 108 + src/mesa/drivers/dri/i965/brw_wm_emit.c | 2 + src/mesa/drivers/dri/i965/gen6_wm_sr.c | 31 + src/mesa/drivers/dri/i965/gen_wm_sr.g4a |32826 ++++++++++++++++++++++++++ 15 files changed, 33088 insertions(+), 23 deletions(-) libdrm: intel/Makefile.am | 3 ++- intel/intel_debug.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletions(-) intel-gpu-tools: configure.ac | 1 + debugger/Makefile.am | 12 + debugger/debug_rdata.c | 141 +++++++ debugger/eudb.c | 590 ++++++++++++++++++++++++++++++ debugger/system_routine/Makefile | 84 +++++ debugger/system_routine/eviction_macro.c | 48 +++ debugger/system_routine/pre_cpp.py | 123 +++++++ debugger/system_routine/sr.g4a | 277 ++++++++++++++ debugger/system_routine/test.g4a | 64 ++++ lib/Makefile.am | 1 + lib/debug.h | 92 +++++ lib/intel_chipset.h | 8 + lib/intel_gpu_tools.h | 27 ++ lib/intel_mmio.c | 178 +++++++++ lib/intel_reg.h | 5 + lib/intel_reg_map.c | 174 +++++++++ tools/Makefile.am | 1 + tools/forcewaked.c | 45 +++ 18 files changed, 1871 insertions(+), 0 deletions(-) ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 01/10] intel: shared header for shader debugging 2011-07-13 20:51 [PATCH 0/10] fs shader debugging Ben Widawsky @ 2011-07-13 20:51 ` Ben Widawsky 2011-07-13 20:56 ` Chris Wilson 2011-07-19 21:06 ` [Intel-gfx] " Julien Cristau 2011-07-13 22:06 ` [PATCH 0/10] fs " Ben Widawsky 1 sibling, 2 replies; 11+ messages in thread From: Ben Widawsky @ 2011-07-13 20:51 UTC (permalink / raw) To: intel-gfx; +Cc: Ben Widawsky, Carl Worth, dri-devel Signed-off-by: Ben Widawsky <ben@bwidawsk.net> --- intel/Makefile.am | 3 ++- intel/intel_debug.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletions(-) diff --git a/intel/Makefile.am b/intel/Makefile.am index b6a9014..7a44aaf 100644 --- a/intel/Makefile.am +++ b/intel/Makefile.am @@ -45,6 +45,7 @@ libdrm_intel_la_SOURCES = \ mm.h libdrm_intelincludedir = ${includedir}/libdrm -libdrm_intelinclude_HEADERS = intel_bufmgr.h +libdrm_intelinclude_HEADERS = intel_bufmgr.h \ + intel_debug.h pkgconfig_DATA = libdrm_intel.pc diff --git a/intel/intel_debug.h b/intel/intel_debug.h new file mode 100644 index 0000000..42ea1d8 --- /dev/null +++ b/intel/intel_debug.h @@ -0,0 +1,44 @@ +/* + * Copyright © 2011 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Ben Widawsky <ben@bwidawsk.net> + * + */ + +#ifndef INTEL_DEBUG_H +#define INTEL_DEBUG_H + +#include <stdint.h> + +#define SHADER_DEBUG_SOCKET "/tmp/gen_debug" +#define DEBUG_HANDSHAKE_VERSION 0x2 +#define DEBUG_HANDSHAKE_ACK "okay" + +/* First byte must always be the 1 byte version */ +struct debug_handshake { + uint8_t version; + int flink_handle; + uint32_t per_thread_scratch; +} __attribute__((packed)); + +#endif -- 1.7.6 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 01/10] intel: shared header for shader debugging 2011-07-13 20:51 ` [PATCH 01/10] intel: shared header for " Ben Widawsky @ 2011-07-13 20:56 ` Chris Wilson 2011-07-19 21:06 ` [Intel-gfx] " Julien Cristau 1 sibling, 0 replies; 11+ messages in thread From: Chris Wilson @ 2011-07-13 20:56 UTC (permalink / raw) To: intel-gfx; +Cc: Ben Widawsky, Carl Worth, dri-devel [-- Attachment #1: Type: text/plain, Size: 2926 bytes --] On Wed, 13 Jul 2011 13:51:43 -0700, Ben Widawsky <ben@bwidawsk.net> wrote: > > Signed-off-by: Ben Widawsky <ben@bwidawsk.net> > --- > intel/Makefile.am | 3 ++- > intel/intel_debug.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 46 insertions(+), 1 deletions(-) > > diff --git a/intel/Makefile.am b/intel/Makefile.am > index b6a9014..7a44aaf 100644 > --- a/intel/Makefile.am > +++ b/intel/Makefile.am > @@ -45,6 +45,7 @@ libdrm_intel_la_SOURCES = \ > mm.h > > libdrm_intelincludedir = ${includedir}/libdrm > -libdrm_intelinclude_HEADERS = intel_bufmgr.h > +libdrm_intelinclude_HEADERS = intel_bufmgr.h \ > + intel_debug.h > > pkgconfig_DATA = libdrm_intel.pc > diff --git a/intel/intel_debug.h b/intel/intel_debug.h > new file mode 100644 > index 0000000..42ea1d8 > --- /dev/null > +++ b/intel/intel_debug.h > @@ -0,0 +1,44 @@ > +/* > + * Copyright © 2011 Intel Corporation > + * > + * Permission is hereby granted, free of charge, to any person obtaining a > + * copy of this software and associated documentation files (the "Software"), > + * to deal in the Software without restriction, including without limitation > + * the rights to use, copy, modify, merge, publish, distribute, sublicense, > + * and/or sell copies of the Software, and to permit persons to whom the > + * Software is furnished to do so, subject to the following conditions: > + * > + * The above copyright notice and this permission notice (including the next > + * paragraph) shall be included in all copies or substantial portions of the > + * Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL > + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER > + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS > + * IN THE SOFTWARE. > + * > + * Authors: > + * Ben Widawsky <ben@bwidawsk.net> > + * > + */ > + > +#ifndef INTEL_DEBUG_H > +#define INTEL_DEBUG_H > + > +#include <stdint.h> > + > +#define SHADER_DEBUG_SOCKET "/tmp/gen_debug" > +#define DEBUG_HANDSHAKE_VERSION 0x2 > +#define DEBUG_HANDSHAKE_ACK "okay" > + > +/* First byte must always be the 1 byte version */ > +struct debug_handshake { > + uint8_t version; > + int flink_handle; > + uint32_t per_thread_scratch; > +} __attribute__((packed)); Let's use an intel_ namespace to avoid any potential confusion. Do you want to reserve the first uint32_t for your protocol header? Then it at least looks like the hole will be useful in future... I'm not overly thrilled by intel_debug.h, it's so generic but I can't think of anything better. -Chris -- Chris Wilson, Intel Open Source Technology Centre [-- Attachment #2: Type: text/plain, Size: 159 bytes --] _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 01/10] intel: shared header for shader debugging 2011-07-13 20:51 ` [PATCH 01/10] intel: shared header for " Ben Widawsky 2011-07-13 20:56 ` Chris Wilson @ 2011-07-19 21:06 ` Julien Cristau 2011-07-21 13:54 ` Ben Widawsky 1 sibling, 1 reply; 11+ messages in thread From: Julien Cristau @ 2011-07-19 21:06 UTC (permalink / raw) To: Ben Widawsky; +Cc: intel-gfx, dri-devel On Wed, Jul 13, 2011 at 13:51:43 -0700, Ben Widawsky wrote: > +#define SHADER_DEBUG_SOCKET "/tmp/gen_debug" Not sure what this is used for, but does it really need to be in /tmp? Cheers, Julien ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 01/10] intel: shared header for shader debugging 2011-07-19 21:06 ` [Intel-gfx] " Julien Cristau @ 2011-07-21 13:54 ` Ben Widawsky 2011-07-21 21:22 ` [Intel-gfx] " Julien Cristau 0 siblings, 1 reply; 11+ messages in thread From: Ben Widawsky @ 2011-07-21 13:54 UTC (permalink / raw) To: Julien Cristau; +Cc: intel-gfx, dri-devel On Tue, Jul 19, 2011 at 11:06:17PM +0200, Julien Cristau wrote: > On Wed, Jul 13, 2011 at 13:51:43 -0700, Ben Widawsky wrote: > > > +#define SHADER_DEBUG_SOCKET "/tmp/gen_debug" > > Not sure what this is used for, but does it really need to be in /tmp? It is the shared socket between a debug client (ie. Mesa) and the debugger. I don't care where it goes, do you have any recommendations? > > Cheers, > Julien Thanks. Ben ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 01/10] intel: shared header for shader debugging 2011-07-21 13:54 ` Ben Widawsky @ 2011-07-21 21:22 ` Julien Cristau 2011-07-27 15:08 ` Ben Widawsky 0 siblings, 1 reply; 11+ messages in thread From: Julien Cristau @ 2011-07-21 21:22 UTC (permalink / raw) To: Ben Widawsky; +Cc: intel-gfx, dri-devel On Thu, Jul 21, 2011 at 13:54:41 +0000, Ben Widawsky wrote: > On Tue, Jul 19, 2011 at 11:06:17PM +0200, Julien Cristau wrote: > > On Wed, Jul 13, 2011 at 13:51:43 -0700, Ben Widawsky wrote: > > > > > +#define SHADER_DEBUG_SOCKET "/tmp/gen_debug" > > > > Not sure what this is used for, but does it really need to be in /tmp? > > It is the shared socket between a debug client (ie. Mesa) and the > debugger. I don't care where it goes, do you have any recommendations? > Somewhere under $HOME is probably better than a predictable file name in /tmp. Cheers, Julien ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 01/10] intel: shared header for shader debugging 2011-07-21 21:22 ` [Intel-gfx] " Julien Cristau @ 2011-07-27 15:08 ` Ben Widawsky 2011-07-27 15:16 ` Julien Cristau 0 siblings, 1 reply; 11+ messages in thread From: Ben Widawsky @ 2011-07-27 15:08 UTC (permalink / raw) To: Julien Cristau; +Cc: intel-gfx, dri-devel On Thu, Jul 21, 2011 at 11:22:12PM +0200, Julien Cristau wrote: > On Thu, Jul 21, 2011 at 13:54:41 +0000, Ben Widawsky wrote: > > > On Tue, Jul 19, 2011 at 11:06:17PM +0200, Julien Cristau wrote: > > > On Wed, Jul 13, 2011 at 13:51:43 -0700, Ben Widawsky wrote: > > > > > > > +#define SHADER_DEBUG_SOCKET "/tmp/gen_debug" > > > > > > Not sure what this is used for, but does it really need to be in /tmp? > > > > It is the shared socket between a debug client (ie. Mesa) and the > > debugger. I don't care where it goes, do you have any recommendations? > > > Somewhere under $HOME is probably better than a predictable file name in > /tmp. $HOME is not great because it requires a little hackery to accomplish. The debugger will be running as root, and so if we put it in root's $HOME, mesa may not be able to reach it. > > Cheers, > Julien Ben ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 01/10] intel: shared header for shader debugging 2011-07-27 15:08 ` Ben Widawsky @ 2011-07-27 15:16 ` Julien Cristau 2011-07-27 15:28 ` Alan Cox 2011-07-27 15:40 ` Ben Widawsky 0 siblings, 2 replies; 11+ messages in thread From: Julien Cristau @ 2011-07-27 15:16 UTC (permalink / raw) To: Ben Widawsky; +Cc: intel-gfx, dri-devel On Wed, Jul 27, 2011 at 15:08:08 +0000, Ben Widawsky wrote: > On Thu, Jul 21, 2011 at 11:22:12PM +0200, Julien Cristau wrote: > > On Thu, Jul 21, 2011 at 13:54:41 +0000, Ben Widawsky wrote: > > > > > On Tue, Jul 19, 2011 at 11:06:17PM +0200, Julien Cristau wrote: > > > > On Wed, Jul 13, 2011 at 13:51:43 -0700, Ben Widawsky wrote: > > > > > > > > > +#define SHADER_DEBUG_SOCKET "/tmp/gen_debug" > > > > > > > > Not sure what this is used for, but does it really need to be in /tmp? > > > > > > It is the shared socket between a debug client (ie. Mesa) and the > > > debugger. I don't care where it goes, do you have any recommendations? > > > > > Somewhere under $HOME is probably better than a predictable file name in > > /tmp. > > $HOME is not great because it requires a little hackery to accomplish. > The debugger will be running as root, and so if we put it in root's > $HOME, mesa may not be able to reach it. > Ah, I didn't realise this would run as root. Would /run (or /var/run) be ok then? Alternately, use an abstract domain socket to not have to care about the underlying filesystem. Cheers, Julien ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 01/10] intel: shared header for shader debugging 2011-07-27 15:16 ` Julien Cristau @ 2011-07-27 15:28 ` Alan Cox 2011-07-27 15:40 ` Ben Widawsky 1 sibling, 0 replies; 11+ messages in thread From: Alan Cox @ 2011-07-27 15:28 UTC (permalink / raw) To: Julien Cristau; +Cc: Ben Widawsky, intel-gfx, dri-devel > Ah, I didn't realise this would run as root. Would /run (or /var/run) > be ok then? Alternately, use an abstract domain socket to not have to > care about the underlying filesystem. Abstract sockets are a bit of a Linux specific feature. You also don't want sockets in /home as it may well be NFS mounted on some configurations and AF_UNIX sockets don't mix with NFS. /var/run would probably be a lot more sensible for a system debug interface I agree. Alan ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 01/10] intel: shared header for shader debugging 2011-07-27 15:16 ` Julien Cristau 2011-07-27 15:28 ` Alan Cox @ 2011-07-27 15:40 ` Ben Widawsky 1 sibling, 0 replies; 11+ messages in thread From: Ben Widawsky @ 2011-07-27 15:40 UTC (permalink / raw) To: Julien Cristau; +Cc: intel-gfx, dri-devel On Wed, Jul 27, 2011 at 05:16:31PM +0200, Julien Cristau wrote: > On Wed, Jul 27, 2011 at 15:08:08 +0000, Ben Widawsky wrote: > > > On Thu, Jul 21, 2011 at 11:22:12PM +0200, Julien Cristau wrote: > > > On Thu, Jul 21, 2011 at 13:54:41 +0000, Ben Widawsky wrote: > > > > > > > On Tue, Jul 19, 2011 at 11:06:17PM +0200, Julien Cristau wrote: > > > > > On Wed, Jul 13, 2011 at 13:51:43 -0700, Ben Widawsky wrote: > > > > > > > > > > > +#define SHADER_DEBUG_SOCKET "/tmp/gen_debug" > > > > > > > > > > Not sure what this is used for, but does it really need to be in /tmp? > > > > > > > > It is the shared socket between a debug client (ie. Mesa) and the > > > > debugger. I don't care where it goes, do you have any recommendations? > > > > > > > Somewhere under $HOME is probably better than a predictable file name in > > > /tmp. > > > > $HOME is not great because it requires a little hackery to accomplish. > > The debugger will be running as root, and so if we put it in root's > > $HOME, mesa may not be able to reach it. > > > Ah, I didn't realise this would run as root. Would /run (or /var/run) > be ok then? Alternately, use an abstract domain socket to not have to > care about the underlying filesystem. I wasn't even aware of abstract domain sockets. Seems like fun, let me try that one first. Ben ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 0/10] fs shader debugging 2011-07-13 20:51 [PATCH 0/10] fs shader debugging Ben Widawsky 2011-07-13 20:51 ` [PATCH 01/10] intel: shared header for " Ben Widawsky @ 2011-07-13 22:06 ` Ben Widawsky 1 sibling, 0 replies; 11+ messages in thread From: Ben Widawsky @ 2011-07-13 22:06 UTC (permalink / raw) To: intel-gfx; +Cc: mesa-dev, dri-devel On Wed, Jul 13, 2011 at 01:51:42PM -0700, Ben Widawsky wrote: > > > Version 2 of the patch series is pretty much the same as version 1. 2 of the > patches have already been picked up by the kernel and mesa so they are > gone. > > The only major change is in mesa where I no longer load a binary blob > from an environment variable, but instead compile the bytes directly in > to Mesa. > > Ben I forgot to mention that I'm still working on the readme for how this all works. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2011-07-27 15:40 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-07-13 20:51 [PATCH 0/10] fs shader debugging Ben Widawsky 2011-07-13 20:51 ` [PATCH 01/10] intel: shared header for " Ben Widawsky 2011-07-13 20:56 ` Chris Wilson 2011-07-19 21:06 ` [Intel-gfx] " Julien Cristau 2011-07-21 13:54 ` Ben Widawsky 2011-07-21 21:22 ` [Intel-gfx] " Julien Cristau 2011-07-27 15:08 ` Ben Widawsky 2011-07-27 15:16 ` Julien Cristau 2011-07-27 15:28 ` Alan Cox 2011-07-27 15:40 ` Ben Widawsky 2011-07-13 22:06 ` [PATCH 0/10] fs " Ben Widawsky
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).