Home | History | Annotate | Download | only in radeonsi

Lines Matching refs:sctx

153 static void si_dump_mmapped_reg(struct si_context *sctx, FILE *f,
156 struct radeon_winsys *ws = sctx->b.ws;
163 static void si_dump_debug_registers(struct si_context *sctx, FILE *f)
165 if (sctx->screen->b.info.drm_major == 2 &&
166 sctx->screen->b.info.drm_minor < 42)
170 si_dump_mmapped_reg(sctx, f, R_008010_GRBM_STATUS);
173 if (sctx->screen->b.info.drm_major < 3 ||
174 sctx->screen->b.info.drm_minor < 1) {
179 si_dump_mmapped_reg(sctx, f, R_008008_GRBM_STATUS2);
180 si_dump_mmapped_reg(sctx, f, R_008014_GRBM_STATUS_SE0);
181 si_dump_mmapped_reg(sctx, f, R_008018_GRBM_STATUS_SE1);
182 si_dump_mmapped_reg(sctx, f, R_008038_GRBM_STATUS_SE2);
183 si_dump_mmapped_reg(sctx, f, R_00803C_GRBM_STATUS_SE3);
184 si_dump_mmapped_reg(sctx, f, R_00D034_SDMA0_STATUS_REG);
185 si_dump_mmapped_reg(sctx, f, R_00D834_SDMA1_STATUS_REG);
186 si_dump_mmapped_reg(sctx, f, R_000E50_SRBM_STATUS);
187 si_dump_mmapped_reg(sctx, f, R_000E4C_SRBM_STATUS2);
188 si_dump_mmapped_reg(sctx, f, R_000E54_SRBM_STATUS3);
189 si_dump_mmapped_reg(sctx, f, R_008680_CP_STAT);
190 si_dump_mmapped_reg(sctx, f, R_008674_CP_STALLED_STAT1);
191 si_dump_mmapped_reg(sctx, f, R_008678_CP_STALLED_STAT2);
192 si_dump_mmapped_reg(sctx, f, R_008670_CP_STALLED_STAT3);
193 si_dump_mmapped_reg(sctx, f, R_008210_CP_CPC_STATUS);
194 si_dump_mmapped_reg(sctx, f, R_008214_CP_CPC_BUSY_STAT);
195 si_dump_mmapped_reg(sctx, f, R_008218_CP_CPC_STALLED_STAT1);
196 si_dump_mmapped_reg(sctx, f, R_00821C_CP_CPF_STATUS);
197 si_dump_mmapped_reg(sctx, f, R_008220_CP_CPF_BUSY_STAT);
198 si_dump_mmapped_reg(sctx, f, R_008224_CP_CPF_STALLED_STAT1);
202 static void si_dump_last_ib(struct si_context *sctx, FILE *f)
206 if (!sctx->last_gfx.ib)
209 if (sctx->last_trace_buf) {
214 uint32_t *map = sctx->b.ws->buffer_map(sctx->last_trace_buf->buf,
222 if (sctx->init_config)
223 ac_parse_ib(f, sctx->init_config->pm4, sctx->init_config->ndw,
224 -1, "IB2: Init config", sctx->b.chip_class,
227 if (sctx->init_config_gs_rings)
228 ac_parse_ib(f, sctx->init_config_gs_rings->pm4,
229 sctx->init_config_gs_rings->ndw,
230 -1, "IB2: Init GS rings", sctx->b.chip_class,
233 ac_parse_ib(f, sctx->last_gfx.ib, sctx->last_gfx.num_dw,
234 last_trace_id, "IB", sctx->b.chip_class,
289 static void si_dump_bo_list(struct si_context *sctx,
307 const unsigned page_size = sctx->b.screen->info.gart_page_size;
341 static void si_dump_framebuffer(struct si_context *sctx, FILE *f)
343 struct pipe_framebuffer_state *state = &sctx->framebuffer.state;
434 static void si_dump_descriptors(struct si_context *sctx,
444 &sctx->descriptors[SI_DESCS_FIRST_SHADER +
462 si_dump_descriptor_list(&sctx->vertex_buffers, shader_name[type],
474 struct si_context *sctx = (struct si_context*)ctx;
477 si_dump_debug_registers(sctx, f);
480 si_dump_framebuffer(sctx, f);
483 si_dump_shader(sctx->screen, &sctx->vs_shader, f);
484 si_dump_shader(sctx->screen, &sctx->tcs_shader, f);
485 si_dump_shader(sctx->screen, &sctx->tes_shader, f);
486 si_dump_shader(sctx->screen, &sctx->gs_shader, f);
487 si_dump_shader(sctx->screen, &sctx->ps_shader, f);
489 si_dump_descriptor_list(&sctx->descriptors[SI_DESCS_RW_BUFFERS],
491 si_dump_descriptors(sctx, &sctx->vs_shader, f);
492 si_dump_descriptors(sctx, &sctx->tcs_shader, f);
493 si_dump_descriptors(sctx, &sctx->tes_shader, f);
494 si_dump_descriptors(sctx, &sctx->gs_shader, f);
495 si_dump_descriptors(sctx, &sctx->ps_shader, f);
499 si_dump_bo_list(sctx, &sctx->last_gfx, f);
500 si_dump_last_ib(sctx, f);
505 radeon_clear_saved_cs(&sctx->last_gfx);
506 r600_resource_reference(&sctx->last_trace_buf, NULL);
510 static void si_dump_dma(struct si_context *sctx,
516 si_dump_bo_list(sctx, saved, f);
530 static bool si_vm_fault_occured(struct si_context *sctx, uint32_t *out_addr)
565 if (timestamp <= sctx->dmesg_timestamp)
608 if (timestamp > sctx->dmesg_timestamp)
609 sctx->dmesg_timestamp = timestamp;
616 struct si_context *sctx = (struct si_context *)ctx;
617 struct pipe_screen *screen = sctx->b.b.screen;
622 if (!si_vm_fault_occured(sctx, &addr))
637 if (sctx->apitrace_call_number)
639 sctx->apitrace_call_number);
643 si_dump_debug_state(&sctx->b.b, f,
650 si_dump_dma(sctx, saved, f);
663 void si_init_debug_functions(struct si_context *sctx)
665 sctx->b.b.dump_debug_state = si_dump_debug_state;
666 sctx->b.check_vm_faults = si_check_vm_faults;
671 if (sctx->screen->b.debug_flags & DBG_CHECK_VM)
672 si_vm_fault_occured(sctx, NULL);