Mesa (master): ac/cull: don't read Position.Z if it's not needed for culling

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jan 15 20:07:45 UTC 2020


Module: Mesa
Branch: master
Commit: eeb4a11c1123c34b4d1c55540f575f6b474f7d08
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eeb4a11c1123c34b4d1c55540f575f6b474f7d08

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Jan  6 19:19:40 2020 -0500

ac/cull: don't read Position.Z if it's not needed for culling

It could be NULL.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>

---

 src/amd/llvm/ac_llvm_cull.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/llvm/ac_llvm_cull.c b/src/amd/llvm/ac_llvm_cull.c
index 9e8409fdbaf..c76d4e1f937 100644
--- a/src/amd/llvm/ac_llvm_cull.c
+++ b/src/amd/llvm/ac_llvm_cull.c
@@ -153,7 +153,7 @@ static LLVMValueRef cull_bbox(struct ac_llvm_context *ctx,
 		LLVMValueRef accepted = initially_accepted;
 
 		/* Compute the primitive bounding box for easy culling. */
-		for (unsigned chan = 0; chan < 3; chan++) {
+		for (unsigned chan = 0; chan < (cull_view_near_z || cull_view_far_z ? 3 : 2); chan++) {
 			bbox_min[chan] = ac_build_fmin(ctx, pos[0][chan], pos[1][chan]);
 			bbox_min[chan] = ac_build_fmin(ctx, bbox_min[chan], pos[2][chan]);
 



More information about the mesa-commit mailing list