@ -6,10 +6,11 @@
|
||||
Log_SetChannel(GPU_HW_ShaderGen);
|
||||
|
||||
GPU_HW_ShaderGen::GPU_HW_ShaderGen(HostDisplay::RenderAPI render_api, u32 resolution_scale, bool true_color,
|
||||
bool texture_filtering, bool supports_dual_source_blend)
|
||||
bool scaled_dithering, bool texture_filtering, bool supports_dual_source_blend)
|
||||
: m_render_api(render_api), m_resolution_scale(resolution_scale), m_true_color(true_color),
|
||||
m_texture_filering(texture_filtering), m_glsl(render_api != HostDisplay::RenderAPI::D3D11),
|
||||
m_glsl_es(render_api == HostDisplay::RenderAPI::OpenGLES), m_supports_dual_source_blend(supports_dual_source_blend)
|
||||
m_scaled_dithering(scaled_dithering), m_texture_filering(texture_filtering),
|
||||
m_glsl(render_api != HostDisplay::RenderAPI::D3D11), m_glsl_es(render_api == HostDisplay::RenderAPI::OpenGLES),
|
||||
m_supports_dual_source_blend(supports_dual_source_blend)
|
||||
{
|
||||
if (m_glsl)
|
||||
SetGLSLVersionString();
|
||||
@ -411,6 +412,7 @@ std::string GPU_HW_ShaderGen::GenerateBatchFragmentShader(GPU_HW::BatchRenderMod
|
||||
DefineMacro(ss, "PALETTE_8_BIT", actual_texture_mode == GPU::TextureMode::Palette8Bit);
|
||||
DefineMacro(ss, "RAW_TEXTURE", raw_texture);
|
||||
DefineMacro(ss, "DITHERING", dithering);
|
||||
DefineMacro(ss, "DITHERING_SCALED", m_scaled_dithering);
|
||||
DefineMacro(ss, "TRUE_COLOR", m_true_color);
|
||||
DefineMacro(ss, "TEXTURE_FILTERING", m_texture_filering);
|
||||
DefineMacro(ss, "USE_DUAL_SOURCE", use_dual_source);
|
||||
@ -570,7 +572,11 @@ float4 SampleFromVRAM(int4 texpage, int2 icoord)
|
||||
|
||||
// Apply dithering
|
||||
#if DITHERING
|
||||
icolor = ApplyDithering(int2(v_pos.xy) / int2(RESOLUTION_SCALE, RESOLUTION_SCALE), icolor);
|
||||
#if DITHERING_SCALED
|
||||
icolor = ApplyDithering(int2(v_pos.xy), icolor);
|
||||
#else
|
||||
icolor = ApplyDithering(int2(v_pos.xy) / int2(RESOLUTION_SCALE, RESOLUTION_SCALE), icolor);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Clip to 15-bit range
|
||||
|
||||
Reference in New Issue
Block a user