nir: Support arrays in block_image_store_agx
For layered rendering, runs once per layer. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
@@ -130,8 +130,9 @@ agx_build_end_of_tile_shader(struct agx_meta_cache *cache,
|
||||
|
||||
nir_block_image_store_agx(
|
||||
&b, nir_imm_int(&b, rt), nir_imm_intN_t(&b, offset_B, 16),
|
||||
nir_imm_intN_t(&b, 0, 16),
|
||||
.format = agx_tilebuffer_physical_format(&key->tib, rt),
|
||||
.image_dim = dim);
|
||||
.image_dim = dim, .image_array = false);
|
||||
}
|
||||
|
||||
struct agx_shader_key compiler_key = {
|
||||
|
||||
@@ -1744,9 +1744,9 @@ intrinsic("store_zs_agx", [1, 1, 1], indices=[BASE], flags=[])
|
||||
# The image dimension is used to distinguish multisampled images from
|
||||
# non-multisampled images. It must be 2D or MS.
|
||||
#
|
||||
# src[] = { image index, logical offset within shared memory }
|
||||
intrinsic("block_image_store_agx", [1, 1], bit_sizes=[32, 16],
|
||||
indices=[FORMAT, IMAGE_DIM], flags=[CAN_REORDER])
|
||||
# src[] = { image index, logical offset within shared memory, layer }
|
||||
intrinsic("block_image_store_agx", [1, 1, 1], bit_sizes=[32, 16, 16],
|
||||
indices=[FORMAT, IMAGE_DIM, IMAGE_ARRAY], flags=[CAN_REORDER])
|
||||
|
||||
# Formatted load/store. The format is the pipe_format in memory (see
|
||||
# agx_internal_formats.h for the supported list). This accesses:
|
||||
|
||||
Reference in New Issue
Block a user