nir: allow bindless image/texture/sampler handles to be vectors
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12773>
This commit is contained in:
parent
e6672f6fd1
commit
e82aba88dc
|
@ -3386,6 +3386,11 @@ nir_tex_instr_src_size(const nir_tex_instr *instr, unsigned src)
|
|||
instr->src[src].src_type == nir_tex_src_backend2)
|
||||
return nir_src_num_components(instr->src[src].src);
|
||||
|
||||
/* For AMD, this can be a vec8/vec4 image/sampler descriptor. */
|
||||
if (instr->src[src].src_type == nir_tex_src_texture_handle ||
|
||||
instr->src[src].src_type == nir_tex_src_sampler_handle)
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -602,7 +602,7 @@ def image(name, src_comp=[], extra_indices=[], **kwargs):
|
|||
indices=[IMAGE_DIM, IMAGE_ARRAY, FORMAT, ACCESS] + extra_indices, **kwargs)
|
||||
intrinsic("image_" + name, src_comp=[1] + src_comp,
|
||||
indices=[IMAGE_DIM, IMAGE_ARRAY, FORMAT, ACCESS] + extra_indices, **kwargs)
|
||||
intrinsic("bindless_image_" + name, src_comp=[1] + src_comp,
|
||||
intrinsic("bindless_image_" + name, src_comp=[-1] + src_comp,
|
||||
indices=[IMAGE_DIM, IMAGE_ARRAY, FORMAT, ACCESS] + extra_indices, **kwargs)
|
||||
|
||||
image("load", src_comp=[4, 1, 1], extra_indices=[DEST_TYPE], dest_comp=0, flags=[CAN_ELIMINATE])
|
||||
|
|
Loading…
Reference in New Issue