radv/query: Use nir_trim_vector
With Coccinelle patch: @@ expression b, V; @@ -nir_vec2(b, nir_channel(b, V, 0), nir_channel(b, V, 1)) +nir_trim_vector(b, V, 2) @@ expression b, V; @@ -nir_vec3(b, nir_channel(b, V, 0), nir_channel(b, V, 1), nir_channel(b, V, 2)) +nir_trim_vector(b, V, 3) Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Acked-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23259>
This commit is contained in:
@@ -483,11 +483,11 @@ build_tfb_query_shader(struct radv_device *device)
|
||||
/* Pack values. */
|
||||
nir_ssa_def *packed64[4];
|
||||
packed64[0] =
|
||||
nir_pack_64_2x32(&b, nir_vec2(&b, nir_channel(&b, load1, 0), nir_channel(&b, load1, 1)));
|
||||
nir_pack_64_2x32(&b, nir_trim_vector(&b, load1, 2));
|
||||
packed64[1] =
|
||||
nir_pack_64_2x32(&b, nir_vec2(&b, nir_channel(&b, load1, 2), nir_channel(&b, load1, 3)));
|
||||
packed64[2] =
|
||||
nir_pack_64_2x32(&b, nir_vec2(&b, nir_channel(&b, load2, 0), nir_channel(&b, load2, 1)));
|
||||
nir_pack_64_2x32(&b, nir_trim_vector(&b, load2, 2));
|
||||
packed64[3] =
|
||||
nir_pack_64_2x32(&b, nir_vec2(&b, nir_channel(&b, load2, 2), nir_channel(&b, load2, 3)));
|
||||
|
||||
@@ -591,7 +591,7 @@ build_timestamp_query_shader(struct radv_device *device)
|
||||
/* Pack the timestamp. */
|
||||
nir_ssa_def *timestamp;
|
||||
timestamp =
|
||||
nir_pack_64_2x32(&b, nir_vec2(&b, nir_channel(&b, load, 0), nir_channel(&b, load, 1)));
|
||||
nir_pack_64_2x32(&b, nir_trim_vector(&b, load, 2));
|
||||
|
||||
/* Check if result is available. */
|
||||
nir_ssa_def *result_is_available = nir_i2b(&b, nir_ine_imm(&b, timestamp, TIMESTAMP_NOT_READY));
|
||||
@@ -723,9 +723,9 @@ build_pg_query_shader(struct radv_device *device)
|
||||
/* Pack values. */
|
||||
nir_ssa_def *packed64[2];
|
||||
packed64[0] =
|
||||
nir_pack_64_2x32(&b, nir_vec2(&b, nir_channel(&b, load1, 0), nir_channel(&b, load1, 1)));
|
||||
nir_pack_64_2x32(&b, nir_trim_vector(&b, load1, 2));
|
||||
packed64[1] =
|
||||
nir_pack_64_2x32(&b, nir_vec2(&b, nir_channel(&b, load2, 0), nir_channel(&b, load2, 1)));
|
||||
nir_pack_64_2x32(&b, nir_trim_vector(&b, load2, 2));
|
||||
|
||||
/* Compute result. */
|
||||
nir_ssa_def *primitive_storage_needed = nir_isub(&b, packed64[1], packed64[0]);
|
||||
|
||||
Reference in New Issue
Block a user