This is the revised patch series for fragment shader debugging.
There is no major change, though of interest are: * forcewaked acts more like a daemon * forcewaked isn't needed for debugging only there for sample * i915 detection is now done by stating i915_forcewake_user_lock * register range checking fails for gen2/gen3
drm: intel/Makefile.am | 3 ++- intel/intel_debug.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletions(-)
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 | 12 +- 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, 33087 insertions(+), 23 deletions(-)
intel-gpu-tools: configure.ac | 1 + debugger/Makefile.am | 12 + debugger/debug_rdata.c | 141 +++++++ debugger/eudb.c | 604 ++++++++++++++++++++++++++++++ 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 | 162 ++++++++- lib/intel_reg.h | 4 + lib/intel_reg_map.c | 178 +++++++++ tools/Makefile.am | 1 + tools/forcewaked.c | 106 ++++++ 18 files changed, 1932 insertions(+), 1 deletions(-)
Thanks. Ben
Cc: Chris Wilson chris@chris-wilson.co.uk 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..68c3f62 --- /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 intel_debug_handshake { + uint8_t version; + int flink_handle; + uint32_t per_thread_scratch; +} __attribute__((packed)); + +#endif
dri-devel@lists.freedesktop.org