Flutter Engine
The Flutter Engine
|
#include <GrVkPipelineState.h>
Public Types | |
using | UniformInfoArray = GrVkPipelineStateDataManager::UniformInfoArray |
using | UniformHandle = GrGLSLProgramDataManager::UniformHandle |
Public Member Functions | |
GrVkPipelineState (GrVkGpu *, sk_sp< const GrVkPipeline >, const GrVkDescriptorSetManager::Handle &samplerDSHandle, const GrGLSLBuiltinUniformHandles &builtinUniformHandles, const UniformInfoArray &uniforms, uint32_t uniformSize, bool usePushConstants, const UniformInfoArray &samplers, std::unique_ptr< GrGeometryProcessor::ProgramImpl >, std::unique_ptr< GrXferProcessor::ProgramImpl >, std::vector< std::unique_ptr< GrFragmentProcessor::ProgramImpl > > fpImpls) | |
~GrVkPipelineState () | |
bool | setAndBindUniforms (GrVkGpu *, SkISize colorAttachmentDimensions, const GrProgramInfo &, GrVkCommandBuffer *) |
bool | setAndBindTextures (GrVkGpu *, const GrGeometryProcessor &, const GrPipeline &, const GrSurfaceProxy *const geomProcTextures[], GrVkCommandBuffer *) |
bool | setAndBindInputAttachment (GrVkGpu *, gr_rp< const GrVkDescriptorSet > inputDescSet, GrVkCommandBuffer *) |
void | bindPipeline (const GrVkGpu *gpu, GrVkCommandBuffer *commandBuffer) |
void | freeGPUResources (GrVkGpu *gpu) |
This class holds onto a GrVkPipeline object that we use for draws. Besides storing the acutal GrVkPipeline object, this class is also responsible handling all uniforms, descriptors, samplers, and other similar objects that are used along with the VkPipeline in the draw. This includes both allocating and freeing these objects, as well as updating their values.
Definition at line 37 of file GrVkPipelineState.h.
using GrVkPipelineState::UniformHandle = GrGLSLProgramDataManager::UniformHandle |
Definition at line 40 of file GrVkPipelineState.h.
Definition at line 39 of file GrVkPipelineState.h.
GrVkPipelineState::GrVkPipelineState | ( | GrVkGpu * | gpu, |
sk_sp< const GrVkPipeline > | pipeline, | ||
const GrVkDescriptorSetManager::Handle & | samplerDSHandle, | ||
const GrGLSLBuiltinUniformHandles & | builtinUniformHandles, | ||
const UniformInfoArray & | uniforms, | ||
uint32_t | uniformSize, | ||
bool | usePushConstants, | ||
const UniformInfoArray & | samplers, | ||
std::unique_ptr< GrGeometryProcessor::ProgramImpl > | gpImpl, | ||
std::unique_ptr< GrXferProcessor::ProgramImpl > | xpImpl, | ||
std::vector< std::unique_ptr< GrFragmentProcessor::ProgramImpl > > | fpImpls | ||
) |
Definition at line 31 of file GrVkPipelineState.cpp.
GrVkPipelineState::~GrVkPipelineState | ( | ) |
Definition at line 61 of file GrVkPipelineState.cpp.
void GrVkPipelineState::bindPipeline | ( | const GrVkGpu * | gpu, |
GrVkCommandBuffer * | commandBuffer | ||
) |
Definition at line 274 of file GrVkPipelineState.cpp.
void GrVkPipelineState::freeGPUResources | ( | GrVkGpu * | gpu | ) |
Definition at line 66 of file GrVkPipelineState.cpp.
bool GrVkPipelineState::setAndBindInputAttachment | ( | GrVkGpu * | gpu, |
gr_rp< const GrVkDescriptorSet > | inputDescSet, | ||
GrVkCommandBuffer * | commandBuffer | ||
) |
Definition at line 237 of file GrVkPipelineState.cpp.
bool GrVkPipelineState::setAndBindTextures | ( | GrVkGpu * | gpu, |
const GrGeometryProcessor & | geomProc, | ||
const GrPipeline & | pipeline, | ||
const GrSurfaceProxy *const | geomProcTextures[], | ||
GrVkCommandBuffer * | commandBuffer | ||
) |
This must be called after setAndBindUniforms() since that function invalidates texture bindings.
Definition at line 113 of file GrVkPipelineState.cpp.
bool GrVkPipelineState::setAndBindUniforms | ( | GrVkGpu * | gpu, |
SkISize | colorAttachmentDimensions, | ||
const GrProgramInfo & | programInfo, | ||
GrVkCommandBuffer * | commandBuffer | ||
) |
Definition at line 77 of file GrVkPipelineState.cpp.