u_dump_state.c revision 443fe5e57cf3db6c2cd810ed123d541ccc379a71
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 "os/os_stream.h" 31165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#include "util/u_memory.h" 32165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#include "util/u_string.h" 33165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#include "util/u_format.h" 34165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#include "tgsi/tgsi_dump.h" 35165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 36165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#include "u_dump.h" 37165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 38165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 39165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca/* 40165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * Dump primitives 41165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca */ 42165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 43165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic INLINE void 44165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_stream_writef(struct os_stream *stream, const char *format, ...) 45165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 46165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca static char buf[1024]; 47165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca unsigned len; 48165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca va_list ap; 49165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca va_start(ap, format); 50165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca len = util_vsnprintf(buf, sizeof(buf), format, ap); 51165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca va_end(ap); 52165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca os_stream_write(stream, buf, len); 53165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 54165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 55165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 56165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_bool(struct os_stream *stream, int value) 57165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 58165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_stream_writef(stream, "%c", value ? '1' : '0'); 59165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 60165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 61165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 62165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_int(struct os_stream *stream, long long int value) 63165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 64165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_stream_writef(stream, "%lli", value); 65165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 66165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 67165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 68165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_uint(struct os_stream *stream, long long unsigned value) 69165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 70165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_stream_writef(stream, "%llu", value); 71165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 72165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 73165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 74165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_float(struct os_stream *stream, double value) 75165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 76165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_stream_writef(stream, "%g", value); 77165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 78165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 79165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 80165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_string(struct os_stream *stream, const char *str) 81165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 82165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca os_stream_write_str(stream, "\""); 83165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca os_stream_write_str(stream, str); 84165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca os_stream_write_str(stream, "\""); 85165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 86165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 87165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 88165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_enum(struct os_stream *stream, const char *value) 89165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 90165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca os_stream_write_str(stream, value); 91165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 92165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 93165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 94165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_array_begin(struct os_stream *stream) 95165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 96165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca os_stream_write_str(stream, "{"); 97165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 98165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 99165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 100165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_array_end(struct os_stream *stream) 101165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 102165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca os_stream_write_str(stream, "}"); 103165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 104165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 105165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 106165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_elem_begin(struct os_stream *stream) 107165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 108165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 109165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 110165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 111165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_elem_end(struct os_stream *stream) 112165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 113165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca os_stream_write_str(stream, ", "); 114165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 115165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 116165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 117165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_struct_begin(struct os_stream *stream, const char *name) 118165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 119165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca os_stream_write_str(stream, "{"); 120165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 121165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 122165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 123165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_struct_end(struct os_stream *stream) 124165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 125165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca os_stream_write_str(stream, "}"); 126165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 127165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 128165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 129165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_member_begin(struct os_stream *stream, const char *name) 130165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 131165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_stream_writef(stream, "%s = ", name); 132165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 133165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 134165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 135165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_member_end(struct os_stream *stream) 136165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 137165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca os_stream_write_str(stream, ", "); 138165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 139165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 140165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 141165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_null(struct os_stream *stream) 142165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 143165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca os_stream_write_str(stream, "NULL"); 144165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 145165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 146165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 147165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_ptr(struct os_stream *stream, const void *value) 148165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 149165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(value) 150165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_stream_writef(stream, "0x%08lx", (unsigned long)(uintptr_t)value); 151165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca else 152165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 153165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 154165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 155165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 156165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca/* 157165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * Code saving macros. 158165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca */ 159165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 160165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_arg(_stream, _type, _arg) \ 161165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca do { \ 162165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_arg_begin(_stream, #_arg); \ 163165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_##_type(_stream, _arg); \ 164165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_arg_end(_stream); \ 165165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } while(0) 166165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 167165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_ret(_stream, _type, _arg) \ 168165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca do { \ 169165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_ret_begin(_stream); \ 170165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_##_type(_stream, _arg); \ 171165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_ret_end(_stream); \ 172165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } while(0) 173165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 174165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_array(_stream, _type, _obj, _size) \ 175165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca do { \ 176165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca size_t idx; \ 177165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array_begin(_stream); \ 178165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca for(idx = 0; idx < (_size); ++idx) { \ 179165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_elem_begin(_stream); \ 180165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_##_type(_stream, (_obj)[idx]); \ 181165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_elem_end(_stream); \ 182165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } \ 183165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array_end(_stream); \ 184165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } while(0) 185165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 186165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_struct_array(_stream, _type, _obj, _size) \ 187165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca do { \ 188165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca size_t idx; \ 189165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array_begin(_stream); \ 190165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca for(idx = 0; idx < (_size); ++idx) { \ 191165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_elem_begin(_stream); \ 192165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_##_type(_stream, &(_obj)[idx]); \ 193165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_elem_end(_stream); \ 194165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } \ 195165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array_end(_stream); \ 196165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } while(0) 197165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 198165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_member(_stream, _type, _obj, _member) \ 199165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca do { \ 200165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(_stream, #_member); \ 201165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_##_type(_stream, (_obj)->_member); \ 202165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(_stream); \ 203165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } while(0) 204165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 205165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_arg_array(_stream, _type, _arg, _size) \ 206165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca do { \ 207165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_arg_begin(_stream, #_arg); \ 208165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array(_stream, _type, _arg, _size); \ 209165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_arg_end(_stream); \ 210165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } while(0) 211165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 212165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca#define util_dump_member_array(_stream, _type, _obj, _member) \ 213165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca do { \ 214165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(_stream, #_member); \ 215165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array(_stream, _type, (_obj)->_member, sizeof((_obj)->_member)/sizeof((_obj)->_member[0])); \ 216165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(_stream); \ 217165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } while(0) 218165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 219165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 220165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 221165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca/* 222165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * Wrappers for enum -> string dumpers. 223165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca */ 224165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 225165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 226165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 227165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_format(struct os_stream *stream, enum pipe_format format) 228165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 229165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_enum(stream, util_format_name(format)); 230165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 231165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 232165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 233165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 234165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_enum_blend_factor(struct os_stream *stream, unsigned value) 235165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 236165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_enum(stream, util_dump_blend_factor(value, TRUE)); 237165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 238165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 239165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 240165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_enum_blend_func(struct os_stream *stream, unsigned value) 241165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 242165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_enum(stream, util_dump_blend_func(value, TRUE)); 243165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 244165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 245165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecastatic void 246165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_enum_func(struct os_stream *stream, unsigned value) 247165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 248165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_enum(stream, util_dump_func(value, TRUE)); 249165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 250165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 251165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 252165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca/* 253165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca * Public functions 254165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca */ 255165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 256165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 257165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 258287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwellutil_dump_template(struct os_stream *stream, const struct pipe_resource *templat) 259165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 260165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!templat) { 261165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 262165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 263165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 264165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 265287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell util_dump_struct_begin(stream, "pipe_resource"); 266165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 267165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, int, templat, target); 268165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, format, templat, format); 269165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 270165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "width"); 271165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_uint(stream, templat->width0); 272165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 273165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 274165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "height"); 275165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_uint(stream, templat->height0); 276165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 277165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 278165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "depth"); 279165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_uint(stream, templat->depth0); 280165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 281165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 282165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, templat, last_level); 283a2a01853f3f40b4ef8b3f01503391877960bdaeeBrian Paul util_dump_member(stream, uint, templat, usage); 284287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell util_dump_member(stream, uint, templat, bind); 285287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell util_dump_member(stream, uint, templat, flags); 286165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 287165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 288165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 289165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 290165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 291165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 292165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_rasterizer_state(struct os_stream *stream, const struct pipe_rasterizer_state *state) 293165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 294165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 295165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 296165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 297165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 298165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 299165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_rasterizer_state"); 300165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 301165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, flatshade); 302165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, light_twoside); 303165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, front_winding); 304165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, cull_mode); 305165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, fill_cw); 306165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, fill_ccw); 307165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, offset_cw); 308165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, offset_ccw); 309165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, scissor); 310165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, poly_smooth); 311165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, poly_stipple_enable); 312165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, point_smooth); 313165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, sprite_coord_enable); 314165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, sprite_coord_mode); 315165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, point_quad_rasterization); 316165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, point_size_per_vertex); 317165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, multisample); 318165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, line_smooth); 319165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, line_stipple_enable); 320165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, line_stipple_factor); 321165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, line_stipple_pattern); 322165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, line_last_pixel); 323165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, flatshade_first); 324165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, gl_rasterization_rules); 325165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 326165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, line_width); 327165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, point_size); 328165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, offset_units); 329165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, offset_scale); 330165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 331165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 332165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 333165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 334165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 335165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 336165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_poly_stipple(struct os_stream *stream, const struct pipe_poly_stipple *state) 337165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 338165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 339165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 340165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 341165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 342165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 343165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_poly_stipple"); 344165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 345165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "stipple"); 346165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, uint, state, stipple); 347165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 348165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 349165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 350165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 351165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 352165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 353165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 354165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_viewport_state(struct os_stream *stream, const struct pipe_viewport_state *state) 355165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 356165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 357165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 358165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 359165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 360165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 361165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_viewport_state"); 362165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 363165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, float, state, scale); 364165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, float, state, translate); 365165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 366165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 367165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 368165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 369165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 370165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 371165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_scissor_state(struct os_stream *stream, const struct pipe_scissor_state *state) 372165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 373165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 374165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 375165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 376165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 377165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 378165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_scissor_state"); 379165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 380165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, minx); 381165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, miny); 382165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, maxx); 383165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, maxy); 384165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 385165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 386165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 387165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 388165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 389165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 390165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_clip_state(struct os_stream *stream, const struct pipe_clip_state *state) 391165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 392165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca unsigned i; 393165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 394165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 395165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 396165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 397165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 398165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 399165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_clip_state"); 400165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 401165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "ucp"); 402165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array_begin(stream); 403165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca for(i = 0; i < PIPE_MAX_CLIP_PLANES; ++i) { 404165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_elem_begin(stream); 405165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array(stream, float, state->ucp[i], 4); 406165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_elem_end(stream); 407165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 408165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array_end(stream); 409165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 410165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 411165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, nr); 412165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 413165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 414165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 415165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 416165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 417165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 418165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_shader_state(struct os_stream *stream, const struct pipe_shader_state *state) 419165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 420165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca char str[8192]; 421165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 422165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 423165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 424165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 425165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 426165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 427165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca tgsi_dump_str(state->tokens, 0, str, sizeof(str)); 428165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 429165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_shader_state"); 430165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 431165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "tokens"); 432165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_string(stream, str); 433165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 434165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 435165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 436165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 437165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 438165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 439165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 440165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_depth_stencil_alpha_state(struct os_stream *stream, const struct pipe_depth_stencil_alpha_state *state) 441165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 442165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca unsigned i; 443165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 444165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 445165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 446165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 447165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 448165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 449165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_depth_stencil_alpha_state"); 450165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 451165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "depth"); 452165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_depth_state"); 453165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, &state->depth, enabled); 454d70c76907519592b723df915e8a71a7bf88c1197José Fonseca if (state->depth.enabled) { 455d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, bool, &state->depth, writemask); 456d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_func, &state->depth, func); 457d70c76907519592b723df915e8a71a7bf88c1197José Fonseca } 458165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 459165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 460165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 461165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "stencil"); 462165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array_begin(stream); 463165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca for(i = 0; i < Elements(state->stencil); ++i) { 464165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_elem_begin(stream); 465165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_stencil_state"); 466165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, &state->stencil[i], enabled); 467d70c76907519592b723df915e8a71a7bf88c1197José Fonseca if (state->stencil[i].enabled) { 468d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_func, &state->stencil[i], func); 469d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, uint, &state->stencil[i], fail_op); 470d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, uint, &state->stencil[i], zpass_op); 471d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, uint, &state->stencil[i], zfail_op); 472d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, uint, &state->stencil[i], valuemask); 473d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, uint, &state->stencil[i], writemask); 474d70c76907519592b723df915e8a71a7bf88c1197José Fonseca } 475165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 476165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_elem_end(stream); 477165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 478165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array_end(stream); 479165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 480165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 481165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "alpha"); 482165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_alpha_state"); 483165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, &state->alpha, enabled); 484d70c76907519592b723df915e8a71a7bf88c1197José Fonseca if (state->alpha.enabled) { 485d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_func, &state->alpha, func); 486d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, float, &state->alpha, ref_value); 487d70c76907519592b723df915e8a71a7bf88c1197José Fonseca } 488165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 489165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 490165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 491165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 492165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 493165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 494165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 495165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_rt_blend_state(struct os_stream *stream, const struct pipe_rt_blend_state *state) 496165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 497165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_rt_blend_state"); 498165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 499165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, blend_enable); 500d70c76907519592b723df915e8a71a7bf88c1197José Fonseca if (state->blend_enable) { 501d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_blend_func, state, rgb_func); 502d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_blend_factor, state, rgb_src_factor); 503d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_blend_factor, state, rgb_dst_factor); 504d70c76907519592b723df915e8a71a7bf88c1197José Fonseca 505d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_blend_func, state, alpha_func); 506d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_blend_factor, state, alpha_src_factor); 507d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_blend_factor, state, alpha_dst_factor); 508d70c76907519592b723df915e8a71a7bf88c1197José Fonseca } 509165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 510165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, colormask); 511165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 512165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 513165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 514165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 515165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 516165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_blend_state(struct os_stream *stream, const struct pipe_blend_state *state) 517165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 518165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca unsigned valid_entries = 1; 519165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 520165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 521165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 522165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 523165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 524165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 525165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_blend_state"); 526165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 527165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, dither); 528165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 529165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, logicop_enable); 530d70c76907519592b723df915e8a71a7bf88c1197José Fonseca if (state->logicop_enable) { 531d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_func, state, logicop_func); 532d70c76907519592b723df915e8a71a7bf88c1197José Fonseca } 533d70c76907519592b723df915e8a71a7bf88c1197José Fonseca else { 534d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, bool, state, independent_blend_enable); 535d70c76907519592b723df915e8a71a7bf88c1197José Fonseca 536d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member_begin(stream, "rt"); 537d70c76907519592b723df915e8a71a7bf88c1197José Fonseca if (state->independent_blend_enable) 538d70c76907519592b723df915e8a71a7bf88c1197José Fonseca valid_entries = PIPE_MAX_COLOR_BUFS; 539d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_struct_array(stream, rt_blend_state, state->rt, valid_entries); 540d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member_end(stream); 541d70c76907519592b723df915e8a71a7bf88c1197José Fonseca } 542165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 543165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 544165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 545165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 546165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 547165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 548165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_blend_color(struct os_stream *stream, const struct pipe_blend_color *state) 549165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 550165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 551165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 552165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 553165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 554165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 555165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_blend_color"); 556165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 557165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, float, state, color); 558165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 559165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 560165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 561165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 562165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 563165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_stencil_ref(struct os_stream *stream, const struct pipe_stencil_ref *state) 564165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 565165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 566165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 567165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 568165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 569165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 570165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_stencil_ref"); 571165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 572165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, uint, state, ref_value); 573165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 574165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 575165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 576165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 577165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 578165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_framebuffer_state(struct os_stream *stream, const struct pipe_framebuffer_state *state) 579165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 580165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_framebuffer_state"); 581165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 582165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, width); 583165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, height); 584165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, nr_cbufs); 585165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, ptr, state, cbufs); 586165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, ptr, state, zsbuf); 587165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 588165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 589165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 590165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 591165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 592165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 593165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_sampler_state(struct os_stream *stream, const struct pipe_sampler_state *state) 594165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 595165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 596165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 597165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 598165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 599165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 600165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_sampler_state"); 601165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 602165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, wrap_s); 603165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, wrap_t); 604165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, wrap_r); 605165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, min_img_filter); 606165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, min_mip_filter); 607165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, mag_img_filter); 608165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, compare_mode); 609d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_func, state, compare_func); 610165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, normalized_coords); 611165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, max_anisotropy); 612165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, lod_bias); 613165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, min_lod); 614165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, max_lod); 615165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, float, state, border_color); 616165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 617165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 618165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 619165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 620165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 621165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 622165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_surface(struct os_stream *stream, const struct pipe_surface *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_surface"); 630165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 631165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, format, state, format); 632165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, width); 633165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, height); 634165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 635165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, layout); 636165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, offset); 637165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, usage); 638165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 639165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, ptr, state, texture); 640165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, face); 641165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, level); 642165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, zslice); 643165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 644165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 645165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 646165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 647165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 648165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 649165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_transfer(struct os_stream *stream, const struct pipe_transfer *state) 650165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 651165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 652165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 653165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 654165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 655165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 656165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_transfer"); 657165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 658287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell util_dump_member(stream, ptr, state, resource); 659443fe5e57cf3db6c2cd810ed123d541ccc379a71Brian Paul /*util_dump_member(stream, uint, state, box);*/ 660165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 661165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, stride); 662287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell util_dump_member(stream, uint, state, slice_stride); 663165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 664443fe5e57cf3db6c2cd810ed123d541ccc379a71Brian Paul /*util_dump_member(stream, ptr, state, data);*/ 665165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 666165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 667165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 668165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 669165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 670165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 671165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_vertex_buffer(struct os_stream *stream, const struct pipe_vertex_buffer *state) 672165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 673165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 674165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 675165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 676165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 677165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 678165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_vertex_buffer"); 679165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 680165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, stride); 681165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, max_index); 682165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, buffer_offset); 683165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, ptr, state, buffer); 684165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 685165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 686165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 687165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 688165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 689165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 690165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_vertex_element(struct os_stream *stream, const struct pipe_vertex_element *state) 691165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 692165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 693165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 694165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 695165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 696165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 697165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_vertex_element"); 698165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 699165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, src_offset); 700165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 701165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, vertex_buffer_index); 702165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 703165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, format, state, src_format); 704165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 705165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 706165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 707