mesa: add no error support to teximage()
[mesa.git] / src / amd / vulkan / radv_meta_decompress.c
index 3566fa7f7315b9bb0d19ae959d55bc1df72ef24c..5a34863690762b16b6eae2ea64b639a0e273de8d 100644 (file)
 
 #include "radv_meta.h"
 #include "radv_private.h"
-#include "nir/nir_builder.h"
 #include "sid.h"
 
-/* vertex shader that generates vertices */
-static nir_shader *
-build_nir_vs(void)
-{
-       const struct glsl_type *vec4 = glsl_vec4_type();
-
-       nir_builder b;
-       nir_variable *v_position;
-
-       nir_builder_init_simple_shader(&b, NULL, MESA_SHADER_VERTEX, NULL);
-       b.shader->info->name = ralloc_strdup(b.shader, "meta_depth_decomp_vs");
-
-       nir_ssa_def *outvec = radv_meta_gen_rect_vertices(&b);
-
-       v_position = nir_variable_create(b.shader, nir_var_shader_out, vec4,
-                                        "gl_Position");
-       v_position->data.location = VARYING_SLOT_POS;
-
-       nir_store_var(&b, v_position, outvec, 0xf);
-
-       return b.shader;
-}
-
-/* simple passthrough shader */
-static nir_shader *
-build_nir_fs(void)
-{
-       nir_builder b;
-
-       nir_builder_init_simple_shader(&b, NULL, MESA_SHADER_FRAGMENT, NULL);
-       b.shader->info->name = ralloc_asprintf(b.shader,
-                                              "meta_depth_decomp_noop_fs");
-
-       return b.shader;
-}
-
 static VkResult
 create_pass(struct radv_device *device)
 {
@@ -115,7 +78,7 @@ create_pipeline(struct radv_device *device,
        VkDevice device_h = radv_device_to_handle(device);
 
        struct radv_shader_module fs_module = {
-               .nir = build_nir_fs(),
+               .nir = radv_meta_build_nir_fs_noop(),
        };
 
        if (!fs_module.nir) {
@@ -260,7 +223,7 @@ radv_device_init_meta_depth_decomp_state(struct radv_device *device)
 
        zero(device->meta_state.depth_decomp);
 
-       struct radv_shader_module vs_module = { .nir = build_nir_vs() };
+       struct radv_shader_module vs_module = { .nir = radv_meta_build_nir_vs_generate_vertices() };
        if (!vs_module.nir) {
                /* XXX: Need more accurate error */
                res = VK_ERROR_OUT_OF_HOST_MEMORY;
@@ -329,9 +292,9 @@ static void radv_process_depth_image_inplace(struct radv_cmd_buffer *cmd_buffer,
        struct radv_meta_saved_pass_state saved_pass_state;
        VkDevice device_h = radv_device_to_handle(cmd_buffer->device);
        VkCommandBuffer cmd_buffer_h = radv_cmd_buffer_to_handle(cmd_buffer);
-       uint32_t width = radv_minify(image->extent.width,
+       uint32_t width = radv_minify(image->info.width,
                                     subresourceRange->baseMipLevel);
-       uint32_t height = radv_minify(image->extent.height,
+       uint32_t height = radv_minify(image->info.height,
                                     subresourceRange->baseMipLevel);
 
        if (!image->surface.htile_size)
@@ -355,8 +318,7 @@ static void radv_process_depth_image_inplace(struct radv_cmd_buffer *cmd_buffer,
                                                     .baseArrayLayer = subresourceRange->baseArrayLayer + layer,
                                                     .layerCount = 1,
                                             },
-                                    },
-                                    cmd_buffer, VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT);
+                                    });
 
 
                VkFramebuffer fb_h;