From ddff2fa5d0cbae17cb819c91bad0a79105ba0ea7 Mon Sep 17 00:00:00 2001 From: ladevieq Date: Tue, 31 Jan 2023 21:16:16 +0100 Subject: Graphics pipeline rendering --- include/api-test/command-buffer.hpp | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'include/api-test/command-buffer.hpp') diff --git a/include/api-test/command-buffer.hpp b/include/api-test/command-buffer.hpp index ffeafc4..2cd1d75 100644 --- a/include/api-test/command-buffer.hpp +++ b/include/api-test/command-buffer.hpp @@ -1,6 +1,7 @@ #pragma once #include +#include #include @@ -27,6 +28,27 @@ struct dispatch_params { uint32_t uniforms_offset; }; +struct renderpass_params { +private: + struct rect { + int32_t x; + int32_t y; + uint32_t width; + uint32_t height; + }; + +public: + rect render_area; + std::span> color_attachments; + // optional viewport + // optional scissor +}; +struct draw_params { + handle pipeline; + uint32_t vertex_count; + uint32_t instance_count; +}; + struct command_buffer { void start() const; void stop() const; @@ -41,7 +63,11 @@ struct command_buffer { // General purpose queue struct graphics_command_buffer: public command_buffer { - void dispatch(const dispatch_params& params); + void dispatch(const dispatch_params& params) const; + + void begin_renderpass(const renderpass_params& params) const; + void render(const draw_params& params) const; + void end_renderpass() const; }; struct compute_command_buffer: public command_buffer { -- cgit v1.3