Lines Matching refs:sscreen

517 void si_query_buffer_destroy(struct si_screen *sscreen, struct si_query_buffer *buffer)
640 static unsigned si_query_pipestats_num_results(struct si_screen *sscreen)
642 return sscreen->info.gfx_level >= GFX11 ? 14 : 11;
668 unsigned si_query_pipestat_end_dw_offset(struct si_screen *sscreen,
671 return si_query_pipestats_num_results(sscreen) * 2 + si_query_pipestat_dw_offset(index);
684 static void si_query_hw_add_result(struct si_screen *sscreen, struct si_query_hw *, void *buffer,
696 static struct pipe_query *si_query_hw_create(struct si_screen *sscreen, unsigned query_type,
711 query->result_size = 16 * sscreen->info.max_render_backends;
713 query->b.num_cs_dw_suspend = 6 + si_cp_write_fence_dwords(sscreen);
717 query->b.num_cs_dw_suspend = 8 + si_cp_write_fence_dwords(sscreen);
721 query->b.num_cs_dw_suspend = 8 + si_cp_write_fence_dwords(sscreen);
739 query->result_size = si_query_pipestats_num_results(sscreen) * 16;
741 query->b.num_cs_dw_suspend = 6 + si_cp_write_fence_dwords(sscreen);
744 sscreen->use_ngg && (sscreen->info.gfx_level >= GFX10 && sscreen->info.gfx_level <= GFX10_3))
1194 struct si_screen *sscreen = (struct si_screen *)ctx->screen;
1200 if (sscreen->use_ngg_streamout &&
1205 return gfx10_sh_query_create(sscreen, query_type, index);
1207 return si_query_hw_create(sscreen, query_type, index);
1360 static void si_query_hw_add_result(struct si_screen *sscreen, struct si_query_hw *query,
1363 unsigned max_rbs = sscreen->info.max_render_backends;
1419 si_query_pipestat_end_dw_offset(sscreen, i), false);
1491 struct si_screen *sscreen = sctx->screen;
1511 query->ops->add_result(sscreen, query, map + results_base, result);
1519 result->u64 = (1000000 * result->u64) / sscreen->info.clock_crystal_freq;
1845 static unsigned si_get_num_queries(struct si_screen *sscreen)
1848 if (sscreen->info.is_amdgpu) {
1849 if (sscreen->info.gfx_level >= GFX8)
1856 if (sscreen->info.gfx_level == GFX7)
1867 struct si_screen *sscreen = (struct si_screen *)screen;
1868 unsigned num_queries = si_get_num_queries(sscreen);
1871 unsigned num_perfcounters = si_get_perfcounter_info(sscreen, 0, NULL);
1877 return si_get_perfcounter_info(sscreen, index - num_queries, info);
1886 info->max_value.u64 = (uint64_t)sscreen->info.vram_size_kb * 1024;
1892 info->max_value.u64 = (uint64_t)sscreen->info.gart_size_kb * 1024;
1898 info->max_value.u64 = (uint64_t)sscreen->info.vram_vis_size_kb * 1024;
1902 if (info->group_id != ~(unsigned)0 && sscreen->perfcounters)
1903 info->group_id += sscreen->perfcounters->base.num_groups;
1915 struct si_screen *sscreen = (struct si_screen *)screen;
1918 if (sscreen->perfcounters)
1919 num_pc_groups = sscreen->perfcounters->base.num_groups;
1925 return si_get_perfcounter_group_info(sscreen, index, info);
1955 void si_init_screen_query_functions(struct si_screen *sscreen)
1957 sscreen->b.get_driver_query_info = si_get_driver_query_info;
1958 sscreen->b.get_driver_query_group_info = si_get_driver_query_group_info;