u_dump_state.c revision 4c7001462607e6e99e474d6271dd481d3f8f201c
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 2824c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger util_dump_member_begin(stream, "array_size"); 2834c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger util_dump_uint(stream, templat->array_size); 2844c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger util_dump_member_end(stream); 2854c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger 286165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, templat, last_level); 287a2a01853f3f40b4ef8b3f01503391877960bdaeeBrian Paul util_dump_member(stream, uint, templat, usage); 288287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell util_dump_member(stream, uint, templat, bind); 289287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell util_dump_member(stream, uint, templat, flags); 290165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 291165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 292165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 293165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 294165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 295165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 296165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_rasterizer_state(struct os_stream *stream, const struct pipe_rasterizer_state *state) 297165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 298165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 299165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 300165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 301165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 302165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 303165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_rasterizer_state"); 304165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 305165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, flatshade); 306165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, light_twoside); 3070bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell util_dump_member(stream, uint, state, front_ccw); 3080bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell util_dump_member(stream, uint, state, cull_face); 3090bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell util_dump_member(stream, uint, state, fill_front); 3100bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell util_dump_member(stream, uint, state, fill_back); 3110bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell util_dump_member(stream, bool, state, offset_point); 3120bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell util_dump_member(stream, bool, state, offset_line); 3130bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell util_dump_member(stream, bool, state, offset_tri); 314165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, scissor); 315165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, poly_smooth); 316165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, poly_stipple_enable); 317165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, point_smooth); 318165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, sprite_coord_enable); 319165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, sprite_coord_mode); 320165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, point_quad_rasterization); 321165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, point_size_per_vertex); 322165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, multisample); 323165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, line_smooth); 324165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, line_stipple_enable); 325165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, line_stipple_factor); 326165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, line_stipple_pattern); 327165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, line_last_pixel); 328165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, flatshade_first); 329165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, gl_rasterization_rules); 330165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 331165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, line_width); 332165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, point_size); 333165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, offset_units); 334165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, offset_scale); 335165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 336165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 337165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 338165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 339165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 340165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 341165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_poly_stipple(struct os_stream *stream, const struct pipe_poly_stipple *state) 342165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 343165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 344165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 345165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 346165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 347165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 348165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_poly_stipple"); 349165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 350165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "stipple"); 351165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, uint, state, stipple); 352165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 353165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 354165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 355165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 356165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 357165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 358165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 359165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_viewport_state(struct os_stream *stream, const struct pipe_viewport_state *state) 360165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 361165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 362165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 363165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 364165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 365165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 366165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_viewport_state"); 367165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 368165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, float, state, scale); 369165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, float, state, translate); 370165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 371165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 372165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 373165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 374165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 375165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 376165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_scissor_state(struct os_stream *stream, const struct pipe_scissor_state *state) 377165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 378165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 379165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 380165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 381165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 382165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 383165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_scissor_state"); 384165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 385165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, minx); 386165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, miny); 387165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, maxx); 388165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, maxy); 389165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 390165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 391165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 392165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 393165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 394165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 395165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_clip_state(struct os_stream *stream, const struct pipe_clip_state *state) 396165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 397165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca unsigned i; 398165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 399165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 400165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 401165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 402165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 403165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 404165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_clip_state"); 405165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 406165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "ucp"); 407165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array_begin(stream); 408165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca for(i = 0; i < PIPE_MAX_CLIP_PLANES; ++i) { 409165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_elem_begin(stream); 410165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array(stream, float, state->ucp[i], 4); 411165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_elem_end(stream); 412165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 413165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array_end(stream); 414165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 415165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 416165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, nr); 417165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 418165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 419165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 420165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 421165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 422165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 423165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_shader_state(struct os_stream *stream, const struct pipe_shader_state *state) 424165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 425165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca char str[8192]; 426165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 427165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 428165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 429165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 430165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 431165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 432165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca tgsi_dump_str(state->tokens, 0, str, sizeof(str)); 433165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 434165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_shader_state"); 435165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 436165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "tokens"); 437165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_string(stream, str); 438165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 439165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 440165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 441165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 442165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 443165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 444165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 445165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_depth_stencil_alpha_state(struct os_stream *stream, const struct pipe_depth_stencil_alpha_state *state) 446165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 447165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca unsigned i; 448165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 449165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 450165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 451165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 452165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 453165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 454165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_depth_stencil_alpha_state"); 455165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 456165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "depth"); 457165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_depth_state"); 458165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, &state->depth, enabled); 459d70c76907519592b723df915e8a71a7bf88c1197José Fonseca if (state->depth.enabled) { 460d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, bool, &state->depth, writemask); 461d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_func, &state->depth, func); 462d70c76907519592b723df915e8a71a7bf88c1197José Fonseca } 463165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 464165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 465165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 466165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "stencil"); 467165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array_begin(stream); 468165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca for(i = 0; i < Elements(state->stencil); ++i) { 469165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_elem_begin(stream); 470165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_stencil_state"); 471165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, &state->stencil[i], enabled); 472d70c76907519592b723df915e8a71a7bf88c1197José Fonseca if (state->stencil[i].enabled) { 473d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_func, &state->stencil[i], func); 474d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, uint, &state->stencil[i], fail_op); 475d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, uint, &state->stencil[i], zpass_op); 476d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, uint, &state->stencil[i], zfail_op); 477d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, uint, &state->stencil[i], valuemask); 478d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, uint, &state->stencil[i], writemask); 479d70c76907519592b723df915e8a71a7bf88c1197José Fonseca } 480165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 481165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_elem_end(stream); 482165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 483165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_array_end(stream); 484165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 485165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 486165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_begin(stream, "alpha"); 487165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_alpha_state"); 488165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, &state->alpha, enabled); 489d70c76907519592b723df915e8a71a7bf88c1197José Fonseca if (state->alpha.enabled) { 490d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_func, &state->alpha, func); 491d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, float, &state->alpha, ref_value); 492d70c76907519592b723df915e8a71a7bf88c1197José Fonseca } 493165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 494165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_end(stream); 495165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 496165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 497165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 498165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 499165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 500165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_rt_blend_state(struct os_stream *stream, const struct pipe_rt_blend_state *state) 501165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 502165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_rt_blend_state"); 503165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 504165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, blend_enable); 505d70c76907519592b723df915e8a71a7bf88c1197José Fonseca if (state->blend_enable) { 506d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_blend_func, state, rgb_func); 507d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_blend_factor, state, rgb_src_factor); 508d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_blend_factor, state, rgb_dst_factor); 509d70c76907519592b723df915e8a71a7bf88c1197José Fonseca 510d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_blend_func, state, alpha_func); 511d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_blend_factor, state, alpha_src_factor); 512d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_blend_factor, state, alpha_dst_factor); 513d70c76907519592b723df915e8a71a7bf88c1197José Fonseca } 514165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 515165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, colormask); 516165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 517165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 518165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 519165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 520165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 521165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_blend_state(struct os_stream *stream, const struct pipe_blend_state *state) 522165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 523165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca unsigned valid_entries = 1; 524165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 525165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 526165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 527165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 528165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 529165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 530165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_blend_state"); 531165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 532165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, dither); 533165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 534165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, logicop_enable); 535d70c76907519592b723df915e8a71a7bf88c1197José Fonseca if (state->logicop_enable) { 536d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_func, state, logicop_func); 537d70c76907519592b723df915e8a71a7bf88c1197José Fonseca } 538d70c76907519592b723df915e8a71a7bf88c1197José Fonseca else { 539d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, bool, state, independent_blend_enable); 540d70c76907519592b723df915e8a71a7bf88c1197José Fonseca 541d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member_begin(stream, "rt"); 542d70c76907519592b723df915e8a71a7bf88c1197José Fonseca if (state->independent_blend_enable) 543d70c76907519592b723df915e8a71a7bf88c1197José Fonseca valid_entries = PIPE_MAX_COLOR_BUFS; 544d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_struct_array(stream, rt_blend_state, state->rt, valid_entries); 545d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member_end(stream); 546d70c76907519592b723df915e8a71a7bf88c1197José Fonseca } 547165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 548165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 549165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 550165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 551165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 552165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 553165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_blend_color(struct os_stream *stream, const struct pipe_blend_color *state) 554165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 555165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 556165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 557165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 558165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 559165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 560165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_blend_color"); 561165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 562165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, float, state, color); 563165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 564165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 565165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 566165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 567165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 568165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_stencil_ref(struct os_stream *stream, const struct pipe_stencil_ref *state) 569165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 570165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 571165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 572165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 573165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 574165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 575165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_stencil_ref"); 576165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 577165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, uint, state, ref_value); 578165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 579165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 580165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 581165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 582165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 583165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_framebuffer_state(struct os_stream *stream, const struct pipe_framebuffer_state *state) 584165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 585165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_framebuffer_state"); 586165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 587165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, width); 588165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, height); 589165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, nr_cbufs); 590165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, ptr, state, cbufs); 591165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, ptr, state, zsbuf); 592165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 593165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 594165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 595165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 596165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 597165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 598165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_sampler_state(struct os_stream *stream, const struct pipe_sampler_state *state) 599165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 600165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 601165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 602165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 603165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 604165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 605165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_sampler_state"); 606165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 607165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, wrap_s); 608165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, wrap_t); 609165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, wrap_r); 610165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, min_img_filter); 611165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, min_mip_filter); 612165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, mag_img_filter); 613165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, compare_mode); 614d70c76907519592b723df915e8a71a7bf88c1197José Fonseca util_dump_member(stream, enum_func, state, compare_func); 615165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, bool, state, normalized_coords); 616165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, max_anisotropy); 617165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, lod_bias); 618165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, min_lod); 619165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, float, state, max_lod); 620165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member_array(stream, float, state, border_color); 621165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 622165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 623165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 624165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 625165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 626165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 627165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_surface(struct os_stream *stream, const struct pipe_surface *state) 628165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 629165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 630165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 631165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 632165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 633165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 634165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_surface"); 635165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 636165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, format, state, format); 637165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, width); 638165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, height); 639165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 640165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, usage); 641165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 642165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, ptr, state, texture); 6434c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger util_dump_member(stream, uint, state, u.tex.level); 6444c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger util_dump_member(stream, uint, state, u.tex.first_layer); 6454c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger util_dump_member(stream, uint, state, u.tex.last_layer); 646165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 647165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 648165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 649165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 650165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 651165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 652165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_transfer(struct os_stream *stream, const struct pipe_transfer *state) 653165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 654165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 655165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 656165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 657165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 658165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 659165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_transfer"); 660165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 661287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell util_dump_member(stream, ptr, state, resource); 662443fe5e57cf3db6c2cd810ed123d541ccc379a71Brian Paul /*util_dump_member(stream, uint, state, box);*/ 663165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 664165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, stride); 6654c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger util_dump_member(stream, uint, state, layer_stride); 666165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 667443fe5e57cf3db6c2cd810ed123d541ccc379a71Brian Paul /*util_dump_member(stream, ptr, state, data);*/ 668165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 669165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 670165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 671165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 672165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 673165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 674165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_vertex_buffer(struct os_stream *stream, const struct pipe_vertex_buffer *state) 675165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 676165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 677165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 678165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 679165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 680165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 681165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_vertex_buffer"); 682165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 683165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, stride); 684165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, max_index); 685165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, buffer_offset); 686165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, ptr, state, buffer); 687165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 688165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 689165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 690165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 691165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 692165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecavoid 693165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonsecautil_dump_vertex_element(struct os_stream *stream, const struct pipe_vertex_element *state) 694165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca{ 695165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca if(!state) { 696165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_null(stream); 697165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca return; 698165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca } 699165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 700165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_begin(stream, "pipe_vertex_element"); 701165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 702165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, src_offset); 703165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 704165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, uint, state, vertex_buffer_index); 705165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 706165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_member(stream, format, state, src_format); 707165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca 708165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca util_dump_struct_end(stream); 709165b824343e77775b416f8dec16f744ffaf39aeaJosé Fonseca} 710