ir3: Support addr0 align of 8

At this point it isn't actually an alignment, but we need to multiply by
8 now because there are 2 vec4's per view for FDM driver params.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38451>
This commit is contained in:
Connor Abbott
2025-11-07 14:00:10 -05:00
committed by Marge Bot
parent bd821b9a17
commit 7691f1b70d
2 changed files with 6 additions and 1 deletions
+5
View File
@@ -374,6 +374,11 @@ create_addr0(struct ir3_builder *build, struct ir3_instruction *src, int align)
immed = create_immed_typed_shared(build, 2, TYPE_S16, shared);
instr = ir3_SHL_B(build, instr, 0, immed, 0);
break;
case 8:
/* src *= 8 => src <<= 3: */
immed = create_immed_typed_shared(build, 3, TYPE_S16, shared);
instr = ir3_SHL_B(build, instr, 0, immed, 0);
break;
default:
UNREACHABLE("bad align");
return NULL;
+1 -1
View File
@@ -104,7 +104,7 @@ struct ir3_context {
* src used for an array of vec1 cannot be also used for an
* array of vec4.
*/
struct hash_table *addr0_ht[4];
struct hash_table *addr0_ht[8];
struct hash_table *sel_cond_conversions;
struct hash_table *predicate_conversions;