UberShaderPixel: Migrate over to fmt

Completes the migration over to using the fmt-formatting WriteFmt
function. The next PR will rename all usages of WriteFmt, while
simultaneously getting rid of the old printf code.
This commit is contained in:
Lioncash 2020-10-26 16:28:57 -04:00
parent d2a2ec870d
commit dc72edf0e2
2 changed files with 886 additions and 891 deletions

View File

@ -685,9 +685,9 @@ ShaderCode GeneratePixelShaderCode(APIType api_type, const ShaderHostConfig& hos
if (use_shader_blend) if (use_shader_blend)
{ {
// Store off a copy of the initial fb value for blending // Store off a copy of the initial fb value for blending
out.Write("\tfloat4 initial_ocol0 = FB_FETCH_VALUE;\n" out.WriteFmt("\tfloat4 initial_ocol0 = FB_FETCH_VALUE;\n"
"\tfloat4 ocol0;\n" "\tfloat4 ocol0;\n"
"\tfloat4 ocol1;\n"); "\tfloat4 ocol1;\n");
} }
} }
else // D3D else // D3D
@ -1512,15 +1512,15 @@ static void WriteFog(ShaderCode& out, const pixel_shader_uid_data* uid_data)
if (uid_data->fog_RangeBaseEnabled) if (uid_data->fog_RangeBaseEnabled)
{ {
out.SetConstantsUsed(C_FOGF, C_FOGF); out.SetConstantsUsed(C_FOGF, C_FOGF);
out.Write("\tfloat offset = (2.0 * (rawpos.x / " I_FOGF ".w)) - 1.0 - " I_FOGF ".z;\n" out.WriteFmt("\tfloat offset = (2.0 * (rawpos.x / " I_FOGF ".w)) - 1.0 - " I_FOGF ".z;\n"
"\tfloat floatindex = clamp(9.0 - abs(offset) * 9.0, 0.0, 9.0);\n" "\tfloat floatindex = clamp(9.0 - abs(offset) * 9.0, 0.0, 9.0);\n"
"\tuint indexlower = uint(floatindex);\n" "\tuint indexlower = uint(floatindex);\n"
"\tuint indexupper = indexlower + 1u;\n" "\tuint indexupper = indexlower + 1u;\n"
"\tfloat klower = " I_FOGRANGE "[indexlower >> 2u][indexlower & 3u];\n" "\tfloat klower = " I_FOGRANGE "[indexlower >> 2u][indexlower & 3u];\n"
"\tfloat kupper = " I_FOGRANGE "[indexupper >> 2u][indexupper & 3u];\n" "\tfloat kupper = " I_FOGRANGE "[indexupper >> 2u][indexupper & 3u];\n"
"\tfloat k = lerp(klower, kupper, frac(floatindex));\n" "\tfloat k = lerp(klower, kupper, frac(floatindex));\n"
"\tfloat x_adjust = sqrt(offset * offset + k * k) / k;\n" "\tfloat x_adjust = sqrt(offset * offset + k * k) / k;\n"
"\tze *= x_adjust;\n"); "\tze *= x_adjust;\n");
} }
out.WriteFmt("\tfloat fog = clamp(ze - " I_FOGF ".y, 0.0, 1.0);\n"); out.WriteFmt("\tfloat fog = clamp(ze - " I_FOGF ".y, 0.0, 1.0);\n");

File diff suppressed because it is too large Load Diff