summaryrefslogtreecommitdiff
path: root/servers/rendering/rendering_device_binds.h
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2021-06-25 15:00:01 +0200
committerGitHub <noreply@github.com>2021-06-25 15:00:01 +0200
commite4430771dbc6d1f2e349ba180ba74834274f397c (patch)
treea3e604fb464867b90b477f6038180e4d99b608e5 /servers/rendering/rendering_device_binds.h
parentfdccc0b2195813d7874a7d9b97fff46081772e1e (diff)
parentbde6f5eed1cec3639e5c81d1e5ee34ecf3fe7486 (diff)
Merge pull request #49885 from reduz/implement-render-pass-support
Implement Framebuffer Subpass support
Diffstat (limited to 'servers/rendering/rendering_device_binds.h')
-rw-r--r--servers/rendering/rendering_device_binds.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/servers/rendering/rendering_device_binds.h b/servers/rendering/rendering_device_binds.h
index 912674e309..dc59568ce9 100644
--- a/servers/rendering/rendering_device_binds.h
+++ b/servers/rendering/rendering_device_binds.h
@@ -128,6 +128,34 @@ protected:
}
};
+class RDFramebufferPass : public RefCounted {
+ GDCLASS(RDFramebufferPass, RefCounted)
+ friend class RenderingDevice;
+
+ RD::FramebufferPass base;
+
+public:
+ RD_SETGET(PackedInt32Array, color_attachments)
+ RD_SETGET(PackedInt32Array, input_attachments)
+ RD_SETGET(PackedInt32Array, resolve_attachments)
+ RD_SETGET(PackedInt32Array, preserve_attachments)
+ RD_SETGET(int32_t, depth_attachment)
+protected:
+ enum {
+ ATTACHMENT_UNUSED = -1
+ };
+
+ static void _bind_methods() {
+ RD_BIND(Variant::PACKED_INT32_ARRAY, RDFramebufferPass, color_attachments);
+ RD_BIND(Variant::PACKED_INT32_ARRAY, RDFramebufferPass, input_attachments);
+ RD_BIND(Variant::PACKED_INT32_ARRAY, RDFramebufferPass, resolve_attachments);
+ RD_BIND(Variant::PACKED_INT32_ARRAY, RDFramebufferPass, preserve_attachments);
+ RD_BIND(Variant::INT, RDFramebufferPass, depth_attachment);
+
+ BIND_CONSTANT(ATTACHMENT_UNUSED);
+ }
+};
+
class RDSamplerState : public RefCounted {
GDCLASS(RDSamplerState, RefCounted)
friend class RenderingDevice;