summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2018-01-31 11:40:24 +0100
committerSamuel Pitoiset <[email protected]>2018-01-31 14:10:26 +0100
commita097a6f519ff39d8586f7af06323c2c27899ec3d (patch)
treec7a0c0cfaf5cbaad1ee2756b55cd71cbc03e43dd
parent26cc3e74b97864a8b879b169bdd6357c6e0ca2b1 (diff)
radv: do not dump meta shader stats
That's quite useless and that pollutes the output. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
-rw-r--r--src/amd/vulkan/radv_pipeline.c30
-rw-r--r--src/amd/vulkan/radv_shader.h9
2 files changed, 18 insertions, 21 deletions
diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c
index 785c216b4ad..65476373384 100644
--- a/src/amd/vulkan/radv_pipeline.c
+++ b/src/amd/vulkan/radv_pipeline.c
@@ -110,18 +110,6 @@ void radv_DestroyPipeline(
radv_pipeline_destroy(device, pipeline, pAllocator);
}
-static void radv_dump_pipeline_stats(struct radv_device *device, struct radv_pipeline *pipeline)
-{
- int i;
-
- for (i = 0; i < MESA_SHADER_STAGES; i++) {
- if (!pipeline->shaders[i])
- continue;
-
- radv_shader_dump_stats(device, pipeline->shaders[i], i, stderr);
- }
-}
-
static uint32_t get_hash_flags(struct radv_device *device)
{
uint32_t hash_flags = 0;
@@ -1861,8 +1849,15 @@ void radv_create_shaders(struct radv_pipeline *pipeline,
for (int i = 0; i < MESA_SHADER_STAGES; ++i) {
free(codes[i]);
- if (modules[i] && !pipeline->device->keep_shader_info)
- ralloc_free(nir[i]);
+ if (modules[i]) {
+ if (!pipeline->device->keep_shader_info)
+ ralloc_free(nir[i]);
+
+ if (radv_can_dump_shader_stats(device, modules[i]))
+ radv_shader_dump_stats(device,
+ pipeline->shaders[i],
+ i, stderr);
+ }
}
if (fs_m.nir)
@@ -3233,10 +3228,6 @@ radv_pipeline_init(struct radv_pipeline *pipeline,
pipeline->graphics.vtx_emit_num = 2;
}
- if (device->instance->debug_flags & RADV_DEBUG_DUMP_SHADER_STATS) {
- radv_dump_pipeline_stats(device, pipeline);
- }
-
result = radv_pipeline_scratch_init(device, pipeline);
radv_pipeline_generate_pm4(pipeline, pCreateInfo, extra, &blend, &tess, &gs, prim, gs_out);
@@ -3400,9 +3391,6 @@ static VkResult radv_compute_pipeline_create(
*pPipeline = radv_pipeline_to_handle(pipeline);
- if (device->instance->debug_flags & RADV_DEBUG_DUMP_SHADER_STATS) {
- radv_dump_pipeline_stats(device, pipeline);
- }
return VK_SUCCESS;
}
diff --git a/src/amd/vulkan/radv_shader.h b/src/amd/vulkan/radv_shader.h
index f6486863f88..b07f8a89e74 100644
--- a/src/amd/vulkan/radv_shader.h
+++ b/src/amd/vulkan/radv_shader.h
@@ -122,4 +122,13 @@ radv_can_dump_shader(struct radv_device *device,
module && !module->nir;
}
+static inline bool
+radv_can_dump_shader_stats(struct radv_device *device,
+ struct radv_shader_module *module)
+{
+ /* Only dump non-meta shader stats. */
+ return device->instance->debug_flags & RADV_DEBUG_DUMP_SHADER_STATS &&
+ module && !module->nir;
+}
+
#endif