projects
/
platform
/
upstream
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
09005e6
)
aco: implement nir_op_unpack_32_4x8
author
Marek Olšák
<marek.olsak@amd.com>
Sat, 5 Nov 2022 07:44:53 +0000
(
03:44
-0400)
committer
Marge Bot
<emma+marge@anholt.net>
Fri, 3 Mar 2023 03:27:40 +0000
(
03:27
+0000)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19399>
src/amd/compiler/aco_instruction_selection.cpp
patch
|
blob
|
history
diff --git
a/src/amd/compiler/aco_instruction_selection.cpp
b/src/amd/compiler/aco_instruction_selection.cpp
index
cccc628
..
7e606ca
100644
(file)
--- a/
src/amd/compiler/aco_instruction_selection.cpp
+++ b/
src/amd/compiler/aco_instruction_selection.cpp
@@
-3524,8
+3524,11
@@
visit_alu_instr(isel_context* ctx, nir_alu_instr* instr)
case nir_op_unpack_64_2x32:
case nir_op_unpack_32_2x16:
case nir_op_unpack_64_4x16:
+ case nir_op_unpack_32_4x8:
bld.copy(Definition(dst), get_alu_src(ctx, instr->src[0]));
- emit_split_vector(ctx, dst, instr->op == nir_op_unpack_64_4x16 ? 4 : 2);
+ emit_split_vector(ctx, dst,
+ instr->op == nir_op_unpack_32_4x8 ||
+ instr->op == nir_op_unpack_64_4x16 ? 4 : 2);
break;
case nir_op_pack_64_2x32_split: {
Temp src0 = get_alu_src(ctx, instr->src[0]);