mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-18 10:35:46 -04:00
OSD: Add option to show display resolution
This commit is contained in:
@ -144,6 +144,24 @@ public:
|
||||
}
|
||||
void EndDMAWrite();
|
||||
|
||||
/// Returns false if the DAC is loading any data from VRAM.
|
||||
ALWAYS_INLINE bool IsDisplayDisabled() const
|
||||
{
|
||||
return m_GPUSTAT.display_disable || m_crtc_state.display_vram_width == 0 || m_crtc_state.display_vram_height == 0;
|
||||
}
|
||||
|
||||
/// Returns true if scanout should be interlaced.
|
||||
ALWAYS_INLINE bool IsInterlacedDisplayEnabled() const
|
||||
{
|
||||
return (!m_force_progressive_scan) & m_GPUSTAT.vertical_interlace;
|
||||
}
|
||||
|
||||
/// Returns true if interlaced rendering is enabled and force progressive scan is disabled.
|
||||
ALWAYS_INLINE bool IsInterlacedRenderingEnabled() const
|
||||
{
|
||||
return (!m_force_progressive_scan) & m_GPUSTAT.SkipDrawingToActiveField();
|
||||
}
|
||||
|
||||
/// Returns the number of pending GPU ticks.
|
||||
TickCount GetPendingCRTCTicks() const;
|
||||
TickCount GetPendingCommandTicks() const;
|
||||
@ -163,6 +181,9 @@ public:
|
||||
/// Updates the resolution scale when it's set to automatic.
|
||||
virtual void UpdateResolutionScale();
|
||||
|
||||
/// Returns the effective display resolution of the GPU.
|
||||
virtual std::tuple<u32, u32> GetEffectiveDisplayResolution();
|
||||
|
||||
// gpu_hw_d3d11.cpp
|
||||
static std::unique_ptr<GPU> CreateHardwareD3D11Renderer();
|
||||
|
||||
@ -367,24 +388,6 @@ protected:
|
||||
void CRTCTickEvent(TickCount ticks);
|
||||
void CommandTickEvent(TickCount ticks);
|
||||
|
||||
/// Returns false if the DAC is loading any data from VRAM.
|
||||
ALWAYS_INLINE bool IsDisplayDisabled() const
|
||||
{
|
||||
return m_GPUSTAT.display_disable || m_crtc_state.display_vram_width == 0 || m_crtc_state.display_vram_height == 0;
|
||||
}
|
||||
|
||||
/// Returns true if scanout should be interlaced.
|
||||
ALWAYS_INLINE bool IsInterlacedDisplayEnabled() const
|
||||
{
|
||||
return (!m_force_progressive_scan) & m_GPUSTAT.vertical_interlace;
|
||||
}
|
||||
|
||||
/// Returns true if interlaced rendering is enabled and force progressive scan is disabled.
|
||||
ALWAYS_INLINE bool IsInterlacedRenderingEnabled() const
|
||||
{
|
||||
return (!m_force_progressive_scan) & m_GPUSTAT.SkipDrawingToActiveField();
|
||||
}
|
||||
|
||||
/// Returns 0 if the currently-displayed field is on odd lines (1,3,5,...) or 1 if even (2,4,6,...).
|
||||
ALWAYS_INLINE u32 GetInterlacedDisplayField() const { return ZeroExtend32(m_crtc_state.interlaced_field); }
|
||||
|
||||
|
Reference in New Issue
Block a user