135355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca/**************************************************************************
235355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca *
335355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
435355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * All Rights Reserved.
535355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca *
635355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * Permission is hereby granted, free of charge, to any person obtaining a
735355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * copy of this software and associated documentation files (the
835355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * "Software"), to deal in the Software without restriction, including
935355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * without limitation the rights to use, copy, modify, merge, publish,
1035355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * distribute, sub license, and/or sell copies of the Software, and to
1135355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * permit persons to whom the Software is furnished to do so, subject to
1235355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * the following conditions:
1335355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca *
1435355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * The above copyright notice and this permission notice (including the
1535355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * next paragraph) shall be included in all copies or substantial portions
1635355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * of the Software.
1735355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca *
1835355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1935355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
2035355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
2135355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
2235355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
2335355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
2435355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2535355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca *
2635355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca **************************************************************************/
2735355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca
2835355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca
2935355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca#include "pipe/p_compiler.h"
304f25420bdd834e81a3e22733304efc5261c2998aBrian Paul#include "util/u_memory.h"
316f5e0539dc681b800bd08d14221751d0f3484280José Fonseca#include "util/u_format.h"
32696067e781977ad54bb31b3843355701124f1b22José Fonseca#include "tgsi/tgsi_dump.h"
3335355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca
3435355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca#include "tr_dump.h"
35c30f66118974f41f57e86d49f372b7c78f891223Jakob Bornecrantz#include "tr_dump_state.h"
3635355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca
3735355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca
38196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_format(enum pipe_format format)
399dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
40210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
41210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
42210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
436f5e0539dc681b800bd08d14221751d0f3484280José Fonseca   trace_dump_enum(util_format_name(format) );
449dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
459dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
469dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
47b77583203e44a8937577bf3b813dc66cea1a2005José Fonsecavoid trace_dump_resource_template(const struct pipe_resource *templat)
4835355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca{
49210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
50210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
51210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
529dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!templat) {
53196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
549dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
559dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
569dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
57287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell   trace_dump_struct_begin("pipe_resource");
58422512050312a880439ed4e8eb99b8e362d5071fJakob Bornecrantz
59196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(int, templat, target);
60196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(format, templat, format);
61422512050312a880439ed4e8eb99b8e362d5071fJakob Bornecrantz
62196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_begin("width");
63683e35f726a182ed9fc6b6d5cb07146eebe14deaKeith Whitwell   trace_dump_uint(templat->width0);
64196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_end();
6535355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca
66196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_begin("height");
67683e35f726a182ed9fc6b6d5cb07146eebe14deaKeith Whitwell   trace_dump_uint(templat->height0);
68196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_end();
6935355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca
70196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_begin("depth");
71683e35f726a182ed9fc6b6d5cb07146eebe14deaKeith Whitwell   trace_dump_uint(templat->depth0);
72196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_end();
7391f6032919f8e5718004bb7ac0ee2b015fb403d7José Fonseca
744c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   trace_dump_member_begin("array_size");
754c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   trace_dump_uint(templat->array_size);
764c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   trace_dump_member_end();
774c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger
78196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, templat, last_level);
79a2a01853f3f40b4ef8b3f01503391877960bdaeeBrian Paul   trace_dump_member(uint, templat, usage);
80287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell   trace_dump_member(uint, templat, bind);
81287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell   trace_dump_member(uint, templat, flags);
82422512050312a880439ed4e8eb99b8e362d5071fJakob Bornecrantz
83196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
8435355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca}
8535355f7610b69dcd2fdba451db4554478fe0acaaJosé Fonseca
869dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
87b77583203e44a8937577bf3b813dc66cea1a2005José Fonsecavoid trace_dump_box(const struct pipe_box *box)
88b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca{
89b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   if (!trace_dumping_enabled_locked())
90b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca      return;
91b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca
92b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   if(!box) {
93b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca      trace_dump_null();
94b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca      return;
95b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   }
96b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca
97b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_struct_begin("pipe_box");
98b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca
99b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_member(uint, box, x);
100b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_member(uint, box, y);
101b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_member(uint, box, z);
102b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_member(uint, box, width);
103b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_member(uint, box, height);
104b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_member(uint, box, depth);
105b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca
106b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_struct_end();
107b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca}
108b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca
109b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca
110196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_rasterizer_state(const struct pipe_rasterizer_state *state)
1119dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
112210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
113210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
114210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
1159dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!state) {
116196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
1179dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
1189dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
1199dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
120196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_rasterizer_state");
121196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca
122196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, flatshade);
123196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, light_twoside);
124dc4c821f0817a3db716f965692fb701079f66340Marek Olšák   trace_dump_member(bool, state, clamp_vertex_color);
125dc4c821f0817a3db716f965692fb701079f66340Marek Olšák   trace_dump_member(bool, state, clamp_fragment_color);
1260bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   trace_dump_member(uint, state, front_ccw);
1270bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   trace_dump_member(uint, state, cull_face);
1280bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   trace_dump_member(uint, state, fill_front);
1290bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   trace_dump_member(uint, state, fill_back);
1300bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   trace_dump_member(bool, state, offset_point);
1310bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   trace_dump_member(bool, state, offset_line);
1320bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72cKeith Whitwell   trace_dump_member(bool, state, offset_tri);
133196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, scissor);
134196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, poly_smooth);
135196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, poly_stipple_enable);
136196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, point_smooth);
1374a4daa75a85db22cd37ebd533ebbccb427e07077Roland Scheidegger   trace_dump_member(uint, state, sprite_coord_enable);
1384a4daa75a85db22cd37ebd533ebbccb427e07077Roland Scheidegger   trace_dump_member(bool, state, sprite_coord_mode);
13968f93ea3eb83cfad014b8ec93cec3564c1aa9833Roland Scheidegger   trace_dump_member(bool, state, point_quad_rasterization);
140196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, point_size_per_vertex);
141196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, multisample);
142196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, line_smooth);
143196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, line_stipple_enable);
144196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, line_stipple_factor);
145196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, line_stipple_pattern);
146196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, line_last_pixel);
147196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, flatshade_first);
148196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, gl_rasterization_rules);
149dc4c821f0817a3db716f965692fb701079f66340Marek Olšák   trace_dump_member(bool, state, rasterizer_discard);
150dc4c821f0817a3db716f965692fb701079f66340Marek Olšák   trace_dump_member(bool, state, depth_clip);
151dc4c821f0817a3db716f965692fb701079f66340Marek Olšák   trace_dump_member(uint, state, clip_plane_enable);
152196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca
153196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(float, state, line_width);
154196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(float, state, point_size);
155196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(float, state, offset_units);
156196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(float, state, offset_scale);
15716f8308c3df020a786908be065d3dcb90c8ca2a5Christoph Bumiller   trace_dump_member(float, state, offset_clamp);
158422512050312a880439ed4e8eb99b8e362d5071fJakob Bornecrantz
159196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
1609dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
1619dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
1629dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
163196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_poly_stipple(const struct pipe_poly_stipple *state)
1649dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
165210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
166210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
167210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
1689dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!state) {
169196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
1709dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
1719dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
1729dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
173196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_poly_stipple");
1749dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
175196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_begin("stipple");
176196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_array(uint,
177422512050312a880439ed4e8eb99b8e362d5071fJakob Bornecrantz                    state->stipple,
178e54fa77d130582ee48b699917324040ef254ed74José Fonseca                    Elements(state->stipple));
179196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_end();
180422512050312a880439ed4e8eb99b8e362d5071fJakob Bornecrantz
181196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
1829dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
1839dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
1849dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
185196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_viewport_state(const struct pipe_viewport_state *state)
1869dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
187210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
188210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
189210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
1909dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!state) {
191196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
1929dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
1939dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
1949dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
195196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_viewport_state");
1969dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
197196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_array(float, state, scale);
198196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_array(float, state, translate);
199422512050312a880439ed4e8eb99b8e362d5071fJakob Bornecrantz
200196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
2019dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
2029dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
2039dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
204196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_scissor_state(const struct pipe_scissor_state *state)
2059dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
206210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
207210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
208210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
2099dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!state) {
210196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
2119dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
2129dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
2139dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
214196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_scissor_state");
2159dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
216196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, minx);
217196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, miny);
218196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, maxx);
219196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, maxy);
2209dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
221196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
2229dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
2239dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
2249dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
225196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_clip_state(const struct pipe_clip_state *state)
2269dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
2279dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   unsigned i;
228422512050312a880439ed4e8eb99b8e362d5071fJakob Bornecrantz
229210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
230210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
231210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
2329dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!state) {
233196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
2349dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
2359dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
2369dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
237d27ffb8c6d4551371995608a6d752dfeb26c2351José Fonseca   trace_dump_struct_begin("pipe_clip_state");
2389dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
239196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_begin("ucp");
240196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_array_begin();
241d27ffb8c6d4551371995608a6d752dfeb26c2351José Fonseca   for(i = 0; i < PIPE_MAX_CLIP_PLANES; ++i) {
242d27ffb8c6d4551371995608a6d752dfeb26c2351José Fonseca      trace_dump_elem_begin();
243196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_array(float, state->ucp[i], 4);
244d27ffb8c6d4551371995608a6d752dfeb26c2351José Fonseca      trace_dump_elem_end();
245d27ffb8c6d4551371995608a6d752dfeb26c2351José Fonseca   }
246196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_array_end();
247196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_end();
2489dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
249196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
2509dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
2519dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
2529dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
253196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_shader_state(const struct pipe_shader_state *state)
2549dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
255696067e781977ad54bb31b3843355701124f1b22José Fonseca   static char str[8192];
256861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   unsigned i;
257d27ffb8c6d4551371995608a6d752dfeb26c2351José Fonseca
258210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
259210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
260210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
2619dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!state) {
262196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
2639dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
2649dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
2659dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
266696067e781977ad54bb31b3843355701124f1b22José Fonseca   tgsi_dump_str(state->tokens, 0, str, sizeof(str));
267422512050312a880439ed4e8eb99b8e362d5071fJakob Bornecrantz
268196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_shader_state");
2699dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
270196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_begin("tokens");
271196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_string(str);
272196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_end();
2739dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
274861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   trace_dump_member_begin("stream_output");
275861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   trace_dump_struct_begin("pipe_stream_output_info");
276861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   trace_dump_member(uint, &state->stream_output, num_outputs);
277b275bed549570462b423026820677a443d386ffeJosé Fonseca   trace_dump_member_array(uint, &state->stream_output, stride);
278b275bed549570462b423026820677a443d386ffeJosé Fonseca   trace_dump_member_begin("output");
279861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   trace_dump_array_begin();
280861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   for(i = 0; i < state->stream_output.num_outputs; ++i) {
281861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák      trace_dump_elem_begin();
282861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák      trace_dump_struct_begin(""); /* anonymous */
283861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák      trace_dump_member(uint, &state->stream_output.output[i], register_index);
2842449695e822421fdcaf1c66dffc12d7d705ea69dMarek Olšák      trace_dump_member(uint, &state->stream_output.output[i], start_component);
2852449695e822421fdcaf1c66dffc12d7d705ea69dMarek Olšák      trace_dump_member(uint, &state->stream_output.output[i], num_components);
286861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák      trace_dump_member(uint, &state->stream_output.output[i], output_buffer);
2872449695e822421fdcaf1c66dffc12d7d705ea69dMarek Olšák      trace_dump_member(uint, &state->stream_output.output[i], dst_offset);
288861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák      trace_dump_struct_end();
289861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák      trace_dump_elem_end();
290861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   }
291861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   trace_dump_array_end();
292b275bed549570462b423026820677a443d386ffeJosé Fonseca   trace_dump_member_end(); // output
293861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   trace_dump_struct_end();
294b275bed549570462b423026820677a443d386ffeJosé Fonseca   trace_dump_member_end(); // stream_output
295861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák
296196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
2979dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
2989dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
2999dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
300196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_depth_stencil_alpha_state(const struct pipe_depth_stencil_alpha_state *state)
3019dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
3029dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   unsigned i;
303422512050312a880439ed4e8eb99b8e362d5071fJakob Bornecrantz
304210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
305210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
306210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
3079dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!state) {
308196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
3099dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
3109dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
3119dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
312196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_depth_stencil_alpha_state");
3139dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
314196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_begin("depth");
315196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_depth_state");
316196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, &state->depth, enabled);
317196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, &state->depth, writemask);
318196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, &state->depth, func);
319196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
320196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_end();
321422512050312a880439ed4e8eb99b8e362d5071fJakob Bornecrantz
322196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_begin("stencil");
323196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_array_begin();
3249dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   for(i = 0; i < Elements(state->stencil); ++i) {
325196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_elem_begin();
326196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_struct_begin("pipe_stencil_state");
327196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_member(bool, &state->stencil[i], enabled);
328196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_member(uint, &state->stencil[i], func);
329196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_member(uint, &state->stencil[i], fail_op);
330196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_member(uint, &state->stencil[i], zpass_op);
331196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_member(uint, &state->stencil[i], zfail_op);
332a7e72231e3c76a9410d192441da309002ea6422dZack Rusin      trace_dump_member(uint, &state->stencil[i], valuemask);
333a7e72231e3c76a9410d192441da309002ea6422dZack Rusin      trace_dump_member(uint, &state->stencil[i], writemask);
334196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_struct_end();
335196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_elem_end();
3369dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
337196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_array_end();
338196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_end();
339196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca
340196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_begin("alpha");
341196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_alpha_state");
342196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, &state->alpha, enabled);
343196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, &state->alpha, func);
344d6888e811d24eaa7e8d9093be606394f00435c05Zack Rusin   trace_dump_member(float, &state->alpha, ref_value);
345196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
346196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_end();
347196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca
348196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
3499dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
3509dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
351391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonsecastatic void trace_dump_rt_blend_state(const struct pipe_rt_blend_state *state)
352391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca{
353391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_struct_begin("pipe_rt_blend_state");
354391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca
355391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member(uint, state, blend_enable);
356391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca
357391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member(uint, state, rgb_func);
358391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member(uint, state, rgb_src_factor);
359391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member(uint, state, rgb_dst_factor);
360391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca
361391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member(uint, state, alpha_func);
362391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member(uint, state, alpha_src_factor);
363391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member(uint, state, alpha_dst_factor);
364391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca
365391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member(uint, state, colormask);
366391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca
367391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_struct_end();
368391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca}
369391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca
370196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_blend_state(const struct pipe_blend_state *state)
3719dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
372391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   unsigned valid_entries = 1;
373391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca
374210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
375210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
376210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
3779dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!state) {
378196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
3799dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
3809dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
3819dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
382391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_struct_begin("pipe_blend_state");
383391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca
384391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member(bool, state, dither);
385391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca
386391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member(bool, state, logicop_enable);
387391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member(uint, state, logicop_func);
388391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca
389391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member(bool, state, independent_blend_enable);
390391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca
391391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member_begin("rt");
392391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   if (state->independent_blend_enable)
393391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca      valid_entries = PIPE_MAX_COLOR_BUFS;
394391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_struct_array(rt_blend_state, state->rt, valid_entries);
395391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_member_end();
396391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca
397391f7147e73b752c6e088c4ae8fe11ddfd5fb537José Fonseca   trace_dump_struct_end();
3989dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
3999dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
4009dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
401196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_blend_color(const struct pipe_blend_color *state)
4029dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
403210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
404210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
405210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
4069dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!state) {
407196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
4089dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
4099dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
4109dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
411196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_blend_color");
4129dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
413196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_array(float, state, color);
4149dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
415196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
4169dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
4179dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
4180786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheideggervoid trace_dump_stencil_ref(const struct pipe_stencil_ref *state)
4190786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger{
4200786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger   if (!trace_dumping_enabled_locked())
4210786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger      return;
4220786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger
4230786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger   if(!state) {
4240786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger      trace_dump_null();
4250786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger      return;
4260786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger   }
4270786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger
4280786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger   trace_dump_struct_begin("pipe_stencil_ref");
4290786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger
4300786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger   trace_dump_member_array(uint, state, ref_value);
4310786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger
4320786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger   trace_dump_struct_end();
4330786f38b46c1dd33a0a0032c238b92742b5d71e2Roland Scheidegger}
4349dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
435196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_framebuffer_state(const struct pipe_framebuffer_state *state)
4369dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
437210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
438210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
439210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
440196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_framebuffer_state");
4419dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
442196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, width);
443196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, height);
4442299f21f8da816fc4588492965e7dac422da1a96Zack Rusin   trace_dump_member(uint, state, nr_cbufs);
445196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member_array(ptr, state, cbufs);
446196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(ptr, state, zsbuf);
4479dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
448196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
4499dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
4509dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
4519dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
452196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_sampler_state(const struct pipe_sampler_state *state)
4539dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
454210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
455210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
456210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
4579dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!state) {
458196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
4599dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
4609dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
4619dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
462196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_sampler_state");
463196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca
464196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, wrap_s);
465196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, wrap_t);
466196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, wrap_r);
467196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, min_img_filter);
468196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, min_mip_filter);
469196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, mag_img_filter);
4704e014c0a148ba3ac015d0e83dcf975ca6e814e1fMichal Krol   trace_dump_member(uint, state, compare_mode);
471196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, compare_func);
472196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(bool, state, normalized_coords);
473ebe12d50064370e4ddec21a1e087b24295940319Roland Scheidegger   trace_dump_member(uint, state, max_anisotropy);
474196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(float, state, lod_bias);
475196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(float, state, min_lod);
476196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(float, state, max_lod);
4779f61e43b4903c6cf0ac03a479ec9ed7b15fd6ccfDave Airlie   trace_dump_member_array(float, state, border_color.f);
478196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca
479196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
4809dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
4819dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
4829dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
483c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonsecavoid trace_dump_sampler_view_template(const struct pipe_sampler_view *state,
484c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca                                      enum pipe_texture_target target)
485b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca{
486b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   if (!trace_dumping_enabled_locked())
487b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca      return;
488b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca
489b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   if(!state) {
490b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca      trace_dump_null();
491b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca      return;
492b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   }
493b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca
494b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_struct_begin("pipe_sampler_view");
495b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca
496b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_member(format, state, format);
497c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca
498c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   trace_dump_member_begin("u");
499c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   trace_dump_struct_begin(""); /* anonymous */
500c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   if (target == PIPE_BUFFER) {
501c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member_begin("buf");
502c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_struct_begin(""); /* anonymous */
503c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member(uint, &state->u.buf, first_element);
504c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member(uint, &state->u.buf, last_element);
505c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_struct_end(); /* anonymous */
506c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member_end(); /* buf */
507c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   } else {
508c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member_begin("tex");
509c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_struct_begin(""); /* anonymous */
510c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member(uint, &state->u.tex, first_layer);
511c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member(uint, &state->u.tex, last_layer);
512c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member(uint, &state->u.tex, first_level);
513c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member(uint, &state->u.tex, last_level);
514c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_struct_end(); /* anonymous */
515c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member_end(); /* tex */
516c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   }
517c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   trace_dump_struct_end(); /* anonymous */
518c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   trace_dump_member_end(); /* u */
519c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca
520b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_member(uint, state, swizzle_r);
521b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_member(uint, state, swizzle_g);
522b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_member(uint, state, swizzle_b);
523b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_member(uint, state, swizzle_a);
524b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca
525b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca   trace_dump_struct_end();
526b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca}
527b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca
528b77583203e44a8937577bf3b813dc66cea1a2005José Fonseca
529c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonsecavoid trace_dump_surface_template(const struct pipe_surface *state,
530c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca                                 enum pipe_texture_target target)
5319dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
532210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
533210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
534210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
5359dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!state) {
536196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
5379dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
5389dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
5399dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
540196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_surface");
5419dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
542196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(format, state, format);
543196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, width);
544196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, height);
5459dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
546c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer   trace_dump_member(uint, state, usage);
547c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer
548c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   trace_dump_member_begin("u");
549c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   trace_dump_struct_begin(""); /* anonymous */
550c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   if (target == PIPE_BUFFER) {
551c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member_begin("buf");
552c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_struct_begin(""); /* anonymous */
553c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member(uint, &state->u.buf, first_element);
554c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member(uint, &state->u.buf, last_element);
555c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_struct_end(); /* anonymous */
556c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member_end(); /* buf */
557c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   } else {
558c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member_begin("tex");
559c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_struct_begin(""); /* anonymous */
560c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member(uint, &state->u.tex, level);
561c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member(uint, &state->u.tex, first_layer);
562c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member(uint, &state->u.tex, last_layer);
563c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_struct_end(); /* anonymous */
564c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca      trace_dump_member_end(); /* tex */
565c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   }
566c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   trace_dump_struct_end(); /* anonymous */
567c0f6bfd489091da20ad9580d8ac6aeb187ededfdJosé Fonseca   trace_dump_member_end(); /* u */
568c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer
569c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer   trace_dump_struct_end();
570c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer}
571c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer
572c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer
573c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzervoid trace_dump_transfer(const struct pipe_transfer *state)
574c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer{
575210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
576210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
577210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
578c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer   if(!state) {
579c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer      trace_dump_null();
580c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer      return;
581c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer   }
582c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer
583c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer   trace_dump_struct_begin("pipe_transfer");
584c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer
5854c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   trace_dump_member(uint, state, box.x);
5864c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   trace_dump_member(uint, state, box.y);
5874c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   trace_dump_member(uint, state, box.z);
588287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell   trace_dump_member(uint, state, box.width);
589287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell   trace_dump_member(uint, state, box.height);
5904c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   trace_dump_member(uint, state, box.depth);
591c738edcc68905fb251cf9edc0529e2e1c778fdeeMichel Dänzer
592196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, stride);
5934c7001462607e6e99e474d6271dd481d3f8f201cRoland Scheidegger   trace_dump_member(uint, state, layer_stride);
594196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, usage);
595196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca
596287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell   trace_dump_member(ptr, state, resource);
597196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca
598196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
5999dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
6009dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
6019dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
602196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_vertex_buffer(const struct pipe_vertex_buffer *state)
6039dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
604210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
605210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
606210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
6079dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!state) {
608196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
6099dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
6109dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
6119dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
612196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_vertex_buffer");
6139dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
614872b515e8f0bb1be5bad85fd9d01529c71f07ba2Zack Rusin   trace_dump_member(uint, state, stride);
615196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, buffer_offset);
616287c94ea4987033f9c99a2f91c5750c9083504caKeith Whitwell   trace_dump_member(resource_ptr, state, buffer);
6179dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
618196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
6199dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
6209dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
6219dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
6226d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wuvoid trace_dump_index_buffer(const struct pipe_index_buffer *state)
6236d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu{
6246d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu   if (!trace_dumping_enabled_locked())
6256d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu      return;
6266d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu
6276d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu   if(!state) {
6286d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu      trace_dump_null();
6296d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu      return;
6306d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu   }
6316d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu
6326d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu   trace_dump_struct_begin("pipe_index_buffer");
6336d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu
6346d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu   trace_dump_member(uint, state, index_size);
6356d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu   trace_dump_member(uint, state, offset);
6366d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu   trace_dump_member(resource_ptr, state, buffer);
6376d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu
6386d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu   trace_dump_struct_end();
6396d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu}
6406d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu
6416d28bf917fb1d741d90fd3f05c22769376021fcaChia-I Wu
642196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonsecavoid trace_dump_vertex_element(const struct pipe_vertex_element *state)
6439dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca{
644210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz   if (!trace_dumping_enabled_locked())
645210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz      return;
646210ad58ee3c136fd302edac6888e96f34c491387Jakob Bornecrantz
6479dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   if(!state) {
648196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca      trace_dump_null();
6499dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca      return;
6509dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca   }
6519dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
652196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_begin("pipe_vertex_element");
6539dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
654196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, src_offset);
6559dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
656196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(uint, state, vertex_buffer_index);
657422512050312a880439ed4e8eb99b8e362d5071fJakob Bornecrantz
658196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_member(format, state, src_format);
6599dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca
660196167e9d5c84f9f6dfe6f15b3e2f2c3ec6825dcJosé Fonseca   trace_dump_struct_end();
6619dee60969df7ff263e05430e69ef26982fe2bd94José Fonseca}
662c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca
663c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca
664c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonsecavoid trace_dump_draw_info(const struct pipe_draw_info *state)
665c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca{
666c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   if (!trace_dumping_enabled_locked())
667c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca      return;
668c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca
669c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   if(!state) {
670c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca      trace_dump_null();
671c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca      return;
672c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   }
673c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca
674c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   trace_dump_struct_begin("pipe_draw_info");
675c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca
676c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   trace_dump_member(bool, state, indexed);
677c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca
678c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   trace_dump_member(uint, state, mode);
679c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   trace_dump_member(uint, state, start);
680c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   trace_dump_member(uint, state, count);
681c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca
682c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   trace_dump_member(uint, state, start_instance);
683c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   trace_dump_member(uint, state, instance_count);
684c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca
685c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   trace_dump_member(int,  state, index_bias);
686c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   trace_dump_member(uint, state, min_index);
687c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   trace_dump_member(uint, state, max_index);
688c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca
689345b1a31c9f1fdd513d6f394c772830bb811fc94Marek Olšák   trace_dump_member(bool, state, primitive_restart);
690345b1a31c9f1fdd513d6f394c772830bb811fc94Marek Olšák   trace_dump_member(uint, state, restart_index);
691345b1a31c9f1fdd513d6f394c772830bb811fc94Marek Olšák
692861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák   trace_dump_member(ptr, state, count_from_stream_output);
693861a029ddb31e91bb4d8e18ab708d0d172f63aadMarek Olšák
694c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca   trace_dump_struct_end();
695c7f33624f93fb08264e762e1a6a82b1c99afa58eJosé Fonseca}
696