#include "dawn/native/RenderPassEncoder.h"
#include <math.h>
#include <cstring>
#include <utility>
#include "dawn/common/Constants.h"
#include "dawn/native/Buffer.h"
#include "dawn/native/ChainUtils.h"
#include "dawn/native/CommandEncoder.h"
#include "dawn/native/CommandValidation.h"
#include "dawn/native/Commands.h"
#include "dawn/native/Device.h"
#include "dawn/native/ObjectType_autogen.h"
#include "dawn/native/QuerySet.h"
#include "dawn/native/RenderBundle.h"
#include "dawn/native/RenderPipeline.h"
namespace dawn::native {
namespace {
MaybeError ValidateQueryIndexOverwrite(QuerySetBase* querySet,
uint32_t queryIndex,
const QueryAvailabilityMap& queryAvailabilityMap) { … }
}
RenderPassEncoder::RenderPassEncoder(DeviceBase* device,
const UnpackedPtr<RenderPassDescriptor>& descriptor,
CommandEncoder* commandEncoder,
EncodingContext* encodingContext,
RenderPassResourceUsageTracker usageTracker,
Ref<AttachmentState> attachmentState,
uint32_t renderTargetWidth,
uint32_t renderTargetHeight,
bool depthReadOnly,
bool stencilReadOnly,
EndCallback endCallback)
: … { … }
Ref<RenderPassEncoder> RenderPassEncoder::Create(
DeviceBase* device,
const UnpackedPtr<RenderPassDescriptor>& descriptor,
CommandEncoder* commandEncoder,
EncodingContext* encodingContext,
RenderPassResourceUsageTracker usageTracker,
Ref<AttachmentState> attachmentState,
uint32_t renderTargetWidth,
uint32_t renderTargetHeight,
bool depthReadOnly,
bool stencilReadOnly,
EndCallback endCallback) { … }
RenderPassEncoder::RenderPassEncoder(DeviceBase* device,
CommandEncoder* commandEncoder,
EncodingContext* encodingContext,
ErrorTag errorTag,
const char* label)
: … { … }
Ref<RenderPassEncoder> RenderPassEncoder::MakeError(DeviceBase* device,
CommandEncoder* commandEncoder,
EncodingContext* encodingContext,
const char* label) { … }
RenderPassEncoder::~RenderPassEncoder() { … }
void RenderPassEncoder::DestroyImpl() { … }
ObjectType RenderPassEncoder::GetType() const { … }
void RenderPassEncoder::TrackQueryAvailability(QuerySetBase* querySet, uint32_t queryIndex) { … }
void RenderPassEncoder::APIEnd() { … }
void RenderPassEncoder::End() { … }
void RenderPassEncoder::APISetStencilReference(uint32_t reference) { … }
void RenderPassEncoder::APISetBlendConstant(const Color* color) { … }
void RenderPassEncoder::APISetViewport(float x,
float y,
float width,
float height,
float minDepth,
float maxDepth) { … }
void RenderPassEncoder::APISetScissorRect(uint32_t x, uint32_t y, uint32_t width, uint32_t height) { … }
void RenderPassEncoder::APIExecuteBundles(uint32_t count, RenderBundleBase* const* renderBundles) { … }
void RenderPassEncoder::APIBeginOcclusionQuery(uint32_t queryIndex) { … }
void RenderPassEncoder::APIEndOcclusionQuery() { … }
void RenderPassEncoder::APIWriteTimestamp(QuerySetBase* querySet, uint32_t queryIndex) { … }
void RenderPassEncoder::APIPixelLocalStorageBarrier() { … }
}