intel/compiler: Pass shader_stats for each SIMD mode
Passing shader_stats to the fs_generator constructor means that the SIMD8 shader stats from the visitor (such as the scheduler mode) will be reported out for the SIMD16/SIMD32 versions as well. As you can see, we are now passing 'shader_stats' and 'stats' to generate_code(), which is obviously odd looking. Ian rebased and committed an old patch of mine which added the shader_stats struct on July 30 in commitdabb5d4bee
(i965/fs: Add a shader_stats struct.) and shortly after on August 12 Jason added the brw_compile_stats struct in commit134607760a
(intel/compiler: Fill a compiler statistics struct). I'd like to combine the two, but I'm not sure how. shader_stats is an input to generate_code() while brw_compile_stats is an output and is only used by the Vulkan driver. Leave it as is for now... Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4093>
This commit is contained in:
@@ -1361,8 +1361,7 @@ brw_compile_tes(const struct brw_compiler *compiler,
|
||||
prog_data->base.dispatch_mode = DISPATCH_MODE_SIMD8;
|
||||
|
||||
fs_generator g(compiler, log_data, mem_ctx,
|
||||
&prog_data->base.base, v.shader_stats, false,
|
||||
MESA_SHADER_TESS_EVAL);
|
||||
&prog_data->base.base, false, MESA_SHADER_TESS_EVAL);
|
||||
if (unlikely(INTEL_DEBUG & DEBUG_TES)) {
|
||||
g.enable_debug(ralloc_asprintf(mem_ctx,
|
||||
"%s tessellation evaluation shader %s",
|
||||
@@ -1371,7 +1370,7 @@ brw_compile_tes(const struct brw_compiler *compiler,
|
||||
nir->info.name));
|
||||
}
|
||||
|
||||
g.generate_code(v.cfg, 8, stats);
|
||||
g.generate_code(v.cfg, 8, v.shader_stats, stats);
|
||||
|
||||
assembly = g.get_assembly();
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user