dolphin/Source/Core/VideoCommon/GeometryShaderManager.h

35 lines
721 B
C++

// Copyright 2014 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "Common/CommonTypes.h"
#include "VideoCommon/ConstantManager.h"
class PointerWrap;
enum class PrimitiveType : u32;
// The non-API dependent parts.
class GeometryShaderManager
{
public:
void Init();
void Dirty();
void DoState(PointerWrap& p);
void SetConstants(PrimitiveType prim);
void SetViewportChanged();
void SetProjectionChanged();
void SetLinePtWidthChanged();
void SetTexCoordChanged(u8 texmapid);
GeometryShaderConstants constants{};
bool dirty = false;
private:
void SetVSExpand(VSExpand expand);
bool m_projection_changed = false;
bool m_viewport_changed = false;
};