1165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca/**************************************************************************
2165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca *
3165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * Copyright 2008-2010 VMware, Inc.
4165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * All Rights Reserved.
5165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca *
6165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * Permission is hereby granted, free of charge, to any person obtaining a
7165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * copy of this software and associated documentation files (the
8165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * "Software"), to deal in the Software without restriction, including
9165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * without limitation the rights to use, copy, modify, merge, publish,
10165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * distribute, sub license, and/or sell copies of the Software, and to
11165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * permit persons to whom the Software is furnished to do so, subject to
12165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * the following conditions:
13165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca *
14165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * The above copyright notice and this permission notice (including the
15165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * next paragraph) shall be included in all copies or substantial portions
16165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * of the Software.
17165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca *
18165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
22165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca *
26165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca **************************************************************************/
27165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
28165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
29165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#include "pipe/p_compiler.h"
30165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#include "util/u_memory.h"
31165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#include "util/u_string.h"
32165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#include "util/u_format.h"
33165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#include "tgsi/tgsi_dump.h"
34165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
35165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#include "u_dump.h"
36165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
37165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
38165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca/*
39165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * Dump primitives
40165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca */
41165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
42165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic INLINE void
4357f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_stream_writef(FILE *stream, const char *format, ...)
44165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
45165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   static char buf[1024];
46165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   unsigned len;
47165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   va_list ap;
48165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   va_start(ap, format);
49165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   len = util_vsnprintf(buf, sizeof(buf), format, ap);
50165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   va_end(ap);
5157f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonseca   fwrite(buf, len, 1, stream);
52165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
53165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
54165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
5557f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_bool(FILE *stream, int value)
56165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
57165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_stream_writef(stream, "%c", value ? '1' : '0');
58165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
59165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
60165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
6157f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_int(FILE *stream, long long int value)
62165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
63165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_stream_writef(stream, "%lli", value);
64165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
65165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
66165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
6757f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_uint(FILE *stream, long long unsigned value)
68165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
69165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_stream_writef(stream, "%llu", value);
70165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
71165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
72165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
7357f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_float(FILE *stream, double value)
74165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
75165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_stream_writef(stream, "%g", value);
76165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
77165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
78165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
7957f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_string(FILE *stream, const char *str)
80165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
8157f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonseca   fputs("\"", stream);
8257f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonseca   fputs(str, stream);
8357f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonseca   fputs("\"", stream);
84165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
85165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
86165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
8757f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_enum(FILE *stream, const char *value)
88165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
8957f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonseca   fputs(value, stream);
90165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
91165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
92165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
9357f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_array_begin(FILE *stream)
94165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
9557f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonseca   fputs("{", stream);
96165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
97165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
98165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
9957f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_array_end(FILE *stream)
100165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
10157f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonseca   fputs("}", stream);
102165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
103165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
104165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
10557f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_elem_begin(FILE *stream)
106165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
107165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
108165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
109165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
11057f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_elem_end(FILE *stream)
111165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
11257f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonseca   fputs(", ", stream);
113165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
114165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
115165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
11657f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_struct_begin(FILE *stream, const char *name)
117165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
11857f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonseca   fputs("{", stream);
119165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
120165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
121165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
12257f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_struct_end(FILE *stream)
123165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
12457f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonseca   fputs("}", stream);
125165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
126165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
127165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
12857f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_member_begin(FILE *stream, const char *name)
129165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
130165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_stream_writef(stream, "%s = ", name);
131165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
132165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
133165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
13457f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_member_end(FILE *stream)
135165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
13657f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonseca   fputs(", ", stream);
137165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
138165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
139165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
14057f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_null(FILE *stream)
141165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
14257f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonseca   fputs("NULL", stream);
143165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
144165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
145165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
14657f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_ptr(FILE *stream, const void *value)
147165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
148165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(value)
149165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_stream_writef(stream, "0x%08lx", (unsigned long)(uintptr_t)value);
150165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   else
151165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
152165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
153165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
154165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
155165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca/*
156165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * Code saving macros.
157165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca */
158165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
159165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_arg(_stream, _type, _arg) \
160165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   do { \
161165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_arg_begin(_stream, #_arg); \
162165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_##_type(_stream, _arg); \
163165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_arg_end(_stream); \
164165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   } while(0)
165165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
166165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_ret(_stream, _type, _arg) \
167165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   do { \
168165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_ret_begin(_stream); \
169165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_##_type(_stream, _arg); \
170165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_ret_end(_stream); \
171165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   } while(0)
172165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
173165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_array(_stream, _type, _obj, _size) \
174165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   do { \
175165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      size_t idx; \
176165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_array_begin(_stream); \
177165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      for(idx = 0; idx < (_size); ++idx) { \
178165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca         util_dump_elem_begin(_stream); \
179165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca         util_dump_##_type(_stream, (_obj)[idx]); \
180165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca         util_dump_elem_end(_stream); \
181165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      } \
182165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_array_end(_stream); \
183165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   } while(0)
184165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
185165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_struct_array(_stream, _type, _obj, _size) \
186165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   do { \
187165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      size_t idx; \
188165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_array_begin(_stream); \
189165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      for(idx = 0; idx < (_size); ++idx) { \
190165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca         util_dump_elem_begin(_stream); \
191165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca         util_dump_##_type(_stream, &(_obj)[idx]); \
192165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca         util_dump_elem_end(_stream); \
193165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      } \
194165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_array_end(_stream); \
195165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   } while(0)
196165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
197165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_member(_stream, _type, _obj, _member) \
198165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   do { \
199165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_member_begin(_stream, #_member); \
200165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_##_type(_stream, (_obj)->_member); \
201165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_member_end(_stream); \
202165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   } while(0)
203165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
204165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_arg_array(_stream, _type, _arg, _size) \
205165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   do { \
206165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_arg_begin(_stream, #_arg); \
207165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_array(_stream, _type, _arg, _size); \
208165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_arg_end(_stream); \
209165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   } while(0)
210165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
211165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_member_array(_stream, _type, _obj, _member) \
212165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   do { \
213165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_member_begin(_stream, #_member); \
214165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_array(_stream, _type, (_obj)->_member, sizeof((_obj)->_member)/sizeof((_obj)->_member[0])); \
215165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_member_end(_stream); \
216165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   } while(0)
217165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
218165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
219165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
220165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca/*
221165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * Wrappers for enum -> string dumpers.
222165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca */
223165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
224165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
225165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
22657f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_format(FILE *stream, enum pipe_format format)
227165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
228165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_enum(stream, util_format_name(format));
229165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
230165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
231165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
232165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
23357f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_enum_blend_factor(FILE *stream, unsigned value)
234165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
235165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_enum(stream, util_dump_blend_factor(value, TRUE));
236165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
237165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
238165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
23957f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_enum_blend_func(FILE *stream, unsigned value)
240165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
241165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_enum(stream, util_dump_blend_func(value, TRUE));
242165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
243165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
244165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void
24557f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_enum_func(FILE *stream, unsigned value)
246165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
247165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_enum(stream, util_dump_func(value, TRUE));
248165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
249165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
250165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
251165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca/*
252165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * Public functions
253165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca */
254165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
255165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
256165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
25757f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_template(FILE *stream, const struct pipe_resource *templat)
258165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
259165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!templat) {
260165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
261165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
262165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
263165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
264287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell   util_dump_struct_begin(stream, "pipe_resource");
265165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
266165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, int, templat, target);
267165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, format, templat, format);
268165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
269165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_begin(stream, "width");
270165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_uint(stream, templat->width0);
271165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_end(stream);
272165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
273165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_begin(stream, "height");
274165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_uint(stream, templat->height0);
275165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_end(stream);
276165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
277165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_begin(stream, "depth");
278165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_uint(stream, templat->depth0);
279165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_end(stream);
280165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
2814c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   util_dump_member_begin(stream, "array_size");
2824c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   util_dump_uint(stream, templat->array_size);
2834c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   util_dump_member_end(stream);
2844c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger
285165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, templat, last_level);
286a2a01853f3f40b4ef8b3f01503391877960bdaeeBrian Paul   util_dump_member(stream, uint, templat, usage);
287287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell   util_dump_member(stream, uint, templat, bind);
288287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell   util_dump_member(stream, uint, templat, flags);
289165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
290165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
291165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
292165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
293165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
294165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
29557f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_rasterizer_state(FILE *stream, const struct pipe_rasterizer_state *state)
296165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
297165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
298165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
299165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
300165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
301165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
302165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_rasterizer_state");
303165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
304165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, flatshade);
305165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, light_twoside);
306dc4c821f0817a3db716f965692fb701079f66340Marek Olšák   util_dump_member(stream, bool, state, clamp_vertex_color);
307dc4c821f0817a3db716f965692fb701079f66340Marek Olšák   util_dump_member(stream, bool, state, clamp_fragment_color);
3080bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   util_dump_member(stream, uint, state, front_ccw);
3090bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   util_dump_member(stream, uint, state, cull_face);
3100bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   util_dump_member(stream, uint, state, fill_front);
3110bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   util_dump_member(stream, uint, state, fill_back);
3120bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   util_dump_member(stream, bool, state, offset_point);
3130bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   util_dump_member(stream, bool, state, offset_line);
3140bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   util_dump_member(stream, bool, state, offset_tri);
315165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, scissor);
316165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, poly_smooth);
317165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, poly_stipple_enable);
318165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, point_smooth);
319165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, sprite_coord_enable);
320165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, sprite_coord_mode);
321165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, point_quad_rasterization);
322165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, point_size_per_vertex);
323165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, multisample);
324165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, line_smooth);
325165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, line_stipple_enable);
326165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, line_stipple_factor);
327165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, line_stipple_pattern);
328165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, line_last_pixel);
329165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, flatshade_first);
330165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, gl_rasterization_rules);
331dc4c821f0817a3db716f965692fb701079f66340Marek Olšák   util_dump_member(stream, bool, state, rasterizer_discard);
332dc4c821f0817a3db716f965692fb701079f66340Marek Olšák   util_dump_member(stream, bool, state, depth_clip);
333dc4c821f0817a3db716f965692fb701079f66340Marek Olšák   util_dump_member(stream, uint, state, clip_plane_enable);
334165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
335165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, float, state, line_width);
336165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, float, state, point_size);
337165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, float, state, offset_units);
338165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, float, state, offset_scale);
33916f8308c3df020a786908be065d3dcb90c8ca2a5Christoph Bumiller   util_dump_member(stream, float, state, offset_clamp);
340165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
341165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
342165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
343165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
344165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
345165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
34657f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_poly_stipple(FILE *stream, const struct pipe_poly_stipple *state)
347165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
348165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
349165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
350165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
351165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
352165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
353165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_poly_stipple");
354165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
355165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_begin(stream, "stipple");
356165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_array(stream, uint, state, stipple);
357165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_end(stream);
358165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
359165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
360165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
361165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
362165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
363165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
36457f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_viewport_state(FILE *stream, const struct pipe_viewport_state *state)
365165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
366165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
367165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
368165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
369165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
370165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
371165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_viewport_state");
372165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
373165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_array(stream, float, state, scale);
374165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_array(stream, float, state, translate);
375165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
376165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
377165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
378165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
379165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
380165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
38157f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_scissor_state(FILE *stream, const struct pipe_scissor_state *state)
382165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
383165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
384165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
385165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
386165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
387165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
388165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_scissor_state");
389165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
390165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, minx);
391165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, miny);
392165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, maxx);
393165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, maxy);
394165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
395165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
396165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
397165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
398165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
399165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
40057f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_clip_state(FILE *stream, const struct pipe_clip_state *state)
401165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
402165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   unsigned i;
403165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
404165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
405165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
406165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
407165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
408165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
409165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_clip_state");
410165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
411165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_begin(stream, "ucp");
412165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_array_begin(stream);
413165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   for(i = 0; i < PIPE_MAX_CLIP_PLANES; ++i) {
414165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_elem_begin(stream);
415165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_array(stream, float, state->ucp[i], 4);
416165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_elem_end(stream);
417165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
418165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_array_end(stream);
419165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_end(stream);
420165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
421165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
422165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
423165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
424165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
425165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
42657f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_shader_state(FILE *stream, const struct pipe_shader_state *state)
427165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
428165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   char str[8192];
429861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   unsigned i;
430165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
431165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
432165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
433165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
434165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
435165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
436165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   tgsi_dump_str(state->tokens, 0, str, sizeof(str));
437165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
438165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_shader_state");
439165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
440165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_begin(stream, "tokens");
441165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_string(stream, str);
442165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_end(stream);
443165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
444861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   util_dump_member_begin(stream, "stream_output");
445861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   util_dump_struct_begin(stream, "pipe_stream_output_info");
446861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   util_dump_member(stream, uint, &state->stream_output, num_outputs);
4472449695e822421fdcaf1c66dffc12d7d705ea69dMarek Olšák   util_dump_array(stream, uint, state->stream_output.stride,
4482449695e822421fdcaf1c66dffc12d7d705ea69dMarek Olšák                   Elements(state->stream_output.stride));
449861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   util_dump_array_begin(stream);
450861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   for(i = 0; i < state->stream_output.num_outputs; ++i) {
451861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák      util_dump_elem_begin(stream);
452861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák      util_dump_struct_begin(stream, ""); /* anonymous */
453861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák      util_dump_member(stream, uint, &state->stream_output.output[i], register_index);
4542449695e822421fdcaf1c66dffc12d7d705ea69dMarek Olšák      util_dump_member(stream, uint, &state->stream_output.output[i], start_component);
4552449695e822421fdcaf1c66dffc12d7d705ea69dMarek Olšák      util_dump_member(stream, uint, &state->stream_output.output[i], num_components);
456861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák      util_dump_member(stream, uint, &state->stream_output.output[i], output_buffer);
457861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák      util_dump_struct_end(stream);
458861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák      util_dump_elem_end(stream);
459861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   }
460861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   util_dump_array_end(stream);
461861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   util_dump_struct_end(stream);
462861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   util_dump_member_end(stream);
463861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák
464165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
465165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
466165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
467165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
468165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
46957f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_depth_stencil_alpha_state(FILE *stream, const struct pipe_depth_stencil_alpha_state *state)
470165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
471165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   unsigned i;
472165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
473165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
474165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
475165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
476165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
477165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
478165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_depth_stencil_alpha_state");
479165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
480165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_begin(stream, "depth");
481165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_depth_state");
482165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, &state->depth, enabled);
483d70c76907519592b723df915e8a71a7bf88c1197José Fonseca   if (state->depth.enabled) {
484d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member(stream, bool, &state->depth, writemask);
485d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member(stream, enum_func, &state->depth, func);
486d70c76907519592b723df915e8a71a7bf88c1197José Fonseca   }
487165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
488165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_end(stream);
489165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
490165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_begin(stream, "stencil");
491165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_array_begin(stream);
492165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   for(i = 0; i < Elements(state->stencil); ++i) {
493165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_elem_begin(stream);
494165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_struct_begin(stream, "pipe_stencil_state");
495165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_member(stream, bool, &state->stencil[i], enabled);
496d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      if (state->stencil[i].enabled) {
497d70c76907519592b723df915e8a71a7bf88c1197José Fonseca         util_dump_member(stream, enum_func, &state->stencil[i], func);
498d70c76907519592b723df915e8a71a7bf88c1197José Fonseca         util_dump_member(stream, uint, &state->stencil[i], fail_op);
499d70c76907519592b723df915e8a71a7bf88c1197José Fonseca         util_dump_member(stream, uint, &state->stencil[i], zpass_op);
500d70c76907519592b723df915e8a71a7bf88c1197José Fonseca         util_dump_member(stream, uint, &state->stencil[i], zfail_op);
501d70c76907519592b723df915e8a71a7bf88c1197José Fonseca         util_dump_member(stream, uint, &state->stencil[i], valuemask);
502d70c76907519592b723df915e8a71a7bf88c1197José Fonseca         util_dump_member(stream, uint, &state->stencil[i], writemask);
503d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      }
504165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_struct_end(stream);
505165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_elem_end(stream);
506165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
507165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_array_end(stream);
508165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_end(stream);
509165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
510165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_begin(stream, "alpha");
511165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_alpha_state");
512165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, &state->alpha, enabled);
513d70c76907519592b723df915e8a71a7bf88c1197José Fonseca   if (state->alpha.enabled) {
514d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member(stream, enum_func, &state->alpha, func);
515d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member(stream, float, &state->alpha, ref_value);
516d70c76907519592b723df915e8a71a7bf88c1197José Fonseca   }
517165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
518165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_end(stream);
519165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
520165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
521165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
522165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
523165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
52457f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_rt_blend_state(FILE *stream, const struct pipe_rt_blend_state *state)
525165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
526165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_rt_blend_state");
527165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
528165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, blend_enable);
529d70c76907519592b723df915e8a71a7bf88c1197José Fonseca   if (state->blend_enable) {
530d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member(stream, enum_blend_func, state, rgb_func);
531d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member(stream, enum_blend_factor, state, rgb_src_factor);
532d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member(stream, enum_blend_factor, state, rgb_dst_factor);
533d70c76907519592b723df915e8a71a7bf88c1197José Fonseca
534d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member(stream, enum_blend_func, state, alpha_func);
535d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member(stream, enum_blend_factor, state, alpha_src_factor);
536d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member(stream, enum_blend_factor, state, alpha_dst_factor);
537d70c76907519592b723df915e8a71a7bf88c1197José Fonseca   }
538165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
539165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, colormask);
540165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
541165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
542165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
543165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
544165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
54557f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_blend_state(FILE *stream, const struct pipe_blend_state *state)
546165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
547165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   unsigned valid_entries = 1;
548165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
549165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
550165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
551165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
552165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
553165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
554165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_blend_state");
555165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
556165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, dither);
557165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
558165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, logicop_enable);
559d70c76907519592b723df915e8a71a7bf88c1197José Fonseca   if (state->logicop_enable) {
560d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member(stream, enum_func, state, logicop_func);
561d70c76907519592b723df915e8a71a7bf88c1197José Fonseca   }
562d70c76907519592b723df915e8a71a7bf88c1197José Fonseca   else {
563d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member(stream, bool, state, independent_blend_enable);
564d70c76907519592b723df915e8a71a7bf88c1197José Fonseca
565d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member_begin(stream, "rt");
566d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      if (state->independent_blend_enable)
567d70c76907519592b723df915e8a71a7bf88c1197José Fonseca         valid_entries = PIPE_MAX_COLOR_BUFS;
568d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_struct_array(stream, rt_blend_state, state->rt, valid_entries);
569d70c76907519592b723df915e8a71a7bf88c1197José Fonseca      util_dump_member_end(stream);
570d70c76907519592b723df915e8a71a7bf88c1197José Fonseca   }
571165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
572165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
573165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
574165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
575165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
576165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
57757f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_blend_color(FILE *stream, const struct pipe_blend_color *state)
578165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
579165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
580165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
581165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
582165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
583165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
584165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_blend_color");
585165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
586165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_array(stream, float, state, color);
587165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
588165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
589165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
590165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
591165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
59257f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_stencil_ref(FILE *stream, const struct pipe_stencil_ref *state)
593165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
594165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
595165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
596165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
597165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
598165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
599165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_stencil_ref");
600165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
601165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_array(stream, uint, state, ref_value);
602165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
603165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
604165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
605165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
606165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
60757f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_framebuffer_state(FILE *stream, const struct pipe_framebuffer_state *state)
608165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
609165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_framebuffer_state");
610165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
611165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, width);
612165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, height);
613165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, nr_cbufs);
614165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member_array(stream, ptr, state, cbufs);
615165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, ptr, state, zsbuf);
616165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
617165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
618165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
619165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
620165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
621165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
62257f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_sampler_state(FILE *stream, const struct pipe_sampler_state *state)
623165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
624165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
625165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
626165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
627165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
628165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
629165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_sampler_state");
630165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
631165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, wrap_s);
632165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, wrap_t);
633165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, wrap_r);
634165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, min_img_filter);
635165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, min_mip_filter);
636165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, mag_img_filter);
637165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, compare_mode);
638d70c76907519592b723df915e8a71a7bf88c1197José Fonseca   util_dump_member(stream, enum_func, state, compare_func);
639165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, bool, state, normalized_coords);
640165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, max_anisotropy);
641165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, float, state, lod_bias);
642165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, float, state, min_lod);
643165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, float, state, max_lod);
6449f61e43b4903c6cf0ac03a479ec9ed7b15fd6ccfDave Airlie   util_dump_member_array(stream, float, state, border_color.f);
645165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
646165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
647165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
648165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
649165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
650165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
65157f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_surface(FILE *stream, const struct pipe_surface *state)
652165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
653165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
654165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
655165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
656165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
657165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
658165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_surface");
659165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
660165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, format, state, format);
661165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, width);
662165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, height);
663165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
664165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, usage);
665165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
666165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, ptr, state, texture);
6674c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   util_dump_member(stream, uint, state, u.tex.level);
6684c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   util_dump_member(stream, uint, state, u.tex.first_layer);
6694c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   util_dump_member(stream, uint, state, u.tex.last_layer);
670165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
671165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
672165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
673165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
674165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
675165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
67657f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_transfer(FILE *stream, const struct pipe_transfer *state)
677165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
678165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
679165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
680165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
681165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
682165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
683165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_transfer");
684165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
685287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell   util_dump_member(stream, ptr, state, resource);
686443fe5e57cf3db6c2cd810ed123d541ccc379a71Brian Paul   /*util_dump_member(stream, uint, state, box);*/
687165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
688165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, stride);
6894c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   util_dump_member(stream, uint, state, layer_stride);
690165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
691443fe5e57cf3db6c2cd810ed123d541ccc379a71Brian Paul   /*util_dump_member(stream, ptr, state, data);*/
692165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
693165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
694165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
695165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
696165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
697165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
69857f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_vertex_buffer(FILE *stream, const struct pipe_vertex_buffer *state)
699165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
700165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
701165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
702165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
703165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
704165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
705165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_vertex_buffer");
706165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
707165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, stride);
708165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, buffer_offset);
709165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, ptr, state, buffer);
710165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
711165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
712165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
713165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
714165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
715165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid
71657f8e26ca87a2846f192682c84eccbf8b4500bfcJosé Fonsecautil_dump_vertex_element(FILE *stream, const struct pipe_vertex_element *state)
717165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{
718165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   if(!state) {
719165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      util_dump_null(stream);
720165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca      return;
721165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   }
722165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
723165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_begin(stream, "pipe_vertex_element");
724165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
725165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, src_offset);
726165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
727165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, uint, state, vertex_buffer_index);
728165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
729165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_member(stream, format, state, src_format);
730165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca
731165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca   util_dump_struct_end(stream);
732165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca}
7331ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák
7341ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák
7351ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšákvoid
7361ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšákutil_dump_draw_info(FILE *stream, const struct pipe_draw_info *state)
7371ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák{
7381ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   if(!state) {
7391ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák      util_dump_null(stream);
7401ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák      return;
7411ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   }
7421ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák
7431ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_struct_begin(stream, "pipe_draw_info");
7441ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák
7451ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_member(stream, bool, state, indexed);
7461ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák
7471ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_member(stream, uint, state, mode);
7481ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_member(stream, uint, state, start);
7491ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_member(stream, uint, state, count);
7501ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák
7511ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_member(stream, uint, state, start_instance);
7521ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_member(stream, uint, state, instance_count);
7531ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák
7541ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_member(stream, int,  state, index_bias);
7551ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_member(stream, uint, state, min_index);
7561ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_member(stream, uint, state, max_index);
7571ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák
7581ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_member(stream, bool, state, primitive_restart);
7591ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_member(stream, uint, state, restart_index);
7601ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák
7611ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_member(stream, ptr, state, count_from_stream_output);
7621ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák
7631ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák   util_dump_struct_end(stream);
7641ae9e588fa8e213f414f3d2d2e70c001deb304c8Marek Olšák}
765