Move ShaderStage and name into Shader struct
These fields will eventually be determined automatically but for now it makes more sense to pass them as arguements to RenderDriver::create_shader.
This commit is contained in:
@@ -38,7 +38,7 @@ namespace Nova {
|
||||
virtual void resize_swapchain(SwapchainID swapchain) = 0;
|
||||
virtual void destroy_swapchain(SwapchainID swapchain) = 0;
|
||||
|
||||
[[nodiscard]] virtual ShaderID create_shader(const std::span<u8> bytes) = 0;
|
||||
[[nodiscard]] virtual ShaderID create_shader(const std::span<u8> bytes, ShaderStage stage) = 0;
|
||||
virtual void destroy_shader(ShaderID shader) = 0;
|
||||
|
||||
[[nodiscard]] virtual PipelineID create_pipeline(GraphicsPipelineParams& params) = 0;
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#include <nova/render/render_fwd.h>
|
||||
#include <nova/types.h>
|
||||
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
namespace Nova {
|
||||
@@ -27,7 +26,7 @@ namespace Nova {
|
||||
};
|
||||
|
||||
struct GraphicsPipelineParams {
|
||||
std::unordered_map<ShaderStage, ShaderID> shaders;
|
||||
std::vector<ShaderID> shaders;
|
||||
std::vector<VertexBinding> bindings;
|
||||
std::vector<VertexAttribute> attributes;
|
||||
PrimitiveTopology topology = PrimitiveTopology::TRIANGLE_LIST;
|
||||
|
||||
Reference in New Issue
Block a user