summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Assets/ShaderAsset.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoCommon/Assets/ShaderAsset.cpp')
-rw-r--r--Source/Core/VideoCommon/Assets/ShaderAsset.cpp124
1 files changed, 62 insertions, 62 deletions
diff --git a/Source/Core/VideoCommon/Assets/ShaderAsset.cpp b/Source/Core/VideoCommon/Assets/ShaderAsset.cpp
index 67622f20a7..88fc841d9b 100644
--- a/Source/Core/VideoCommon/Assets/ShaderAsset.cpp
+++ b/Source/Core/VideoCommon/Assets/ShaderAsset.cpp
@@ -299,71 +299,71 @@ void PixelShaderData::ToJson(picojson::object& obj, const PixelShaderData& data)
for (const auto& [name, property] : data.m_properties)
{
picojson::object json_property;
- json_property["code_name"] = picojson::value{name};
- json_property["description"] = picojson::value{property.m_description};
+ json_property.emplace("code_name", name);
+ json_property.emplace("description", property.m_description);
- std::visit(
- overloaded{[&](const ShaderProperty::Sampler2D& default_value) {
- json_property["type"] = picojson::value{"sampler2d"};
- json_property["default"] = picojson::value{default_value.value};
- },
- [&](const ShaderProperty::Sampler2DArray& default_value) {
- json_property["type"] = picojson::value{"sampler2darray"};
- json_property["default"] = picojson::value{default_value.value};
- },
- [&](const ShaderProperty::SamplerCube& default_value) {
- json_property["type"] = picojson::value{"samplercube"};
- json_property["default"] = picojson::value{default_value.value};
- },
- [&](s32 default_value) {
- json_property["type"] = picojson::value{"int"};
- json_property["default"] = picojson::value{static_cast<double>(default_value)};
- },
- [&](const std::array<s32, 2>& default_value) {
- json_property["type"] = picojson::value{"int2"};
- json_property["default"] = picojson::value{ToJsonArray(default_value)};
- },
- [&](const std::array<s32, 3>& default_value) {
- json_property["type"] = picojson::value{"int3"};
- json_property["default"] = picojson::value{ToJsonArray(default_value)};
- },
- [&](const std::array<s32, 4>& default_value) {
- json_property["type"] = picojson::value{"int4"};
- json_property["default"] = picojson::value{ToJsonArray(default_value)};
- },
- [&](float default_value) {
- json_property["type"] = picojson::value{"float"};
- json_property["default"] = picojson::value{static_cast<double>(default_value)};
- },
- [&](const std::array<float, 2>& default_value) {
- json_property["type"] = picojson::value{"float2"};
- json_property["default"] = picojson::value{ToJsonArray(default_value)};
- },
- [&](const std::array<float, 3>& default_value) {
- json_property["type"] = picojson::value{"float3"};
- json_property["default"] = picojson::value{ToJsonArray(default_value)};
- },
- [&](const std::array<float, 4>& default_value) {
- json_property["type"] = picojson::value{"float4"};
- json_property["default"] = picojson::value{ToJsonArray(default_value)};
- },
- [&](const ShaderProperty::RGB& default_value) {
- json_property["type"] = picojson::value{"rgb"};
- json_property["default"] = picojson::value{ToJsonArray(default_value.value)};
- },
- [&](const ShaderProperty::RGBA& default_value) {
- json_property["type"] = picojson::value{"rgba"};
- json_property["default"] = picojson::value{ToJsonArray(default_value.value)};
- },
- [&](bool default_value) {
- json_property["type"] = picojson::value{"bool"};
- json_property["default"] = picojson::value{default_value};
- }},
- property.m_default);
+ std::visit(overloaded{[&](const ShaderProperty::Sampler2D& default_value) {
+ json_property.emplace("type", "sampler2d");
+ json_property.emplace("default", default_value.value);
+ },
+ [&](const ShaderProperty::Sampler2DArray& default_value) {
+ json_property.emplace("type", "sampler2darray");
+ json_property.emplace("default", default_value.value);
+ },
+ [&](const ShaderProperty::SamplerCube& default_value) {
+ json_property.emplace("type", "samplercube");
+ json_property.emplace("default", default_value.value);
+ },
+ [&](s32 default_value) {
+ json_property.emplace("type", "int");
+ json_property.emplace("default", static_cast<double>(default_value));
+ },
+ [&](const std::array<s32, 2>& default_value) {
+ json_property.emplace("type", "int2");
+ json_property.emplace("default", ToJsonArray(default_value));
+ },
+ [&](const std::array<s32, 3>& default_value) {
+ json_property.emplace("type", "int3");
+ json_property.emplace("default", ToJsonArray(default_value));
+ },
+ [&](const std::array<s32, 4>& default_value) {
+ json_property.emplace("type", "int4");
+ json_property.emplace("default", ToJsonArray(default_value));
+ },
+ [&](float default_value) {
+ json_property.emplace("type", "float");
+ json_property.emplace("default", static_cast<double>(default_value));
+ },
+ [&](const std::array<float, 2>& default_value) {
+ json_property.emplace("type", "float2");
+ json_property.emplace("default", ToJsonArray(default_value));
+ },
+ [&](const std::array<float, 3>& default_value) {
+ json_property.emplace("type", "float3");
+ json_property.emplace("default", ToJsonArray(default_value));
+ },
+ [&](const std::array<float, 4>& default_value) {
+ json_property.emplace("type", "float4");
+ json_property.emplace("default", ToJsonArray(default_value));
+ },
+ [&](const ShaderProperty::RGB& default_value) {
+ json_property.emplace("type", "rgb");
+ json_property.emplace("default", ToJsonArray(default_value.value));
+ },
+ [&](const ShaderProperty::RGBA& default_value) {
+ json_property.emplace("type", "rgba");
+ json_property.emplace("default", ToJsonArray(default_value.value));
+ },
+ [&](bool default_value) {
+ json_property.emplace("type", "bool");
+ json_property.emplace("default", default_value);
+ }},
+ property.m_default);
- json_properties.push_back(picojson::value{json_property});
+ json_properties.emplace_back(std::move(json_property));
}
- obj["properties"] = picojson::value{json_properties};
+
+ obj.emplace("properties", std::move(json_properties));
}
std::span<const std::string_view> ShaderProperty::GetValueTypeNames()