Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/draw/intern/draw_command.cc')
-rw-r--r--source/blender/draw/intern/draw_command.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/draw/intern/draw_command.cc b/source/blender/draw/intern/draw_command.cc
index 848d13083d0..3ef33f13c4a 100644
--- a/source/blender/draw/intern/draw_command.cc
+++ b/source/blender/draw/intern/draw_command.cc
@@ -158,6 +158,12 @@ void Clear::execute() const
GPU_framebuffer_clear(fb, (eGPUFrameBufferBits)clear_channels, color, depth, stencil);
}
+void ClearMulti::execute() const
+{
+ GPUFrameBuffer *fb = GPU_framebuffer_active_get();
+ GPU_framebuffer_multi_clear(fb, (const float(*)[4])colors.data());
+}
+
void StateSet::execute(RecordingState &recording_state) const
{
/**
@@ -471,6 +477,15 @@ std::string Clear::serialize() const
return std::string(".clear(") + ss.str() + ")";
}
+std::string ClearMulti::serialize() const
+{
+ std::stringstream ss;
+ for (float4 color : colors) {
+ ss << color << ", ";
+ }
+ return std::string(".clear_multi(colors={") + ss.str() + "})";
+}
+
std::string StateSet::serialize() const
{
/* TODO(@fclem): Better serialization... */