void trace_dump_shader_state(const struct pipe_shader_state *state) { unsigned i; if (!trace_dumping_enabled_locked()) return; if (!state) { trace_dump_null(); return; } trace_dump_struct_begin("pipe_shader_state"); trace_dump_member_begin("tokens"); if (state->tokens) { static char str[64 * 1024]; tgsi_dump_str(state->tokens, 0, str, sizeof(str)); trace_dump_string(str); } else { trace_dump_null(); } trace_dump_member_end(); trace_dump_member_begin("stream_output"); trace_dump_struct_begin("pipe_stream_output_info"); trace_dump_member(uint, &state->stream_output, num_outputs); trace_dump_member_array(uint, &state->stream_output, stride); trace_dump_member_begin("output"); trace_dump_array_begin(); for(i = 0; i < state->stream_output.num_outputs; ++i) { trace_dump_elem_begin(); trace_dump_struct_begin(""); /* anonymous */ trace_dump_member(uint, &state->stream_output.output[i], register_index); trace_dump_member(uint, &state->stream_output.output[i], start_component); trace_dump_member(uint, &state->stream_output.output[i], num_components); trace_dump_member(uint, &state->stream_output.output[i], output_buffer); trace_dump_member(uint, &state->stream_output.output[i], dst_offset); trace_dump_member(uint, &state->stream_output.output[i], stream); trace_dump_struct_end(); trace_dump_elem_end(); } trace_dump_array_end(); trace_dump_member_end(); // output trace_dump_struct_end(); trace_dump_member_end(); // stream_output trace_dump_struct_end(); }
void trace_dump_framebuffer_state(const struct pipe_framebuffer_state *state) { if (!trace_dumping_enabled_locked()) return; trace_dump_struct_begin("pipe_framebuffer_state"); trace_dump_member(uint, state, width); trace_dump_member(uint, state, height); trace_dump_member(uint, state, nr_cbufs); trace_dump_member_array(ptr, state, cbufs); trace_dump_member(ptr, state, zsbuf); trace_dump_struct_end(); }
void trace_dump_stencil_ref(const struct pipe_stencil_ref *state) { if (!trace_dumping_enabled_locked()) return; if(!state) { trace_dump_null(); return; } trace_dump_struct_begin("pipe_stencil_ref"); trace_dump_member_array(uint, state, ref_value); trace_dump_struct_end(); }
void trace_dump_rasterizer_state(const struct pipe_rasterizer_state *state) { if (!trace_dumping_enabled_locked()) return; if(!state) { trace_dump_null(); return; } trace_dump_struct_begin("pipe_rasterizer_state"); trace_dump_member(bool, state, flatshade); trace_dump_member(bool, state, light_twoside); trace_dump_member(uint, state, front_winding); trace_dump_member(uint, state, cull_mode); trace_dump_member(uint, state, fill_cw); trace_dump_member(uint, state, fill_ccw); trace_dump_member(bool, state, offset_cw); trace_dump_member(bool, state, offset_ccw); trace_dump_member(bool, state, scissor); trace_dump_member(bool, state, poly_smooth); trace_dump_member(bool, state, poly_stipple_enable); trace_dump_member(bool, state, point_smooth); trace_dump_member(bool, state, point_sprite); trace_dump_member(bool, state, point_size_per_vertex); trace_dump_member(bool, state, multisample); trace_dump_member(bool, state, line_smooth); trace_dump_member(bool, state, line_stipple_enable); trace_dump_member(uint, state, line_stipple_factor); trace_dump_member(uint, state, line_stipple_pattern); trace_dump_member(bool, state, line_last_pixel); trace_dump_member(bool, state, bypass_vs_clip_and_viewport); trace_dump_member(bool, state, flatshade_first); trace_dump_member(bool, state, gl_rasterization_rules); trace_dump_member(float, state, line_width); trace_dump_member(float, state, point_size); trace_dump_member(float, state, point_size_min); trace_dump_member(float, state, point_size_max); trace_dump_member(float, state, offset_units); trace_dump_member(float, state, offset_scale); trace_dump_member_array(uint, state, sprite_coord_mode); trace_dump_struct_end(); }