WebGPURenderPassColorAttachmentDescriptor.cpp [plain text]
#include "config.h"
#include "WebGPURenderPassColorAttachmentDescriptor.h"
#if ENABLE(WEBGPU)
#include "GPURenderPassColorAttachmentDescriptor.h"
#include "GPUTexture.h"
#include "WebGPURenderingContext.h"
#include "WebGPUTexture.h"
namespace WebCore {
Ref<WebGPURenderPassColorAttachmentDescriptor> WebGPURenderPassColorAttachmentDescriptor::create(WebGPURenderingContext* context, GPURenderPassColorAttachmentDescriptor* descriptor)
{
return adoptRef(*new WebGPURenderPassColorAttachmentDescriptor(context, descriptor));
}
WebGPURenderPassColorAttachmentDescriptor::WebGPURenderPassColorAttachmentDescriptor(WebGPURenderingContext* context, GPURenderPassColorAttachmentDescriptor* descriptor)
: WebGPURenderPassAttachmentDescriptor(context, descriptor)
{
}
WebGPURenderPassColorAttachmentDescriptor::~WebGPURenderPassColorAttachmentDescriptor() = default;
GPURenderPassColorAttachmentDescriptor* WebGPURenderPassColorAttachmentDescriptor::renderPassColorAttachmentDescriptor() const
{
return static_cast<GPURenderPassColorAttachmentDescriptor*>(renderPassAttachmentDescriptor());
}
Vector<float> WebGPURenderPassColorAttachmentDescriptor::clearColor() const
{
RefPtr<GPURenderPassColorAttachmentDescriptor> descriptor = renderPassColorAttachmentDescriptor();
if (!descriptor) {
Vector<float> black = { 0.0, 0.0, 0.0, 1.0 };
return black;
}
return descriptor->clearColor();
}
void WebGPURenderPassColorAttachmentDescriptor::setClearColor(const Vector<float>& newClearColor)
{
RefPtr<GPURenderPassColorAttachmentDescriptor> descriptor = renderPassColorAttachmentDescriptor();
if (!descriptor)
return;
descriptor->setClearColor(newClearColor);
}
}
#endif