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