8#ifndef GrD3DPipelineState_DEFINED
9#define GrD3DPipelineState_DEFINED
37 std::unique_ptr<GrGeometryProcessor::ProgramImpl> gpImpl,
38 std::unique_ptr<GrXferProcessor::ProgramImpl> xpImpl,
39 std::vector<std::unique_ptr<GrFragmentProcessor::ProgramImpl>> fpImpls,
41 size_t instanceStride);
68 struct RenderTargetState {
72 RenderTargetState() { this->invalidate(); }
74 fRenderTargetSize.
fWidth = -1;
87 RenderTargetState fRenderTargetState;
91 std::unique_ptr<GrGeometryProcessor::ProgramImpl> fGPImpl;
92 std::unique_ptr<GrXferProcessor::ProgramImpl> fXPImpl;
93 std::vector<std::unique_ptr<GrFragmentProcessor::ProgramImpl>> fFPImpls;
97 unsigned int fNumSamplers;
99 size_t fInstanceStride;
GrSPIRVUniformHandler::UniformInfoArray UniformInfoArray
void setAndBindTextures(GrD3DGpu *, const GrGeometryProcessor &, const GrSurfaceProxy *const geomProcTextures[], const GrPipeline &)
const sk_sp< GrD3DPipeline > & pipeline() const
void setAndBindConstants(GrD3DGpu *, const GrRenderTarget *, const GrProgramInfo &)
const sk_sp< GrD3DRootSignature > & rootSignature() const
void bindBuffers(GrD3DGpu *, sk_sp< const GrBuffer > indexBuffer, sk_sp< const GrBuffer > instanceBuffer, sk_sp< const GrBuffer > vertexBuffer, GrD3DDirectCommandList *commandList)
GrD3DPipelineState(sk_sp< GrD3DPipeline > pipeline, sk_sp< GrD3DRootSignature > rootSignature, const GrGLSLBuiltinUniformHandles &builtinUniformHandles, const UniformInfoArray &uniforms, uint32_t uniformSize, uint32_t numSamplers, std::unique_ptr< GrGeometryProcessor::ProgramImpl > gpImpl, std::unique_ptr< GrXferProcessor::ProgramImpl > xpImpl, std::vector< std::unique_ptr< GrFragmentProcessor::ProgramImpl > > fpImpls, size_t vertexStride, size_t instanceStride)