backup - missing some
authorEleni Maria Stea <estea@igalia.com>
Sun, 29 Apr 2018 21:14:53 +0000 (00:14 +0300)
committerEleni Maria Stea <estea@igalia.com>
Sun, 29 Apr 2018 21:14:53 +0000 (00:14 +0300)
14 files changed:
src/morph_renderer.cc
src/renderer.cc
src/renderer.h
src/vulkan/renderer-vk.cc
src/vulkan/renderer-vk.h
src/vulkan/resources.cc [new file with mode: 0644]
src/vulkan/resources.h [new file with mode: 0644]
src/vulkan/shader-vk.cc
src/vulkan/uniforms-vk.cc
src/vulkan/uniforms-vk.h
src/vulkan/vkutil-pipeline.cc
src/vulkan/vkutil-pipeline.h
src/vulkan/vkutil.cc
src/vulkan/vkutil.h

index 7540ba1..a8adf56 100644 (file)
@@ -23,7 +23,10 @@ MorphRenderer::MorphRenderer()
 
        fog_density = 0;
 
-       mbuf = vbuf = fbuf = svbuf = 0;
+       mbuf = 0;
+       default_vs_ub = 0;
+       default_fs_ub = 0;
+       sky_vs_ub = 0;
 }
 
 MorphRenderer::~MorphRenderer()
@@ -43,25 +46,25 @@ bool MorphRenderer::create()
                return false;
        }
 
