From fd6715f7be63e75d9530d27fb6b29220bf2f5502 Mon Sep 17 00:00:00 2001
From: Lava Block <the@lava-block.com>
Date: Sat, 10 Oct 2020 21:16:05 +0200
Subject: [PATCH] remove lava::file dependency in lava::block, use file_data
 directly as parameter

---
 CMakeLists.txt             |  1 -
 liblava/block/pipeline.cpp |  9 ---------
 liblava/block/pipeline.hpp |  6 ------
 liblava/file/file.hpp      | 11 ++---------
 4 files changed, 2 insertions(+), 25 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e7665fda..3a9b98d1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -270,7 +270,6 @@ add_library(lava.block STATIC
         )
 
 target_link_libraries(lava.block
-        lava::file
         lava::base
         )
 
diff --git a/liblava/block/pipeline.cpp b/liblava/block/pipeline.cpp
index ca475406..deeefe80 100644
--- a/liblava/block/pipeline.cpp
+++ b/liblava/block/pipeline.cpp
@@ -3,7 +3,6 @@
 // license   : MIT; see accompanying LICENSE file
 
 #include <liblava/block/pipeline.hpp>
-#include <liblava/file/file.hpp>
 
 namespace lava {
 
@@ -309,10 +308,6 @@ namespace lava {
         return true;
     }
 
-    bool graphics_pipeline::add_shader_stage(name filename, VkShaderStageFlagBits stage) {
-        return add_shader_stage(file_data(filename).get(), stage);
-    }
-
     void graphics_pipeline::copy_to(graphics_pipeline* target) const {
         target->set_layout(layout);
 
@@ -431,10 +426,6 @@ namespace lava {
         return true;
     }
 
-    bool compute_pipeline::set_shader_stage(name filename, VkShaderStageFlagBits stage) {
-        return set_shader_stage(file_data(filename).get(), stage);
-    }
-
     bool compute_pipeline::create_internal() {
         VkComputePipelineCreateInfo const create_info{
             .sType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,
diff --git a/liblava/block/pipeline.hpp b/liblava/block/pipeline.hpp
index 4f06dcb9..d2435927 100644
--- a/liblava/block/pipeline.hpp
+++ b/liblava/block/pipeline.hpp
@@ -238,11 +238,6 @@ namespace lava {
             return add_shader_stage(data, stage);
         }
 
-        bool add_shader_stage(name filename, VkShaderStageFlagBits stage);
-        bool add_shader(name filename, VkShaderStageFlagBits stage) {
-            return add_shader_stage(filename, stage);
-        }
-
         void add(shader_stage::ptr const& shader_stage) {
             shader_stages.push_back(shader_stage);
         }
@@ -351,7 +346,6 @@ namespace lava {
         void bind(VkCommandBuffer cmdBuffer) override;
 
         bool set_shader_stage(data const& data, VkShaderStageFlagBits stage);
-        bool set_shader_stage(name filename, VkShaderStageFlagBits stage);
         void set(shader_stage::ptr const& stage) {
             shader_stage = stage;
         }
diff --git a/liblava/file/file.hpp b/liblava/file/file.hpp
index a1ab11d9..3376b510 100644
--- a/liblava/file/file.hpp
+++ b/liblava/file/file.hpp
@@ -153,17 +153,10 @@ namespace lava {
 
     bool load_file_data(string_ref filename, data& target);
 
-    struct file_data {
+    struct file_data : scope_data {
         explicit file_data(string_ref filename) {
-            load_file_data(filename, scope_data);
+            load_file_data(filename, *this);
         }
-
-        data const& get() const {
-            return scope_data;
-        }
-
-    private:
-        lava::scope_data scope_data;
     };
 
     struct file_callback {
-- 
GitLab