summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2017-10-27 11:03:50 +1000
committerDave Airlie <airlied@redhat.com>2017-10-27 11:48:12 +1000
commitd086a9479597e7b38f0326e939878811cbd4f348 (patch)
tree9b2f6178b20b5c8cc10ec4ac07ccfceb00149728
parent1212b43223271bf3aeeb5304cdcdb4c051a1e714 (diff)
compute-local-id: push constants require a layout
-rw-r--r--src/tests/func/compute-local-id.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/tests/func/compute-local-id.c b/src/tests/func/compute-local-id.c
index 1568d08..b840c6c 100644
--- a/src/tests/func/compute-local-id.c
+++ b/src/tests/func/compute-local-id.c
@@ -24,7 +24,7 @@
#include "compute-local-id-spirv.h"
static VkDeviceMemory
-common_init(VkShaderModule cs, const uint32_t ssbo_size)
+common_init(VkShaderModule cs, const uint32_t ssbo_size, VkPipelineLayout *p_layout)
{
VkDescriptorSetLayout set_layout;
@@ -59,6 +59,7 @@ common_init(VkShaderModule cs, const uint32_t ssbo_size)
.pushConstantRangeCount = 1,
.pPushConstantRanges = &constants);
+ *p_layout = pipeline_layout;
VkPipeline pipeline;
vkCreateComputePipelines(t_device, t_pipeline_cache, 1,
&(VkComputePipelineCreateInfo) {
@@ -140,7 +141,8 @@ basic(void)
);
const uint32_t ssbo_size = 64 * sizeof(uint32_t);
- VkDeviceMemory mem_out = common_init(cs, ssbo_size);
+ VkPipelineLayout p_layout;
+ VkDeviceMemory mem_out = common_init(cs, ssbo_size, &p_layout);
dispatch_and_wait(1, 1, 1);
@@ -182,10 +184,11 @@ push_constant(void)
);
const uint32_t ssbo_size = 64 * sizeof(uint32_t);
- VkDeviceMemory mem_out = common_init(cs, ssbo_size);
+ VkPipelineLayout p_layout;
+ VkDeviceMemory mem_out = common_init(cs, ssbo_size, &p_layout);
uint32_t add = 42;
- vkCmdPushConstants(t_cmd_buffer, VK_NULL_HANDLE,
+ vkCmdPushConstants(t_cmd_buffer, p_layout,
VK_SHADER_STAGE_COMPUTE_BIT,
0, sizeof(add), &add);
@@ -253,7 +256,8 @@ local_ids(void)
);
const uint32_t ssbo_size = 8 * sizeof(uint32_t);
- VkDeviceMemory mem_out = common_init(cs, ssbo_size);
+ VkPipelineLayout p_layout;
+ VkDeviceMemory mem_out = common_init(cs, ssbo_size, &p_layout);
dispatch_and_wait(1, 1, 1);