-       if(!vbuf) {
-               vbuf = gfx_create_uniform_buffer();
-               if(!vbuf->create(sizeof vu)) {
+       if(!default_vs_ub) {
+               default_vs_ub = gfx_create_uniform_buffer();
+               if(!default_vs_ub->create(sizeof default_vs_uniforms)) {
                        fprintf(stderr, "Failed to create uniform buffer.\n");
                        return false;
                }
        }
 
-       if(!fbuf) {
-               fbuf = gfx_create_uniform_buffer();
-               if(!fbuf->create(sizeof fu)) {
+       if(!default_fs_ub) {
+               default_fs_ub = gfx_create_uniform_buffer();
+               if(!default_fs_ub->create(sizeof default_fs_uniforms)) {
                        fprintf(stderr, "Failed to create uniform buffer.\n");
                        return false;
                }
        }
 
-       if(!svbuf) {
-               svbuf = gfx_create_uniform_buffer();
-               if(!svbuf->create(sizeof svu)) {
+       if(!sky_vs_ub) {
+               sky_vs_ub = gfx_create_uniform_buffer();
+               if(!sky_vs_ub->create(sizeof sky_vs_uniforms)) {
                        fprintf(stderr, "Failed to create uniform buffer.\n");
                        return false;
                }
@@ -89,9 +92,9 @@ void MorphRenderer::draw()
                mbuf->update(&mu);
                mbuf->bind(MORPHING_MATRIX_UNIFORMS);
 
-               vu.mmod = scene->objects[i]->transform.upper3x3();
-               vbuf->update(&vu);
-               vbuf->bind(MATRIX_UNIFORMS);
+               default_vs_uniforms.mmod = scene->objects[i]->transform.upper3x3();
+               default_vs_ub->update(&default_vs_uniforms);
+               default_vs_ub->bind(MATRIX_UNIFORMS);
 
                draw_object(scene->objects[i]);
        }
index 5d57a36..cefdcc4 100644 (file)
@@ -32,14 +32,16 @@ Renderer::Renderer()
 
        fog_density = 0;
 
-       vbuf = fbuf = svbuf = 0;
+       default_vs_ub = 0;
+       default_fs_ub = 0;
+       sky_vs_ub = 0;
 }
 
 Renderer::~Renderer()
 {
-       delete vbuf;
-       delete fbuf;
-       delete svbuf;
+       delete default_vs_ub;
+       delete default_fs_ub;
+       delete sky_vs_ub;
 }
 
 bool Renderer::create()
@@ -50,20 +52,20 @@ bool Renderer::create()
        //      tf(stderr, "Failed to load debug shaders.\n");
        // }
 
-       vbuf = gfx_create_uniform_buffer();
-       if(!vbuf->create(sizeof vu)) {
+       default_vs_ub = gfx_create_uniform_buffer();
+       if(!default_vs_ub->create(sizeof default_vs_uniforms)) {
                fprintf(stderr, "Failed to create uniform buffer.\n");
                return false;
        }
 
-       fbuf = gfx_create_uniform_buffer();
-       if(!fbuf->create(sizeof fu)) {
+       default_fs_ub = gfx_create_uniform_buffer();
+       if(!default_fs_ub->create(sizeof default_fs_uniforms)) {
                fprintf(stderr, "Failed to create uniform buffer.\n");
                return false;
        }
 
-       svbuf = gfx_create_uniform_buffer();
-       if(!svbuf->create(sizeof svu)) {
+       sky_vs_ub = gfx_create_uniform_buffer();
+       if(!sky_vs_ub->create(sizeof sky_vs_uniforms)) {
                fprintf(stderr, "Failed to create uniform buffer.\n");
                return false;
        }
@@ -104,13 +106,13 @@ void Renderer::draw_object(Object *object)
 
        /* setting uniforms for material */
 
-       fu.diffuse = Vec4(m->diffuse.x, m->diffuse.y, m->diffuse.z, 1.0);
-       fu.specular = Vec4(m->specular.x, m->specular.y, m->specular.z, 1.0);
-       fu.shininess = m->shininess;
-       fu.fog_density = fog_density;
+       default_fs_uniforms.diffuse = Vec4(m->diffuse.x, m->diffuse.y, m->diffuse.z, 1.0);
+       default_fs_uniforms.specular = Vec4(m->specular.x, m->specular.y, m->specular.z, 1.0);
+       default_fs_uniforms.shininess = m->shininess;
+       default_fs_uniforms.fog_density = fog_density;
 
-       fbuf->update(&fu);
-       fbuf->bind(SHADING_UNIFORMS);
+       default_fs_ub->update(&default_fs_uniforms);
+       default_fs_ub->bind(SHADING_UNIFORMS);
 
        /* texture */
 
@@ -119,12 +121,12 @@ void Renderer::draw_object(Object *object)
 
        /* setting uniforms for matrices */
 
-       vu.mview = object->transform * camera->get_view_matrix();
-       vu.mmviewproj = object->transform * camera->get_view_matrix() * mprojection;
-       vu.mmod = object->transform.upper3x3();
+       default_vs_uniforms.mview = object->transform * camera->get_view_matrix();
+       default_vs_uniforms.mmviewproj = object->transform * camera->get_view_matrix() * mprojection;
+       default_vs_uniforms.mmod = object->transform.upper3x3();
 
-       vbuf->update(&vu);
-       vbuf->bind(MATRIX_UNIFORMS);
+       default_vs_ub->update(&default_vs_uniforms);
+       default_vs_ub->bind(MATRIX_UNIFORMS);
 
        object->mesh->draw();
 
@@ -132,8 +134,8 @@ void Renderer::draw_object(Object *object)
 #ifdef DRAW_NORMALS
        if(nprog) {
                vu.mmviewproj = mmviewproj;
-               vbuf->update(&vu);
-               vbuf->bind(MATRIX_UNIFORMS);
+               default_vs_ub->update(&vu);
+               default_vs_ub->bind(MATRIX_UNIFORMS);
 
                nprog->use();
                object->mesh->draw_normals(1.0);
@@ -170,9 +172,9 @@ void Renderer::draw_skybox()
        skytex->bind();
        skyprog->use();
 
-       svu.mviewproj = camera->get_view_matrix().upper3x3() * mprojection;
-       svbuf->update(&svu);
-       svbuf->bind(SKY_MATRIX_UNIFORMS);
+       sky_vs_uniforms.mviewproj = camera->get_view_matrix().upper3x3() * mprojection;
+       sky_vs_ub->update(&sky_vs_uniforms);
+       sky_vs_ub->bind(SKY_MATRIX_UNIFORMS);
 
        skymesh->draw();
 
index 2c72721..bfd7622 100644 (file)
@@ -37,14 +37,14 @@ struct SkyMatrixUniforms {
 
 class Renderer {
 protected:
-       BaseMatrixUniforms vu;
-       UniformBuffer *vbuf;
+       BaseMatrixUniforms default_vs_uniforms;
+       UniformBuffer *default_vs_ub;
 
-       BaseShadingUniforms fu;
-       UniformBuffer *fbuf;
+       BaseShadingUniforms default_fs_uniforms;
+       UniformBuffer *default_fs_ub;
 
-       SkyMatrixUniforms svu;
-       UniformBuffer *svbuf;
+       SkyMatrixUniforms sky_vs_uniforms;
+       UniformBuffer *sky_vs_ub;
 
        ShaderProgram *sprog;
 
index 187444e..cbaa950 100644 (file)
@@ -1,7 +1,13 @@
 #include <vulkan/vulkan.h>
+#include <stdio.h>
 
+#include "gfxapi.h"
 #include "renderer-vk.h"
 #include "uniforms.h"
+#include "vkutil.h"
+#include "vkutil-pipeline.h"
+
+static VkuPipelineGenerator pipe_gen;
 
 RendererVK::RendererVK()
 {
@@ -13,14 +19,65 @@ RendererVK::RendererVK()
        dskytex = 0;
 
        fog_density = 0;
-       vbuf = fbuf = svbuf = 0;
+
+       default_vs_ub = 0;
+       default_fs_ub = 0;
+       sky_vs_ub = 0;
 }
 
 RendererVK::~RendererVK()
 {
-       delete vbuf;
-       delete fbuf;
-       delete svbuf;
+       delete default_vs_ub;
+       delete default_fs_ub;
+       delete sky_vs_ub;
+}
+
+bool RendererVK::create_resources()
+{
+       /* default pipeline: create binding points */
+       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");
+               return false;
+       }
+       ResourceVK default_vs_res;
+       if(!default_vs_res.create_ds_layout(MATRIX_UNIFORMS,
+                                           VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+                                           VK_SHADER_STAGE_VERTEX_BIT, 0)) {
+               fprintf(stderr, "Failed to create the ds layout for the default vs uniform buffer.\n");
+               return false;
+       }
+       default_resources.push_back(default_vs_res);
+
+       default_fs_ub = gfx_create_uniform_buffer();
+       if(!default_fs_ub->create(sizeof default_fs_uniforms)) {
+               fprintf(stderr, "Failed to create the default FS uniform buffer.\n");
+               return false;
+       }
+       ResourceVK default_fs_res;
+       if(!default_fs_res.create_ds_layout(SHADING_UNIFORMS,
+                                           VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+                                           VK_SHADER_STAGE_FRAGMENT_BIT, 0)) {
+               fprintf(stderr, "Failed to create the ds layout for the default VS uniform buffer.\n");
+               return false;
+       }
+       default_resources.push_back(default_fs_res);
+
+       sky_vs_ub = gfx_create_uniform_buffer();
+       if(!sky_vs_ub->create(sizeof sky_vs_uniforms)) {
+               fprintf(stderr, "Failed to create the VS uniform buffer for the sky.\n");
+               return false;
+       }
+       ResourceVK sky_vs_res;
+       if(!sky_vs_res.create_ds_layout(SKY_MATRIX_UNIFORMS,
+                                       VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
+                                       VK_SHADER_STAGE_FRAGMENT_BIT, 0)) {
+               fprintf(stderr, "Failed to create the ds layout for the sky VS uniform buffer.\n");
+               return false;
+       }
+       sky_resources.push_back(sky_vs_res);
+
+       return true;
 }
 
 bool RendererVK::create()
@@ -30,16 +87,16 @@ bool RendererVK::create()
                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;
+               }*/
 
        return true;
 }
 
 bool RendererVK::create_default_pipeline()
 {
-       /* vertex */
+
        return true;
 }
index 4dc72f6..ce52b4e 100644 (file)
@@ -1,17 +1,32 @@
 #ifndef RENDERER_VK_H_
 #define RENDERER_VK_H_
 
+#include <vector>
 #include <vulkan/vulkan.h>
+
 #include "renderer.h"
+#include "vulkan/resources.h"
 
 class RendererVK : public Renderer {
 private:
+       VkDescriptorPool uniform_pool;
+
+       VkPipeline pipe_default;
+       std::vector<ResourceVK> default_resources;
+
+       VkPipeline pipe_morph;
+       std::vector<ResourceVK> morph_resources;
+
+       VkPipeline pipe_sky;
+       std::vector<ResourceVK> sky_resources;
+
        bool create_default_pipeline();
 public:
        RendererVK();
        ~RendererVK();
 
        bool create() override;
+       bool create_resources();
 
 };
 
diff --git a/src/vulkan/resources.cc b/src/vulkan/resources.cc
new file mode 100644 (file)
index 0000000..22932a6
--- /dev/null
@@ -0,0 +1,40 @@
+#include <stdio.h>
+#include <string.h>
+
+#include "resources.h"
+#include "vkutil.h"
+
+ResourceVK::ResourceVK() {}
+ResourceVK::~ResourceVK() {}
+
+bool ResourceVK::create_ds_layout(unsigned int num, VkDescriptorType type,
+                                  VkShaderStageFlags stage, VkSampler *sampler)
+{
+       res_type = RES_DESC_SET;
+
+       /* layout binding */
+       VkDescriptorSetLayoutBinding bind;
+
+       memset(&bind, 0, sizeof bind);
+       bind.binding = num;
+       bind.descriptorType = type;
+       bind.stageFlags = stage;
+
+       bind.pImmutableSamplers = sampler;
+
+       /* layout : for the moment:
+        * one layout per ds, (=> 1 binding point)
+        * */
+
+       VkDescriptorSetLayoutCreateInfo dslinf;
+       memset(&dslinf, 0, sizeof dslinf);
+       dslinf.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
+       dslinf.bindingCount = 1;
+       dslinf.pBindings = &bind;
+
+       if(vkCreateDescriptorSetLayout(vk_device, &dslinf, 0, &layout) != VK_SUCCESS) {
+               fprintf(stderr, "Failed to create descriptor set layout.\n");
+               return false;
+       }
+       return true;
+}
diff --git a/src/vulkan/resources.h b/src/vulkan/resources.h
new file mode 100644 (file)
index 0000000..bbe1478
--- /dev/null
@@ -0,0 +1,26 @@
+#ifndef RESOURCES_H_
+#define RESOURCES_H_
+
+#include <vulkan/vulkan.h>
+
+enum ResourceType {
+       RES_DESC_SET,
+       RES_PUSH_CONST,
+};
+
+class ResourceVK {
+private:
+       ResourceType res_type;
+
+       VkDescriptorSetLayout layout;
+       VkPushConstantRange range;
+
+public:
+       ResourceVK();
+       ~ResourceVK();
+
+       bool create_ds_layout(unsigned int num, VkDescriptorType type,
+                       VkShaderStageFlags stage, VkSampler *sampler);
+};
+
+#endif //RESOURCES_H_
index 13bed2e..51c4722 100644 (file)
@@ -68,7 +68,6 @@ ShaderProgramVK::~ShaderProgramVK()
 
 bool ShaderProgramVK::create()
 {
-       
        return true;
 }
 
index 6a02110..7e67a3a 100644 (file)
@@ -10,16 +10,21 @@ UniformBufferVK::UniformBufferVK()
 
 UniformBufferVK::~UniformBufferVK()
 {
+       destroy();
 }
 
 bool UniformBufferVK::create(int size)
 {
        if(!(ubo = vku_create_buffer(size, VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT))) {
-               fprintf(stderr, "Failed to create uniform buffer object.\n");
+               fprintf(stderr, "Failed to create vulkan uniform buffer object.\n");
                return false;
        }
 
-       return UniformBuffer::create(size);
+       if(!UniformBuffer::create(size)) {
+               fprintf(stderr, "Failed to create uniform buffer object.\n");
+               return false;
+       }
+       return true;
 }
 
 void UniformBufferVK::destroy()
@@ -30,7 +35,7 @@ void UniformBufferVK::destroy()
 void UniformBufferVK::bind(int binding) const
 {
        if(vkBindBufferMemory(vk_device, ubo->buf, ubo->mem_pool, 0) !=
-                       VK_SUCCESS) {
+               VK_SUCCESS) {
                fprintf(stderr, "Failed to bind ubo.\n");
        }
 }
index 50e1e84..a7f18bc 100644 (file)
@@ -8,7 +8,9 @@
 class UniformBufferVK : public UniformBuffer {
 private:
        vku_buffer *ubo;
-       VkDescriptorSet dset;
+
+       VkWriteDescriptorSet descr_write;
+       VkDescriptorBufferInfo ubo_inf;
 
 public:
        UniformBufferVK();
index 1d2620d..4be1d22 100644 (file)
@@ -79,12 +79,12 @@ VkPipeline VkuPipelineGenerator::generate(VkuDynState dyn_flags) const
        VkPipelineLayoutCreateInfo linf;
        memset(&linf, 0, sizeof linf);
        linf.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
-       linf.setLayoutCount = dset_layouts.size();
-       linf.pSetLayouts = dset_layouts.data();
+       linf.setLayoutCount = res_layouts.size();
+       linf.pSetLayouts = res_layouts.data();
        //TODO find max num dsets vkGetPhysicalDeviceProperties
        //maxBoundDescriptorSets of VkPhysicalDeviceLimits
-       linf.pushConstantRangeCount = push_const_ranges.size();
-       linf.pPushConstantRanges = push_const_ranges.data();
+       //linf.pushConstantRangeCount = push_const_ranges.size();
+       //linf.pPushConstantRanges = push_const_ranges.data();
        //maxPushConstantsSize from VkPhysicalDeviceLimits
 
        VkPipelineLayout layout;
@@ -120,7 +120,7 @@ VkPipeline VkuPipelineGenerator::generate(VkuDynState dyn_flags) const
 
        VkPipeline gpipeline;
        if(vkCreateGraphicsPipelines(vk_device, pcache, 1, &gpinf, 0, &gpipeline) !=
-                       VK_SUCCESS) {
+               VK_SUCCESS) {
                fprintf(stderr, "Failed to create graphics pipeline.\n");
                return 0;
        }
@@ -129,14 +129,14 @@ VkPipeline VkuPipelineGenerator::generate(VkuDynState dyn_flags) const
 }
 
 void VkuPipelineGenerator::set_shader_modules(VkShaderModule vs,
-               VkShaderModule fs)
+        VkShaderModule fs)
 {
        sdri[0].module = vs;
        sdri[1].module = fs;
 }
 
 void VkuPipelineGenerator::set_attribute(uint32_t binding, uint32_t stride,
-               uint32_t location, VkFormat format)
+        uint32_t location, VkFormat format)
 {
        VkVertexInputBindingDescription bdsc;
        bdsc.binding = binding;
@@ -151,8 +151,3 @@ void VkuPipelineGenerator::set_attribute(uint32_t binding, uint32_t stride,
        adsc.binding = binding;
        adsc.format = format;
 }
-
-void VkuPipelineGenerator::set_descriptor_set_layout(const vku_descriptor &desc)
-{
-       dset_layouts.push_back(desc.layout);
-}
index 9f8a266..9cd99fa 100644 (file)
@@ -3,10 +3,6 @@
 
 #include <vulkan/vulkan.h>
 
-#define VERTEX_ATTRIB_BIT (1 << VKU_BIND_VERTEX)
-#define NORMAL_ATTRIB_BIT (1 << VKU_BIND_NORMAL)
-#define TEX_COORD_ATTRIB_BIT (1 << VKU_BIND_TEX_COORD)
-
 enum VkuVertexBindings {
        VKU_BIND_VERTEX,
        VKU_BIND_NORMAL,
@@ -33,9 +29,9 @@ private:
        std::vector<VkVertexInputBindingDescription> bind_descriptions;
        std::vector<VkVertexInputAttributeDescription> attr_descriptions;
 
-       /* uniforms */
-       std::vector<VkDescriptorSetLayout> dset_layouts;
-       std::vector<VkPushConstantRange> push_const_ranges;
+       /* resources */
+       std::vector<VkDescriptorSetLayout> res_layouts;
+//     std::vector<VkPushConstantRange> push_const_ranges;
 
 public:
        VkuPipelineGenerator();
@@ -46,9 +42,7 @@ public:
        void set_shader_modules(VkShaderModule vs, VkShaderModule fs);
        void set_attribute(uint32_t binding, uint32_t stride, uint32_t location,
                        VkFormat format);
-       void set_descriptor_set_layout(const vku_descriptor &desc);
 
-       void set_push_constant(); //TODO
 };
 
 #endif // VKUTIL_PIPELINE_H_
index 4622819..04a9fe5 100644 (file)
@@ -427,15 +427,12 @@ struct vku_buffer *vku_create_buffer(int sz, unsigned int usage)
 
 void vku_destroy_buffer(struct vku_buffer *buf)
 {
-       if(buf) {
-               vkDestroyBuffer(vk_device, buf->buf, 0);
-       }
 }
 
 bool vku_update_buffer(vku_buffer *buf, int size, void *data)
 {
        uint8_t *pdata;
-       if(vkMapMemory(vk_device, buf->mem_pool, 0, size, 0, (void**)&pdata) != VK_SUCCESS) {
+       if(vkMapMemory(vk_device, buf->mem_pool, 0, size, 0, (void **)&pdata) != VK_SUCCESS) {
                fprintf(stderr, "Failed to map memory.\n");
                return false;
        }
@@ -620,8 +617,8 @@ static const char *get_mem_size_str(long sz)
 }
 
 vku_descriptor *vku_create_descriptor(VkDescriptorType type,
-               VkFlags stage, int binding_point,
-               int size, int num_desc)
+                                      VkFlags stage, int binding_point,
+                                      int size, int num_desc)
 {
        vku_descriptor *desc = new vku_descriptor;
 
@@ -727,83 +724,3 @@ bool vku_update_descriptor_sets(VkDescriptorSet *sets, int num_sets)
 //     std::vector
        return true;
 }
-
-VkPipelineCache vku_create_pipeline_cache()
-{
-       VkPipelineCacheCreateInfo cinf;
-       memset(&cinf, 0, sizeof cinf);
-       cinf.sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
-
-       VkPipelineCache cache;
-       if(vkCreatePipelineCache(vk_device, &cinf, 0, &cache) != VK_SUCCESS) {
-               fprintf(stderr, "Failed to create pipeline cache.\n");
-               return 0;
-       }
-       return cache;
-}
-
-void vku_destroy_pipeline_cache(VkPipelineCache cache)
-{
-       vkDestroyPipelineCache(vk_device, cache, 0);
-}
-
-void vku_pl_init_shader_stage_state_info(VkPipelineShaderStageCreateInfo *ssinf,
-               VkShaderStageFlagBits stage, VkShaderModule sm)
-{
-       memset(ssinf, 0, sizeof *ssinf);
-       ssinf->sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
-       ssinf->stage = stage;
-       ssinf->module = sm;
-       ssinf->pName = "main";
-}
-
-void vku_pl_init_input_asm_state_info(VkPipelineInputAssemblyStateCreateInfo *iasinf)
-{
-       memset(iasinf, 0, sizeof *iasinf);
-       iasinf->sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
-       iasinf->topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
-}
-
-void vku_pl_init_viewport_state_info(VkPipelineViewportStateCreateInfo *vsinf,
-               VkViewport *viewports, int num_viewports, VkRect2D *scissors,
-               int num_scissors)
-{
-       memset(vsinf, 0, sizeof *vsinf);
-       vsinf->sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO;
-       vsinf->viewportCount = num_viewports;
-       vsinf->scissorCount = num_scissors;
-       vsinf->pViewports = viewports;
-       vsinf->pScissors = scissors;
-}
-
-void vku_pl_init_rasterization_state_info(VkPipelineRasterizationStateCreateInfo *rsinf)
-{
-       memset(rsinf, 0, sizeof *rsinf);
-       rsinf->sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
-       rsinf->polygonMode = VK_POLYGON_MODE_FILL;
-       rsinf->cullMode = VK_CULL_MODE_FRONT_BIT;
-       rsinf->frontFace = VK_FRONT_FACE_COUNTER_CLOCKWISE;
-}
-
-void vku_pl_init_multisample_state_info(VkPipelineMultisampleStateCreateInfo *msinf)
-{
-       memset(msinf, 0, sizeof *msinf);
-       msinf->sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
-       msinf->rasterizationSamples = VK_SAMPLE_COUNT_1_BIT;
-}
-
-void vku_pl_init_depth_stencil_state_info(VkPipelineDepthStencilStateCreateInfo *dsinf,
-               bool enable)
-{
-       memset(dsinf, 0, sizeof *dsinf);
-       dsinf->sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
-       dsinf->depthTestEnable = enable ? VK_TRUE : VK_FALSE;
-}
-
-void vku_pl_init_color_blend_state_info(VkPipelineColorBlendStateCreateInfo *cbsinf,
-               bool enable)
-{
-       memset(cbsinf, 0, sizeof *cbsinf);
-       cbsinf->sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
-       //TODO
-}
index 775fd27..bfe38f5 100644 (file)
@@ -12,7 +12,6 @@ extern VkSwapchainKHR vk_swapchain;
 extern VkSurfaceKHR vk_surface;
 extern VkInstance vk_instance;
 extern int vk_qfamily;
-extern VkDescriptorPool vk_dpool;
 extern VkRenderPass vk_renderpass;
 
 struct vku_buffer {
@@ -29,37 +28,6 @@ struct vku_descriptor {
        int size;
 };
 
-struct vku_pipeline {
-};
-
-struct vku_pipeline_info {
-       /* shader stages */
-       VkShaderModule vs;
-       VkShaderModule fs;
-
-       /* states info */
-
-       VkPipelineShaderStageCreateInfo inf_shader_stage;
-
-       VkPipelineVertexInputStateCreateInfo inf_vertex_input;
-
-       VkPipelineInputAssemblyStateCreateInfo inf_input_asm;
-
-       VkPipelineTessellationStateCreateInfo inf_tessel;
-
-       VkPipelineViewportStateCreateInfo inf_viewport;
-       VkPipelineRasterizationStateCreateInfo inf_raster;
-       VkPipelineMultisampleStateCreateInfo inf_multisample;
-       VkPipelineDepthStencilStateCreateInfo inf_depth_stencil;
-       VkPipelineColorBlendStateCreateInfo inf_colorblend;
-
-       VkPipelineDynamicStateCreateInfo inf_dynamic_state;
-
-       VkPipelineLayout layout;
-       VkRenderPass renderpass;
-       uint32_t subpass;
-};
-
 /* extensions */
 bool vku_have_extension(const char *name);
 bool vku_have_device_extension(const char *name);
@@ -102,6 +70,8 @@ void vku_destroy_descriptor(vku_descriptor *descriptor);
 
 bool vku_create_descriptor_pool(vku_descriptor **descriptors, int num_desc,
                VkDescriptorSet set);
-void vku_destroy_descriptor_pool();
+
+/*
+void vku_destroy_descriptor_pool();*/
 
 #endif // VKUTIL_H_