iris: move images next to textures in binding table
This commit is contained in:
@@ -352,6 +352,13 @@ assign_common_binding_table_offsets(const struct gen_device_info *devinfo,
|
||||
prog_data->binding_table.gather_texture_start = 0xd0d0d0d0;
|
||||
}
|
||||
|
||||
if (info->num_images) {
|
||||
prog_data->binding_table.image_start = next_binding_table_offset;
|
||||
next_binding_table_offset += info->num_images;
|
||||
} else {
|
||||
prog_data->binding_table.image_start = 0xd0d0d0d0;
|
||||
}
|
||||
|
||||
int num_ubos = info->num_ubos + (nir->num_uniforms > 0 ? 1 : 0);
|
||||
|
||||
if (num_ubos) {
|
||||
@@ -372,13 +379,6 @@ assign_common_binding_table_offsets(const struct gen_device_info *devinfo,
|
||||
|
||||
prog_data->binding_table.shader_time_start = 0xd0d0d0d0;
|
||||
|
||||
if (info->num_images) {
|
||||
prog_data->binding_table.image_start = next_binding_table_offset;
|
||||
next_binding_table_offset += info->num_images;
|
||||
} else {
|
||||
prog_data->binding_table.image_start = 0xd0d0d0d0;
|
||||
}
|
||||
|
||||
/* This may or may not be used depending on how the compile goes. */
|
||||
prog_data->binding_table.pull_constants_start = next_binding_table_offset;
|
||||
next_binding_table_offset++;
|
||||
|
||||
@@ -3335,6 +3335,11 @@ iris_populate_binding_table(struct iris_context *ice,
|
||||
push_bt_entry(addr);
|
||||
}
|
||||
|
||||
for (int i = 0; i < info->num_images; i++) {
|
||||
uint32_t addr = use_image(batch, ice, shs, i);
|
||||
push_bt_entry(addr);
|
||||
}
|
||||
|
||||
const int num_ubos = iris_get_shader_num_ubos(ice, stage);
|
||||
|
||||
for (int i = 0; i < num_ubos; i++) {
|
||||
@@ -3354,13 +3359,6 @@ iris_populate_binding_table(struct iris_context *ice,
|
||||
}
|
||||
}
|
||||
|
||||
if (info->num_images > 0) {
|
||||
for (int i = 0; i < info->num_images; i++) {
|
||||
uint32_t addr = use_image(batch, ice, shs, i);
|
||||
push_bt_entry(addr);
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
// XXX: not implemented yet
|
||||
assert(prog_data->binding_table.plane_start[1] == 0xd0d0d0d0);
|
||||
|
||||
Reference in New Issue
Block a user