summaryrefslogtreecommitdiffstats
path: root/src/vulkan
diff options
context:
space:
mode:
authorChad Versace <[email protected]>2015-10-19 08:44:38 -0700
committerChad Versace <[email protected]>2015-10-20 10:48:26 -0700
commit81f8b82fc866aeadcbedce12395605918c105317 (patch)
treed2a5f93b018a44d7e24c28eff69003b78e731fe0 /src/vulkan
parent0d84a0d58b977639395e848ced05bb0c959bd1a2 (diff)
vk/meta: Add required renderpass to pipeline
The Vulkan spec (20 Oct 2015, git-aa308cb) requires that VkGraphicsPipelineCreateInfo::renderPass be a valid handle. To satisfy that, define a static dummy render pass used for all meta operations.
Diffstat (limited to 'src/vulkan')
-rw-r--r--src/vulkan/anv_meta.c6
-rw-r--r--src/vulkan/anv_private.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/src/vulkan/anv_meta.c b/src/vulkan/anv_meta.c
index c280ea0ef42..09d035b0b07 100644
--- a/src/vulkan/anv_meta.c
+++ b/src/vulkan/anv_meta.c
@@ -30,6 +30,8 @@
#include "anv_private.h"
#include "anv_nir_builder.h"
+struct anv_render_pass anv_meta_dummy_renderpass = {0};
+
static nir_shader *
build_nir_vertex_shader(bool attr_flat)
{
@@ -293,6 +295,8 @@ anv_device_init_meta_clear_state(struct anv_device *device)
},
},
.flags = 0,
+ .renderPass = anv_render_pass_to_handle(&anv_meta_dummy_renderpass),
+ .subpass = 0,
},
&(struct anv_graphics_pipeline_create_info) {
.use_repclear = true,
@@ -698,6 +702,8 @@ anv_device_init_meta_blit_state(struct anv_device *device)
},
.flags = 0,
.layout = device->meta_state.blit.pipeline_layout,
+ .renderPass = anv_render_pass_to_handle(&anv_meta_dummy_renderpass),
+ .subpass = 0,
};
const struct anv_graphics_pipeline_create_info anv_pipeline_info = {
diff --git a/src/vulkan/anv_private.h b/src/vulkan/anv_private.h
index 5f9a3ce5c12..68598a9dd49 100644
--- a/src/vulkan/anv_private.h
+++ b/src/vulkan/anv_private.h
@@ -1395,6 +1395,8 @@ struct anv_render_pass {
struct anv_subpass subpasses[0];
};
+extern struct anv_render_pass anv_meta_dummy_renderpass;
+
struct anv_query_pool_slot {
uint64_t begin;
uint64_t end;