mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 10:30:08 +01:00
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 <kenneth@whitecape.org> Reviewed-by: Francisco Jerez <currojerez@riseup.net> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
parent
32f1d4e286
commit
d4a461caaf
1 changed files with 25 additions and 9 deletions
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue