mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-25 23:41:19 +01:00
3151d8709c
D3D doesn't allow bigger viewports than rendertargets. But flipper does, so the viewport will be clipped and the transformation matrix will be changed. This was done in the D3D backend itself. This is now moved into VideoCommon. This don't reduce code, but in this way, VideoCommon doesn't depend on the backends.
59 lines
1.3 KiB
C++
59 lines
1.3 KiB
C++
|
|
#ifndef _RENDER_H_
|
|
#define _RENDER_H_
|
|
|
|
#include "RenderBase.h"
|
|
|
|
namespace DX11
|
|
{
|
|
|
|
class Renderer : public ::Renderer
|
|
{
|
|
public:
|
|
Renderer();
|
|
~Renderer();
|
|
|
|
void SetColorMask();
|
|
void SetBlendMode(bool forceUpdate);
|
|
void SetScissorRect(const TargetRectangle& rc);
|
|
void SetGenerationMode();
|
|
void SetDepthMode();
|
|
void SetLogicOpMode();
|
|
void SetDitherMode();
|
|
void SetLineWidth();
|
|
void SetSamplerState(int stage,int texindex);
|
|
void SetInterlacingMode();
|
|
|
|
// TODO: Fix confusing names (see ResetAPIState and RestoreAPIState)
|
|
void ApplyState(bool bUseDstAlpha);
|
|
void RestoreState();
|
|
|
|
void ApplyCullDisable();
|
|
void RestoreCull();
|
|
|
|
void RenderText(const char* pstr, int left, int top, u32 color);
|
|
|
|
u32 AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data);
|
|
|
|
void ResetAPIState();
|
|
void RestoreAPIState();
|
|
|
|
TargetRectangle ConvertEFBRectangle(const EFBRectangle& rc);
|
|
|
|
void Swap(u32 xfbAddr, u32 fbWidth, u32 fbHeight, const EFBRectangle& rc,float Gamma);
|
|
|
|
void ClearScreen(const EFBRectangle& rc, bool colorEnable, bool alphaEnable, bool zEnable, u32 color, u32 z);
|
|
|
|
void ReinterpretPixelData(unsigned int convtype);
|
|
|
|
void UpdateViewport();
|
|
|
|
bool SaveScreenshot(const std::string &filename, const TargetRectangle &rc);
|
|
|
|
static bool CheckForResize();
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|