Expose active pipeline for access by Maxwell3D class

This commit is contained in:
Billy Laws 2022-09-15 22:26:00 +01:00
parent 6e22373b59
commit ad0275dbef
3 changed files with 7 additions and 1 deletions

View File

@ -376,6 +376,10 @@ namespace skyline::gpu::interconnect::maxwell3d {
updateFunc(stencilValues); updateFunc(stencilValues);
} }
Pipeline *ActiveState::GetPipeline() {
return pipeline.Get().pipeline;
}
std::shared_ptr<TextureView> ActiveState::GetColorRenderTargetForClear(InterconnectContext &ctx, size_t index) { std::shared_ptr<TextureView> ActiveState::GetColorRenderTargetForClear(InterconnectContext &ctx, size_t index) {
return pipeline.Get().GetColorRenderTargetForClear(ctx, index); return pipeline.Get().GetColorRenderTargetForClear(ctx, index);
} }

View File

@ -256,6 +256,8 @@ namespace skyline::gpu::interconnect::maxwell3d {
*/ */
void Update(InterconnectContext &ctx, StateUpdateBuilder &builder, bool indexed, engine::DrawTopology topology, u32 drawElementCount); void Update(InterconnectContext &ctx, StateUpdateBuilder &builder, bool indexed, engine::DrawTopology topology, u32 drawElementCount);
Pipeline *GetPipeline();
std::shared_ptr<TextureView> GetColorRenderTargetForClear(InterconnectContext &ctx, size_t index); std::shared_ptr<TextureView> GetColorRenderTargetForClear(InterconnectContext &ctx, size_t index);
std::shared_ptr<TextureView> GetDepthRenderTargetForClear(InterconnectContext &ctx); std::shared_ptr<TextureView> GetDepthRenderTargetForClear(InterconnectContext &ctx);

View File

@ -290,7 +290,6 @@ namespace skyline::gpu::interconnect::maxwell3d {
private: private:
PipelineManager pipelineManager{}; PipelineManager pipelineManager{};
Pipeline *pipeline{};
PackedPipelineState packedState{}; PackedPipelineState packedState{};
@ -308,6 +307,7 @@ namespace skyline::gpu::interconnect::maxwell3d {
public: public:
DirectPipelineState directState; DirectPipelineState directState;
Pipeline *pipeline{};
PipelineState(dirty::Handle dirtyHandle, DirtyManager &manager, const EngineRegisters &engine); PipelineState(dirty::Handle dirtyHandle, DirtyManager &manager, const EngineRegisters &engine);