[Mesa-dev] [RFC PATCH 6/9] ac/shader: scan if shaders use discard (or kill) instructions

Samuel Pitoiset samuel.pitoiset at gmail.com
Thu Mar 8 14:08:08 UTC 2018


Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/amd/common/ac_shader_info.c | 4 ++++
 src/amd/common/ac_shader_info.h | 1 +
 2 files changed, 5 insertions(+)

diff --git a/src/amd/common/ac_shader_info.c b/src/amd/common/ac_shader_info.c
index fad4245986..c495879280 100644
--- a/src/amd/common/ac_shader_info.c
+++ b/src/amd/common/ac_shader_info.c
@@ -166,6 +166,10 @@ gather_intrinsic_info(const nir_shader *nir, const nir_intrinsic_instr *instr,
 		}
 		break;
 	}
+	case nir_intrinsic_discard:
+	case nir_intrinsic_discard_if:
+		info->ps.uses_kill = true;
+		break;
 	default:
 		break;
 	}
diff --git a/src/amd/common/ac_shader_info.h b/src/amd/common/ac_shader_info.h
index fb617929fe..8e1102c081 100644
--- a/src/amd/common/ac_shader_info.h
+++ b/src/amd/common/ac_shader_info.h
@@ -64,6 +64,7 @@ struct ac_shader_info {
 		bool uses_persp_centroid;
 		bool uses_persp_center;
 		uint32_t flat_shaded_mask;
+		bool uses_kill;
 	} ps;
 	struct {
 		bool uses_grid_size;
-- 
2.16.2



More information about the mesa-dev mailing list