48 const Texture* depthStencilTexture,
57 const Texture* depthStencilTexture);
58 bool loadMSAAFromResolveAndBeginRenderPassEncoder(
60 const wgpu::RenderPassDescriptor& wgpuRenderPassDesc,
62 bool doBlitWithDraw(
const wgpu::RenderPassEncoder& renderEncoder,
64 const wgpu::TextureView& sourceTextureView,
72 void setBlendConstants(
float* blendConstants);
80 void bindTextureAndSamplers(
const DrawPass& drawPass,
81 const DrawPassCommands::BindTexturesAndSamplers& command);
83 void setScissor(
unsigned int left,
unsigned int top,
unsigned int width,
unsigned int height);
84 void preprocessViewport(
const SkRect& viewport);
85 void setViewport(
const SkRect& viewport);
89 unsigned int baseIndex,
90 unsigned int indexCount,
91 unsigned int baseVertex);
93 unsigned int baseVertex,
94 unsigned int vertexCount,
95 unsigned int baseInstance,
96 unsigned int instanceCount);
98 unsigned int baseIndex,
99 unsigned int indexCount,
100 unsigned int baseVertex,
101 unsigned int baseInstance,
102 unsigned int instanceCount);
107 void beginComputePass();
111 void dispatchWorkgroupsIndirect(
const Buffer* indirectBuffer,
size_t indirectBufferOffset);
112 void endComputePass();
119 size_t size)
override;
124 size_t bufferRowBytes)
override;
133 int mipLevel)
override;
138 void syncUniformBuffers();
140 bool fBoundUniformBuffersDirty =
false;
142 std::array<const DawnBuffer*, DawnGraphicsPipeline::kNumUniformBuffers> fBoundUniformBuffers;
143 std::array<uint32_t, DawnGraphicsPipeline::kNumUniformBuffers> fBoundUniformBufferOffsets;
144 std::array<uint32_t, DawnGraphicsPipeline::kNumUniformBuffers> fBoundUniformBufferSizes;
146 wgpu::CommandEncoder fCommandEncoder;
147 wgpu::RenderPassEncoder fActiveRenderPassEncoder;
148 wgpu::ComputePassEncoder fActiveComputePassEncoder;
150 wgpu::Buffer fCurrentIndirectBuffer;
151 size_t fCurrentIndirectBufferOffset = 0;
154 int fIntrinsicConstantBufferSlotsUsed = 0;
bool onAddRenderPass(const RenderPassDesc &, const Texture *colorTexture, const Texture *resolveTexture, const Texture *depthStencilTexture, SkRect viewport, const DrawPassList &) override