assert(builder);
LLVMPositionBuilderAtEnd(builder, block);
sampler = lp_llvm_sampler_soa_create(key->samplers, key->nr_samplers);
- image = lp_llvm_image_soa_create(lp_cs_variant_key_images(key));
+ image = lp_llvm_image_soa_create(lp_cs_variant_key_images(key), key->nr_images);
struct lp_build_loop_state loop_state[4];
LLVMValueRef num_x_loop;
/* code generated texture sampling */
sampler = lp_llvm_sampler_soa_create(key->samplers, key->nr_samplers);
- image = lp_llvm_image_soa_create(lp_fs_variant_key_images(key));
+ image = lp_llvm_image_soa_create(lp_fs_variant_key_images(key), key->nr_images);
num_fs = 16 / fs_type.length; /* number of loops per 4x4 stamp */
/* for 1d resources only run "upper half" of stamp */
struct lp_build_image_soa base;
struct llvmpipe_image_dynamic_state dynamic_state;
+ unsigned nr_images;
};
}
struct lp_build_image_soa *
-lp_llvm_image_soa_create(const struct lp_image_static_state *static_state)
+lp_llvm_image_soa_create(const struct lp_image_static_state *static_state,
+ unsigned nr_images)
{
struct lp_llvm_image_soa *image;
image->dynamic_state.static_state = static_state;
+ image->nr_images = nr_images;
return &image->base;
}
unsigned nr_samplers);
struct lp_build_image_soa *
-lp_llvm_image_soa_create(const struct lp_image_static_state *key);
+lp_llvm_image_soa_create(const struct lp_image_static_state *key,
+ unsigned nr_images);
#endif /* LP_TEX_SAMPLE_H */