{
nir_builder b;
char name[64];
- const struct glsl_type *img_type =
+ const struct glsl_type *type =
glsl_sampler_type(GLSL_SAMPLER_DIM_MS, false, false,
GLSL_TYPE_FLOAT);
+ const struct glsl_type *img_type =
+ glsl_image_type(GLSL_SAMPLER_DIM_MS, false,
+ GLSL_TYPE_FLOAT);
snprintf(name, 64, "meta_fmask_expand_cs-%d", samples);
b.shader->info.cs.local_size[2] = 1;
nir_variable *input_img = nir_variable_create(b.shader, nir_var_uniform,
- img_type, "s_tex");
+ type, "s_tex");
input_img->data.descriptor_set = 0;
input_img->data.binding = 0;
img_type, "out_img");
output_img->data.descriptor_set = 0;
output_img->data.binding = 0;
- output_img->data.image.access = ACCESS_NON_READABLE;
+ output_img->data.access = ACCESS_NON_READABLE;
nir_ssa_def *invoc_id = nir_load_local_invocation_id(&b);
- nir_ssa_def *wg_id = nir_load_work_group_id(&b);
+ nir_ssa_def *wg_id = nir_load_work_group_id(&b, 32);
nir_ssa_def *block_size = nir_imm_ivec4(&b,
b.shader->info.cs.local_size[0],
b.shader->info.cs.local_size[1],
store->src[1] = nir_src_for_ssa(global_id);
store->src[2] = nir_src_for_ssa(nir_imm_int(&b, i));
store->src[3] = nir_src_for_ssa(outval);
+ store->src[4] = nir_src_for_ssa(nir_imm_int(&b, 0));
nir_builder_instr_insert(&b, &store->instr);
}
.baseArrayLayer = subresourceRange->baseArrayLayer + l,
.layerCount = 1,
},
- });
+ }, NULL);
radv_meta_push_descriptor_set(cmd_buffer,
VK_PIPELINE_BIND_POINT_COMPUTE,