mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-25 17:10:23 +00:00
LibVirtGPU: Make depth and color clearing separate functions
This commit is contained in:
parent
03884fad74
commit
140338670a
Notes:
sideshowbarker
2024-07-17 03:45:48 +09:00
Author: https://github.com/sunverwerth Commit: https://github.com/SerenityOS/serenity/commit/140338670a Pull-request: https://github.com/SerenityOS/serenity/pull/16590 Reviewed-by: https://github.com/ADKaster Reviewed-by: https://github.com/ccapitalK Reviewed-by: https://github.com/gmta ✅ Reviewed-by: https://github.com/supercomputer7 ✅
2 changed files with 20 additions and 5 deletions
|
@ -141,7 +141,7 @@ void CommandBufferBuilder::append_draw_vbo(Protocol::PipePrimitiveTypes primitiv
|
|||
builder.appendu32(0); // cso
|
||||
}
|
||||
|
||||
void CommandBufferBuilder::append_clear(float r, float g, float b)
|
||||
void CommandBufferBuilder::append_clear(float r, float g, float b, float a)
|
||||
{
|
||||
CommandBuilder builder(m_buffer, Protocol::VirGLCommand::CLEAR, Protocol::ObjectType::NONE);
|
||||
Protocol::ClearType clear_flags {};
|
||||
|
@ -151,9 +151,23 @@ void CommandBufferBuilder::append_clear(float r, float g, float b)
|
|||
builder.appendf32(r);
|
||||
builder.appendf32(g);
|
||||
builder.appendf32(b);
|
||||
builder.appendf32(1.0f); // Alpha
|
||||
builder.appendf64(1.0); // Depth
|
||||
builder.appendu32(0); // Stencil
|
||||
builder.appendf32(a);
|
||||
builder.appendf64(1.0);
|
||||
builder.appendu32(0);
|
||||
}
|
||||
|
||||
void CommandBufferBuilder::append_clear(double depth)
|
||||
{
|
||||
CommandBuilder builder(m_buffer, Protocol::VirGLCommand::CLEAR, Protocol::ObjectType::NONE);
|
||||
Protocol::ClearType clear_flags {};
|
||||
clear_flags.flags.depth = 1;
|
||||
builder.appendu32(clear_flags.value);
|
||||
builder.appendf32(0);
|
||||
builder.appendf32(0);
|
||||
builder.appendf32(0);
|
||||
builder.appendf32(0);
|
||||
builder.appendf64(depth);
|
||||
builder.appendu32(0);
|
||||
}
|
||||
|
||||
void CommandBufferBuilder::append_set_vertex_buffers(u32 stride, u32 offset, Protocol::ResourceID resource)
|
||||
|
|
|
@ -22,7 +22,8 @@ public:
|
|||
void append_transfer3d(Protocol::ResourceID resource, size_t width, size_t height = 1, size_t depth = 1, size_t direction = VIRGL_DATA_DIR_GUEST_TO_HOST);
|
||||
void append_end_transfers_3d();
|
||||
void append_draw_vbo(Protocol::PipePrimitiveTypes, u32 count);
|
||||
void append_clear(float r, float g, float b);
|
||||
void append_clear(float r, float g, float b, float a);
|
||||
void append_clear(double depth);
|
||||
void append_set_vertex_buffers(u32 stride, u32 offset, Protocol::ResourceID resource);
|
||||
void append_create_blend(Protocol::ObjectHandle handle);
|
||||
void append_bind_blend(Protocol::ObjectHandle handle);
|
||||
|
|
Loading…
Reference in a new issue