diff options
author | Mark Janes <[email protected]> | 2019-04-05 15:39:51 -0700 |
---|---|---|
committer | Mark Janes <[email protected]> | 2019-04-10 13:15:33 -0700 |
commit | 2393cc7f00ee1b94c07e29fb82fc14add89e1238 (patch) | |
tree | cfa79cd6081983364e3b5321c9bbdeb2bf1698c6 /src/intel/common | |
parent | 03d6d01fe264c0c7e03428202424f183b5086464 (diff) |
intel/common: move gen_debug to intel/dev
libintel_common depends on libintel_compiler, but it contains debug
functionality that is needed by libintel_compiler. Break the circular
dependency by moving gen_debug files to libintel_dev.
Suggested-by: Kenneth Graunke <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel/common')
-rw-r--r-- | src/intel/common/gen_debug.c | 120 | ||||
-rw-r--r-- | src/intel/common/gen_debug.h | 124 | ||||
-rw-r--r-- | src/intel/common/meson.build | 2 |
3 files changed, 0 insertions, 246 deletions
diff --git a/src/intel/common/gen_debug.c b/src/intel/common/gen_debug.c deleted file mode 100644 index 49af1163314..00000000000 --- a/src/intel/common/gen_debug.c +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright 2003 VMware, Inc. - * Copyright © 2006 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. - */ - -/** - * \file gen_debug.c - * - * Support for the INTEL_DEBUG environment variable, along with other - * miscellaneous debugging code. - */ - -#include <stdlib.h> - -#include "common/gen_debug.h" -#include "util/macros.h" -#include "util/debug.h" -#include "c11/threads.h" - -uint64_t INTEL_DEBUG = 0; - -static const struct debug_control debug_control[] = { - { "tex", DEBUG_TEXTURE}, - { "state", DEBUG_STATE}, - { "blit", DEBUG_BLIT}, - { "mip", DEBUG_MIPTREE}, - { "fall", DEBUG_PERF}, - { "perf", DEBUG_PERF}, - { "perfmon", DEBUG_PERFMON}, - { "bat", DEBUG_BATCH}, - { "pix", DEBUG_PIXEL}, - { "buf", DEBUG_BUFMGR}, - { "fbo", DEBUG_FBO}, - { "fs", DEBUG_WM }, - { "gs", DEBUG_GS}, - { "sync", DEBUG_SYNC}, - { "prim", DEBUG_PRIMS }, - { "vert", DEBUG_VERTS }, - { "dri", DEBUG_DRI }, - { "sf", DEBUG_SF }, - { "submit", DEBUG_SUBMIT }, - { "wm", DEBUG_WM }, - { "urb", DEBUG_URB }, - { "vs", DEBUG_VS }, - { "clip", DEBUG_CLIP }, - { "shader_time", DEBUG_SHADER_TIME }, - { "no16", DEBUG_NO16 }, - { "blorp", DEBUG_BLORP }, - { "nodualobj", DEBUG_NO_DUAL_OBJECT_GS }, - { "optimizer", DEBUG_OPTIMIZER }, - { "ann", DEBUG_ANNOTATION }, - { "no8", DEBUG_NO8 }, - { "no-oaconfig", DEBUG_NO_OACONFIG }, - { "spill_fs", DEBUG_SPILL_FS }, - { "spill_vec4", DEBUG_SPILL_VEC4 }, - { "cs", DEBUG_CS }, - { "hex", DEBUG_HEX }, - { "nocompact", DEBUG_NO_COMPACTION }, - { "hs", DEBUG_TCS }, - { "tcs", DEBUG_TCS }, - { "ds", DEBUG_TES }, - { "tes", DEBUG_TES }, - { "l3", DEBUG_L3 }, - { "do32", DEBUG_DO32 }, - { "norbc", DEBUG_NO_RBC }, - { "nohiz", DEBUG_NO_HIZ }, - { "color", DEBUG_COLOR }, - { "reemit", DEBUG_REEMIT }, - { "soft64", DEBUG_SOFT64 }, - { NULL, 0 } -}; - -uint64_t -intel_debug_flag_for_shader_stage(gl_shader_stage stage) -{ - uint64_t flags[] = { - [MESA_SHADER_VERTEX] = DEBUG_VS, - [MESA_SHADER_TESS_CTRL] = DEBUG_TCS, - [MESA_SHADER_TESS_EVAL] = DEBUG_TES, - [MESA_SHADER_GEOMETRY] = DEBUG_GS, - [MESA_SHADER_FRAGMENT] = DEBUG_WM, - [MESA_SHADER_COMPUTE] = DEBUG_CS, - }; - STATIC_ASSERT(MESA_SHADER_STAGES == 6); - return flags[stage]; -} - -static void -brw_process_intel_debug_variable_once(void) -{ - INTEL_DEBUG = parse_debug_string(getenv("INTEL_DEBUG"), debug_control); -} - -void -brw_process_intel_debug_variable(void) -{ - static once_flag process_intel_debug_variable_flag = ONCE_FLAG_INIT; - - call_once(&process_intel_debug_variable_flag, - brw_process_intel_debug_variable_once); -} diff --git a/src/intel/common/gen_debug.h b/src/intel/common/gen_debug.h deleted file mode 100644 index e4dabc67f8d..00000000000 --- a/src/intel/common/gen_debug.h +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 2003 VMware, Inc. - * Copyright © 2007 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 COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS 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. - */ - -#ifndef GEN_DEBUG_H -#define GEN_DEBUG_H - -#include <stdint.h> -#include "compiler/shader_enums.h" - -#ifdef __cplusplus -extern "C" { -#endif -/** - * \file gen_debug.h - * - * Basic INTEL_DEBUG environment variable handling. This file defines the - * list of debugging flags, as well as some macros for handling them. - */ - -extern uint64_t INTEL_DEBUG; - -#define DEBUG_TEXTURE (1ull << 0) -#define DEBUG_STATE (1ull << 1) -#define DEBUG_BLIT (1ull << 2) -#define DEBUG_MIPTREE (1ull << 3) -#define DEBUG_PERF (1ull << 4) -#define DEBUG_PERFMON (1ull << 5) -#define DEBUG_BATCH (1ull << 6) -#define DEBUG_PIXEL (1ull << 7) -#define DEBUG_BUFMGR (1ull << 8) -#define DEBUG_FBO (1ull << 9) -#define DEBUG_GS (1ull << 10) -#define DEBUG_SYNC (1ull << 11) -#define DEBUG_PRIMS (1ull << 12) -#define DEBUG_VERTS (1ull << 13) -#define DEBUG_DRI (1ull << 14) -#define DEBUG_SF (1ull << 15) -#define DEBUG_SUBMIT (1ull << 16) -#define DEBUG_WM (1ull << 17) -#define DEBUG_URB (1ull << 18) -#define DEBUG_VS (1ull << 19) -#define DEBUG_CLIP (1ull << 20) -#define DEBUG_SHADER_TIME (1ull << 21) -#define DEBUG_BLORP (1ull << 22) -#define DEBUG_NO16 (1ull << 23) -#define DEBUG_NO_DUAL_OBJECT_GS (1ull << 24) -#define DEBUG_OPTIMIZER (1ull << 25) -#define DEBUG_ANNOTATION (1ull << 26) -#define DEBUG_NO8 (1ull << 27) -#define DEBUG_NO_OACONFIG (1ull << 28) -#define DEBUG_SPILL_FS (1ull << 29) -#define DEBUG_SPILL_VEC4 (1ull << 30) -#define DEBUG_CS (1ull << 31) -#define DEBUG_HEX (1ull << 32) -#define DEBUG_NO_COMPACTION (1ull << 33) -#define DEBUG_TCS (1ull << 34) -#define DEBUG_TES (1ull << 35) -#define DEBUG_L3 (1ull << 36) -#define DEBUG_DO32 (1ull << 37) -#define DEBUG_NO_RBC (1ull << 38) -#define DEBUG_NO_HIZ (1ull << 39) -#define DEBUG_COLOR (1ull << 40) -#define DEBUG_REEMIT (1ull << 41) -#define DEBUG_SOFT64 (1ull << 42) - -/* These flags are not compatible with the disk shader cache */ -#define DEBUG_DISK_CACHE_DISABLE_MASK DEBUG_SHADER_TIME - -/* These flags may affect program generation */ -#define DEBUG_DISK_CACHE_MASK \ - (DEBUG_NO16 | DEBUG_NO_DUAL_OBJECT_GS | DEBUG_NO8 | DEBUG_SPILL_FS | \ - DEBUG_SPILL_VEC4 | DEBUG_NO_COMPACTION | DEBUG_DO32 | DEBUG_SOFT64) - -#ifdef HAVE_ANDROID_PLATFORM -#define LOG_TAG "INTEL-MESA" -#if ANDROID_API_LEVEL >= 26 -#include <log/log.h> -#else -#include <cutils/log.h> -#endif /* use log/log.h start from android 8 major version */ -#ifndef ALOGW -#define ALOGW LOGW -#endif -#define dbg_printf(...) ALOGW(__VA_ARGS__) -#else -#define dbg_printf(...) fprintf(stderr, __VA_ARGS__) -#endif /* HAVE_ANDROID_PLATFORM */ - -#define DBG(...) do { \ - if (unlikely(INTEL_DEBUG & FILE_DEBUG_FLAG)) \ - dbg_printf(__VA_ARGS__); \ -} while(0) - -extern uint64_t intel_debug_flag_for_shader_stage(gl_shader_stage stage); - -extern void brw_process_intel_debug_variable(void); - -#ifdef __cplusplus -} -#endif - -#endif /* GEN_DEBUG_H */ diff --git a/src/intel/common/meson.build b/src/intel/common/meson.build index ec45962502e..19ee2f64875 100644 --- a/src/intel/common/meson.build +++ b/src/intel/common/meson.build @@ -23,8 +23,6 @@ files_libintel_common = files( 'gen_clflush.h', 'gen_batch_decoder.c', - 'gen_debug.c', - 'gen_debug.h', 'gen_decoder.c', 'gen_decoder.h', 'gen_disasm.c', |