void trace_dump_clip_state(const struct pipe_clip_state *state) { unsigned i; if (!trace_dumping_enabled_locked()) return; if(!state) { trace_dump_null(); return; } trace_dump_struct_begin("pipe_clip_state"); trace_dump_member_begin("ucp"); trace_dump_array_begin(); for(i = 0; i < PIPE_MAX_CLIP_PLANES; ++i) { trace_dump_elem_begin(); trace_dump_array(float, state->ucp[i], 4); trace_dump_elem_end(); } trace_dump_array_end(); trace_dump_member_end(); trace_dump_struct_end(); }
void trace_dump_depth_stencil_alpha_state(const struct pipe_depth_stencil_alpha_state *state) { unsigned i; if (!trace_dumping_enabled_locked()) return; if(!state) { trace_dump_null(); return; } trace_dump_struct_begin("pipe_depth_stencil_alpha_state"); trace_dump_member_begin("depth"); trace_dump_struct_begin("pipe_depth_state"); trace_dump_member(bool, &state->depth, enabled); trace_dump_member(bool, &state->depth, writemask); trace_dump_member(uint, &state->depth, func); trace_dump_struct_end(); trace_dump_member_end(); trace_dump_member_begin("stencil"); trace_dump_array_begin(); for(i = 0; i < Elements(state->stencil); ++i) { trace_dump_elem_begin(); trace_dump_struct_begin("pipe_stencil_state"); trace_dump_member(bool, &state->stencil[i], enabled); trace_dump_member(uint, &state->stencil[i], func); trace_dump_member(uint, &state->stencil[i], fail_op); trace_dump_member(uint, &state->stencil[i], zpass_op); trace_dump_member(uint, &state->stencil[i], zfail_op); trace_dump_member(uint, &state->stencil[i], ref_value); trace_dump_member(uint, &state->stencil[i], valuemask); trace_dump_member(uint, &state->stencil[i], writemask); trace_dump_struct_end(); trace_dump_elem_end(); } trace_dump_array_end(); trace_dump_member_end(); trace_dump_member_begin("alpha"); trace_dump_struct_begin("pipe_alpha_state"); trace_dump_member(bool, &state->alpha, enabled); trace_dump_member(uint, &state->alpha, func); trace_dump_member(float, &state->alpha, ref_value); trace_dump_struct_end(); trace_dump_member_end(); trace_dump_struct_end(); }
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(); }