This is stored for now but will be used as part of indirect
image support
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3778>
/* code generated texture sampling */
sampler = draw_llvm_sampler_soa_create(draw_llvm_variant_key_samplers(key), key->nr_samplers);
/* code generated texture sampling */
sampler = draw_llvm_sampler_soa_create(draw_llvm_variant_key_samplers(key), key->nr_samplers);
- image = draw_llvm_image_soa_create(draw_llvm_variant_key_images(key));
+ image = draw_llvm_image_soa_create(draw_llvm_variant_key_images(key),
+ key->nr_images);
step = lp_build_const_int32(gallivm, vector_length);
step = lp_build_const_int32(gallivm, vector_length);
/* code generated texture sampling */
sampler = draw_llvm_sampler_soa_create(variant->key.samplers, variant->key.nr_samplers);
/* code generated texture sampling */
sampler = draw_llvm_sampler_soa_create(variant->key.samplers, variant->key.nr_samplers);
- image = draw_llvm_image_soa_create(draw_gs_llvm_variant_key_images(&variant->key));
+ image = draw_llvm_image_soa_create(draw_gs_llvm_variant_key_images(&variant->key),
+ variant->key.nr_images);
mask_val = generate_mask_value(variant, gs_type);
lp_build_mask_begin(&mask, gallivm, gs_type, mask_val);
mask_val = generate_mask_value(variant, gs_type);
lp_build_mask_begin(&mask, gallivm, gs_type, mask_val);
num_ssbos_ptr =
draw_tcs_jit_context_num_ssbos(variant->gallivm, context_ptr);
sampler = draw_llvm_sampler_soa_create(variant->key.samplers, variant->key.nr_samplers);
num_ssbos_ptr =
draw_tcs_jit_context_num_ssbos(variant->gallivm, context_ptr);
sampler = draw_llvm_sampler_soa_create(variant->key.samplers, variant->key.nr_samplers);
- image = draw_llvm_image_soa_create(draw_tcs_llvm_variant_key_images(&variant->key));
+ image = draw_llvm_image_soa_create(draw_tcs_llvm_variant_key_images(&variant->key),
+ variant->key.nr_images);
LLVMValueRef counter = LLVMGetParam(variant_coro, 5);
LLVMValueRef invocvec = LLVMGetUndef(LLVMVectorType(int32_type, vector_length));
LLVMValueRef counter = LLVMGetParam(variant_coro, 5);
LLVMValueRef invocvec = LLVMGetUndef(LLVMVectorType(int32_type, vector_length));
num_ssbos_ptr =
draw_tes_jit_context_num_ssbos(variant->gallivm, context_ptr);
sampler = draw_llvm_sampler_soa_create(variant->key.samplers, variant->key.nr_samplers);
num_ssbos_ptr =
draw_tes_jit_context_num_ssbos(variant->gallivm, context_ptr);
sampler = draw_llvm_sampler_soa_create(variant->key.samplers, variant->key.nr_samplers);
- image = draw_llvm_image_soa_create(draw_tes_llvm_variant_key_images(&variant->key));
+ image = draw_llvm_image_soa_create(draw_tes_llvm_variant_key_images(&variant->key),
+ variant->key.nr_images);
step = lp_build_const_int32(gallivm, vector_length);
system_values.tess_outer = LLVMBuildLoad(builder, tess_outer, "");
step = lp_build_const_int32(gallivm, vector_length);
system_values.tess_outer = LLVMBuildLoad(builder, tess_outer, "");
unsigned nr_samplers);
struct lp_build_image_soa *
unsigned nr_samplers);
struct lp_build_image_soa *
-draw_llvm_image_soa_create(const struct draw_image_static_state *static_state);
+draw_llvm_image_soa_create(const struct draw_image_static_state *static_state,
+ unsigned nr_images);
void
draw_llvm_set_sampler_state(struct draw_context *draw,
void
draw_llvm_set_sampler_state(struct draw_context *draw,
struct lp_build_image_soa base;
struct draw_llvm_image_dynamic_state dynamic_state;
struct lp_build_image_soa base;
struct draw_llvm_image_dynamic_state dynamic_state;
}
struct lp_build_image_soa *
}
struct lp_build_image_soa *
-draw_llvm_image_soa_create(const struct draw_image_static_state *static_state)
+draw_llvm_image_soa_create(const struct draw_image_static_state *static_state,
+ unsigned nr_images)
{
struct draw_llvm_image_soa *image;
{
struct draw_llvm_image_soa *image;
image->dynamic_state.static_state = static_state;
image->dynamic_state.static_state = static_state;
+ image->nr_images = nr_images;