projects
/
demo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixes
[demo]
/
src
/
vulkan
/
renderer-vk.cc
diff --git
a/src/vulkan/renderer-vk.cc
b/src/vulkan/renderer-vk.cc
index
cbaa950
..
bb52e94
100644
(file)
--- a/
src/vulkan/renderer-vk.cc
+++ b/
src/vulkan/renderer-vk.cc
@@
-7,7
+7,7
@@
#include "vkutil.h"
#include "vkutil-pipeline.h"
#include "vkutil.h"
#include "vkutil-pipeline.h"
-static VkuPipelineGenerator pipe_gen;
+static void set_resources_layouts(VkuPipelineGenerator *pipe_gen, std::vector<ResourceVK> *res);
RendererVK::RendererVK()
{
RendererVK::RendererVK()
{
@@
-34,7
+34,8
@@
RendererVK::~RendererVK()
bool RendererVK::create_resources()
{
bool RendererVK::create_resources()
{
- /* default pipeline: create binding points */
+ /* default pipeline resources */
+
default_vs_ub = gfx_create_uniform_buffer();
if(!default_vs_ub->create(sizeof default_vs_uniforms)) {
fprintf(stderr, "Failed to create the default VS uniform buffer.\n");
default_vs_ub = gfx_create_uniform_buffer();
if(!default_vs_ub->create(sizeof default_vs_uniforms)) {
fprintf(stderr, "Failed to create the default VS uniform buffer.\n");
@@
-62,6
+63,9
@@
bool RendererVK::create_resources()
return false;
}
default_resources.push_back(default_fs_res);
return false;
}
default_resources.push_back(default_fs_res);
+ set_resources_layouts(&default_pipe_gen, &default_resources);
+
+ /* sky pipeline resources */
sky_vs_ub = gfx_create_uniform_buffer();
if(!sky_vs_ub->create(sizeof sky_vs_uniforms)) {
sky_vs_ub = gfx_create_uniform_buffer();
if(!sky_vs_ub->create(sizeof sky_vs_uniforms)) {
@@
-76,17
+80,13
@@
bool RendererVK::create_resources()
return false;
}
sky_resources.push_back(sky_vs_res);
return false;
}
sky_resources.push_back(sky_vs_res);
+ set_resources_layouts(&sky_pipe_gen, &sky_resources);
return true;
}
bool RendererVK::create()
{
return true;
}
bool RendererVK::create()
{
- if(!create_default_pipeline()) {
- fprintf(stderr, "Failed to create default pipeline.\n");
- return false;
- }
-
/* if(!create_sky_pipeline()) {
fprintf(stderr, "Failed to create sky pipeline.\n");
return false;
/* if(!create_sky_pipeline()) {
fprintf(stderr, "Failed to create sky pipeline.\n");
return false;
@@
-97,6
+97,14
@@
bool RendererVK::create()
bool RendererVK::create_default_pipeline()
{
bool RendererVK::create_default_pipeline()
{
-
return true;
}
return true;
}
+
+static void set_resources_layouts(VkuPipelineGenerator *pipe_gen, std::vector<ResourceVK> *res)
+{
+ for(size_t i=0; i<res->size(); i++) {
+ if((*res)[i].type == RES_DESC_SET) {
+ pipe_gen->set_resources_layout((*res)[i].layout);
+ }
+ }
+}