agx: Handle 64-bit moves
lower_resinfo generates some 64-bit math, so we need to handle it. Even though we don't have native 64-bit moves, it's convenient to pretend we do to avoid special cases in the IR. In particular, modelling 64-bit mov_imm in the IR means our existing small constant propagation code works, with zero-extension from 8->64. Fixes dEQP-GLES3.functional.texture.units.2_units.only_2d_array.* Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18813>
This commit is contained in:
@@ -292,7 +292,7 @@ typedef struct {
|
||||
uint8_t nr_srcs;
|
||||
|
||||
union {
|
||||
uint32_t imm;
|
||||
uint64_t imm;
|
||||
uint32_t writeout;
|
||||
uint32_t truth_table;
|
||||
uint32_t component;
|
||||
@@ -755,6 +755,7 @@ void agx_optimizer(agx_context *ctx);
|
||||
void agx_lower_pseudo(agx_context *ctx);
|
||||
void agx_dce(agx_context *ctx);
|
||||
void agx_ra(agx_context *ctx);
|
||||
void agx_lower_64bit_postra(agx_context *ctx);
|
||||
void agx_pack_binary(agx_context *ctx, struct util_dynarray *emission);
|
||||
|
||||
#ifndef NDEBUG
|
||||
|
Reference in New Issue
Block a user