mirror of
https://github.com/RPCSX/rpcsx.git
synced 2025-12-06 07:12:14 +01:00
78 lines
1.2 KiB
C++
78 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <util/types.hpp>
|
|
|
|
namespace rsx
|
|
{
|
|
namespace overlays
|
|
{
|
|
// This is overlay common code meant only for render backends
|
|
enum class texture_sampling_mode: s32
|
|
{
|
|
none = 0,
|
|
font2D = 1,
|
|
font3D = 2,
|
|
texture2D = 3
|
|
};
|
|
|
|
class fragment_options
|
|
{
|
|
u32 value = 0;
|
|
|
|
enum e_offsets: s32
|
|
{
|
|
fragment_clip_bit = 0,
|
|
pulse_glow_bit = 1,
|
|
sampling_mode_bit = 2
|
|
};
|
|
|
|
public:
|
|
fragment_options& texture_mode(texture_sampling_mode mode)
|
|
{
|
|
value |= static_cast<s32>(mode) << e_offsets::sampling_mode_bit;
|
|
return *this;
|
|
}
|
|
|
|
fragment_options& pulse_glow(bool enable = true)
|
|
{
|
|
if (enable)
|
|
{
|
|
value |= (1 << e_offsets::pulse_glow_bit);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
fragment_options& clip_fragments(bool enable = true)
|
|
{
|
|
if (enable)
|
|
{
|
|
value |= (1 << e_offsets::fragment_clip_bit);
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
u32 get() const
|
|
{
|
|
return value;
|
|
}
|
|
};
|
|
|
|
class vertex_options
|
|
{
|
|
u32 value = 0;
|
|
|
|
public:
|
|
vertex_options& disable_vertex_snap(bool enable)
|
|
{
|
|
value = enable ? 1 : 0;
|
|
return *this;
|
|
}
|
|
|
|
u32 get() const
|
|
{
|
|
return value;
|
|
}
|
|
};
|
|
}
|
|
}
|