ac: make use of ac_build_expand_to_vec4() in visit_image_store()

And make ac_build_expand() a static function.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
Samuel Pitoiset 2019-02-12 15:09:29 +01:00
parent 338d399fd0
commit 2154fac6f3
3 changed files with 6 additions and 8 deletions

View File

@ -548,10 +548,11 @@ ac_build_gather_values(struct ac_llvm_context *ctx,
/* Expand a scalar or vector to <dst_channels x type> by filling the remaining
* channels with undef. Extract at most src_channels components from the input.
*/
LLVMValueRef ac_build_expand(struct ac_llvm_context *ctx,
LLVMValueRef value,
unsigned src_channels,
unsigned dst_channels)
static LLVMValueRef
ac_build_expand(struct ac_llvm_context *ctx,
LLVMValueRef value,
unsigned src_channels,
unsigned dst_channels)
{
LLVMTypeRef elemtype;
LLVMValueRef chan[dst_channels];

View File

@ -171,9 +171,6 @@ LLVMValueRef
ac_build_gather_values(struct ac_llvm_context *ctx,
LLVMValueRef *values,
unsigned value_count);
LLVMValueRef ac_build_expand(struct ac_llvm_context *ctx,
LLVMValueRef value,
unsigned src_channels, unsigned dst_channels);
LLVMValueRef ac_build_expand_to_vec4(struct ac_llvm_context *ctx,
LLVMValueRef value,
unsigned num_channels);

View File

@ -2508,7 +2508,7 @@ static void visit_image_store(struct ac_nir_context *ctx,
unsigned src_channels = ac_get_llvm_num_components(src);
if (src_channels == 3)
src = ac_build_expand(&ctx->ac, src, 3, 4);
src = ac_build_expand_to_vec4(&ctx->ac, src, 3);
params[0] = src; /* data */
params[1] = rsrc;