Module: Mesa Branch: master Commit: d4a461caaf00ae13b83f106f032d3f4125687a02 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d4a461caaf00ae13b83f106f032d3f4125687a02
Author: Kenneth Graunke <[email protected]> Date: Thu Jan 15 02:05:18 2015 -0800 i965: Fix INTEL_DEBUG=shader_time for SIMD8 VS (and GS). We were incorrectly attributing VS time to FS8 on Gen8+, which now use fs_visitor for vertex shaders. We don't hit this for geometry shaders yet, but we may as well add support now - the fix is obvious, and we'll just forget later. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Francisco Jerez <[email protected]> Reviewed-by: Jordan Justen <[email protected]> --- src/mesa/drivers/dri/i965/brw_fs.cpp | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 2046eba..200a494 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -724,15 +724,31 @@ fs_visitor::emit_shader_time_end() current_annotation = "shader time end"; enum shader_time_shader_type type, written_type, reset_type; - if (dispatch_width == 8) { - type = ST_FS8; - written_type = ST_FS8_WRITTEN; - reset_type = ST_FS8_RESET; - } else { - assert(dispatch_width == 16); - type = ST_FS16; - written_type = ST_FS16_WRITTEN; - reset_type = ST_FS16_RESET; + switch (stage) { + case MESA_SHADER_VERTEX: + type = ST_VS; + written_type = ST_VS_WRITTEN; + reset_type = ST_VS_RESET; + break; + case MESA_SHADER_GEOMETRY: + type = ST_GS; + written_type = ST_GS_WRITTEN; + reset_type = ST_GS_RESET; + break; + case MESA_SHADER_FRAGMENT: + if (dispatch_width == 8) { + type = ST_FS8; + written_type = ST_FS8_WRITTEN; + reset_type = ST_FS8_RESET; + } else { + assert(dispatch_width == 16); + type = ST_FS16; + written_type = ST_FS16_WRITTEN; + reset_type = ST_FS16_RESET; + } + break; + default: + unreachable("fs_visitor::emit_shader_time_end missing code"); } fs_reg shader_end_time = get_timestamp(); _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
