Path: blob/21.2-virgl/src/gallium/auxiliary/driver_ddebug/dd_util.h
4561 views
/**************************************************************************1*2* Copyright 2015 Advanced Micro Devices, Inc.3* Copyright 2008 VMware, Inc.4* All Rights Reserved.5*6* Permission is hereby granted, free of charge, to any person obtaining a7* copy of this software and associated documentation files (the "Software"),8* to deal in the Software without restriction, including without limitation9* on the rights to use, copy, modify, merge, publish, distribute, sub10* license, and/or sell copies of the Software, and to permit persons to whom11* the Software is furnished to do so, subject to the following conditions:12*13* The above copyright notice and this permission notice (including the next14* paragraph) shall be included in all copies or substantial portions of the15* Software.16*17* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR18* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,19* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL20* THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,21* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR22* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE23* USE OR OTHER DEALINGS IN THE SOFTWARE.24*25**************************************************************************/2627#ifndef DD_UTIL_H28#define DD_UTIL_H2930#include <stdio.h>31#include <errno.h>3233#include "c99_alloca.h"34#include "os/os_process.h"35#include "util/u_atomic.h"36#include "util/u_debug.h"37#include "util/u_string.h"3839#include "pipe/p_config.h"40#if defined(PIPE_OS_UNIX)41#include <unistd.h>42#include <sys/stat.h>43#elif defined(PIPE_OS_WINDOWS)44#include <direct.h>45#include <process.h>46#define mkdir(dir, mode) _mkdir(dir)47#endif4849struct pipe_screen;5051/* name of the directory in home */52#define DD_DIR "ddebug_dumps"5354void55dd_get_debug_filename_and_mkdir(char *buf, size_t buflen, bool verbose);5657FILE *58dd_get_debug_file(bool verbose);5960void61dd_parse_apitrace_marker(const char *string, int len, unsigned *call_number);6263void64dd_write_header(FILE *f, struct pipe_screen *screen, unsigned apitrace_call_number);6566#endif /* DD_UTIL_H */676869