radv,aco: report ACO errors/warnings back via VK_EXT_debug_report
[mesa.git] / src / amd / vulkan / radv_meta_resolve_cs.c
index d1d69cbd8ae1b9a03386e51576aaa83544313069..b57bce8ef7ab08388bbb37a444fceb713f4d3f50 100644 (file)
@@ -73,10 +73,9 @@ build_resolve_compute_shader(struct radv_device *dev, bool is_integer, bool is_s
                                                                 false,
                                                                 false,
                                                                 GLSL_TYPE_FLOAT);
-       const struct glsl_type *img_type = glsl_sampler_type(GLSL_SAMPLER_DIM_2D,
-                                                            false,
-                                                            false,
-                                                            GLSL_TYPE_FLOAT);
+       const struct glsl_type *img_type = glsl_image_type(GLSL_SAMPLER_DIM_2D,
+                                                          false,
+                                                          GLSL_TYPE_FLOAT);
        snprintf(name, 64, "meta_resolve_cs-%d-%s", samples, is_integer ? "int" : (is_srgb ? "srgb" : "float"));
        nir_builder_init_simple_shader(&b, NULL, MESA_SHADER_COMPUTE, NULL);
        b.shader->info.name = ralloc_strdup(b.shader, name);
@@ -135,6 +134,7 @@ build_resolve_compute_shader(struct radv_device *dev, bool is_integer, bool is_s
        store->src[1] = nir_src_for_ssa(coord);
        store->src[2] = nir_src_for_ssa(nir_ssa_undef(&b, 1, 32));
        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);
        return b.shader;
 }
@@ -145,7 +145,7 @@ enum {
 };
 
 static const char *
-get_resolve_mode_str(VkResolveModeFlagBitsKHR resolve_mode)
+get_resolve_mode_str(VkResolveModeFlagBits resolve_mode)
 {
        switch (resolve_mode) {
        case VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR:
@@ -164,7 +164,7 @@ get_resolve_mode_str(VkResolveModeFlagBitsKHR resolve_mode)
 static nir_shader *
 build_depth_stencil_resolve_compute_shader(struct radv_device *dev, int samples,
                                           int index,
-                                          VkResolveModeFlagBitsKHR resolve_mode)
+                                          VkResolveModeFlagBits resolve_mode)
 {
        nir_builder b;
        char name[64];
@@ -172,10 +172,9 @@ build_depth_stencil_resolve_compute_shader(struct radv_device *dev, int samples,
                                                                 false,
                                                                 false,
                                                                 GLSL_TYPE_FLOAT);
-       const struct glsl_type *img_type = glsl_sampler_type(GLSL_SAMPLER_DIM_2D,
-                                                            false,
-                                                            false,
-                                                            GLSL_TYPE_FLOAT);
+       const struct glsl_type *img_type = glsl_image_type(GLSL_SAMPLER_DIM_2D,
+                                                          false,
+                                                          GLSL_TYPE_FLOAT);
        snprintf(name, 64, "meta_resolve_cs_%s-%s-%d",
                 index == DEPTH_RESOLVE ? "depth" : "stencil",
                 get_resolve_mode_str(resolve_mode), samples);
@@ -295,6 +294,7 @@ build_depth_stencil_resolve_compute_shader(struct radv_device *dev, int samples,
        store->src[1] = nir_src_for_ssa(coord);
        store->src[2] = nir_src_for_ssa(nir_ssa_undef(&b, 1, 32));
        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);
        return b.shader;
 }
@@ -411,7 +411,7 @@ static VkResult
 create_depth_stencil_resolve_pipeline(struct radv_device *device,
                                      int samples,
                                      int index,
-                                     VkResolveModeFlagBitsKHR resolve_mode,
+                                     VkResolveModeFlagBits resolve_mode,
                                      VkPipeline *pipeline)
 {
        VkResult result;
@@ -705,7 +705,7 @@ emit_depth_stencil_resolve(struct radv_cmd_buffer *cmd_buffer,
                           const VkOffset2D *dest_offset,
                           const VkExtent2D *resolve_extent,
                           VkImageAspectFlags aspects,
-                          VkResolveModeFlagBitsKHR resolve_mode)
+                          VkResolveModeFlagBits resolve_mode)
 {
        struct radv_device *device = cmd_buffer->device;
        const uint32_t samples = src_iview->image->info.samples;
@@ -959,7 +959,7 @@ radv_cmd_buffer_resolve_subpass_cs(struct radv_cmd_buffer *cmd_buffer)
 void
 radv_depth_stencil_resolve_subpass_cs(struct radv_cmd_buffer *cmd_buffer,
                                      VkImageAspectFlags aspects,
-                                     VkResolveModeFlagBitsKHR resolve_mode)
+                                     VkResolveModeFlagBits resolve_mode)
 {
        struct radv_framebuffer *fb = cmd_buffer->state.framebuffer;
        const struct radv_subpass *subpass = cmd_buffer->state.subpass;