Commit b7b22b73 authored by Dave Airlie's avatar Dave Airlie Committed by Marge Bot

draw/sample: add support for indirect images

This uses the array functions to implement indirect image support
for draw shaders
Reviewed-by: default avatarRoland Scheidegger <>
Part-of: <!3778>
parent e6f7fe33
......@@ -420,6 +420,22 @@ draw_llvm_image_soa_emit_op(const struct lp_build_image_soa *base,
unsigned image_index = params->image_index;
assert(image_index < PIPE_MAX_SHADER_IMAGES);
if (params->image_index_offset) {
struct lp_build_img_op_array_switch switch_info;
memset(&switch_info, 0, sizeof(switch_info));
LLVMValueRef unit = LLVMBuildAdd(gallivm->builder, params->image_index_offset,
lp_build_const_int32(gallivm, image_index), "");
lp_build_image_op_switch_soa(&switch_info, gallivm, params,
unit, 0, image->nr_images);
for (unsigned i = 0; i < image->nr_images; i++) {
lp_build_image_op_array_case(&switch_info, i,
gallivm, params, params->outdata);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment