Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/gallium/auxiliary/driver_ddebug/dd_util.h
4561 views
1
/**************************************************************************
2
*
3
* Copyright 2015 Advanced Micro Devices, Inc.
4
* Copyright 2008 VMware, Inc.
5
* All Rights Reserved.
6
*
7
* Permission is hereby granted, free of charge, to any person obtaining a
8
* copy of this software and associated documentation files (the "Software"),
9
* to deal in the Software without restriction, including without limitation
10
* on the rights to use, copy, modify, merge, publish, distribute, sub
11
* license, and/or sell copies of the Software, and to permit persons to whom
12
* the Software is furnished to do so, subject to the following conditions:
13
*
14
* The above copyright notice and this permission notice (including the next
15
* paragraph) shall be included in all copies or substantial portions of the
16
* Software.
17
*
18
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
21
* THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
22
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
23
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
24
* USE OR OTHER DEALINGS IN THE SOFTWARE.
25
*
26
**************************************************************************/
27
28
#ifndef DD_UTIL_H
29
#define DD_UTIL_H
30
31
#include <stdio.h>
32
#include <errno.h>
33
34
#include "c99_alloca.h"
35
#include "os/os_process.h"
36
#include "util/u_atomic.h"
37
#include "util/u_debug.h"
38
#include "util/u_string.h"
39
40
#include "pipe/p_config.h"
41
#if defined(PIPE_OS_UNIX)
42
#include <unistd.h>
43
#include <sys/stat.h>
44
#elif defined(PIPE_OS_WINDOWS)
45
#include <direct.h>
46
#include <process.h>
47
#define mkdir(dir, mode) _mkdir(dir)
48
#endif
49
50
struct pipe_screen;
51
52
/* name of the directory in home */
53
#define DD_DIR "ddebug_dumps"
54
55
void
56
dd_get_debug_filename_and_mkdir(char *buf, size_t buflen, bool verbose);
57
58
FILE *
59
dd_get_debug_file(bool verbose);
60
61
void
62
dd_parse_apitrace_marker(const char *string, int len, unsigned *call_number);
63
64
void
65
dd_write_header(FILE *f, struct pipe_screen *screen, unsigned apitrace_call_number);
66
67
#endif /* DD_UTIL_H */
68
69