#include "dawn/native/opengl/RenderPipelineGL.h"
#include "dawn/native/opengl/DeviceGL.h"
#include "dawn/native/opengl/Forward.h"
#include "dawn/native/opengl/PersistentPipelineStateGL.h"
#include "dawn/native/opengl/UtilsGL.h"
namespace dawn::native::opengl {
namespace {
GLenum GLPrimitiveTopology(wgpu::PrimitiveTopology primitiveTopology) { … }
void ApplyFrontFaceAndCulling(const OpenGLFunctions& gl,
wgpu::FrontFace face,
wgpu::CullMode mode) { … }
GLenum GLBlendFactor(wgpu::BlendFactor factor, bool alpha) { … }
GLenum GLBlendMode(wgpu::BlendOperation operation) { … }
void ApplyColorState(const OpenGLFunctions& gl,
ColorAttachmentIndex attachment,
const ColorTargetState* state) { … }
void ApplyColorState(const OpenGLFunctions& gl, const ColorTargetState* state) { … }
bool Equal(const BlendComponent& lhs, const BlendComponent& rhs) { … }
GLuint OpenGLStencilOperation(wgpu::StencilOperation stencilOperation) { … }
}
Ref<RenderPipeline> RenderPipeline::CreateUninitialized(
Device* device,
const UnpackedPtr<RenderPipelineDescriptor>& descriptor) { … }
RenderPipeline::RenderPipeline(Device* device,
const UnpackedPtr<RenderPipelineDescriptor>& descriptor)
: … { … }
MaybeError RenderPipeline::InitializeImpl() { … }
RenderPipeline::~RenderPipeline() = default;
void RenderPipeline::DestroyImpl() { … }
GLenum RenderPipeline::GetGLPrimitiveTopology() const { … }
VertexAttributeMask RenderPipeline::GetAttributesUsingVertexBuffer(VertexBufferSlot slot) const { … }
void RenderPipeline::CreateVAOForVertexState() { … }
void RenderPipeline::ApplyNow(PersistentPipelineState& persistentPipelineState) { … }
void RenderPipeline::ApplyDepthStencilState(const OpenGLFunctions& gl,
PersistentPipelineState* persistentPipelineState) { … }
}