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:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user