early-access version 1869

This commit is contained in:
pineappleEA
2021-07-11 22:43:19 +02:00
parent 2c7191ed4b
commit c28ecd0f43
30 changed files with 272 additions and 171 deletions

View File

@@ -297,7 +297,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarF64> {
case Shader::Backend::GLASM::Type::U32:
break;
case Shader::Backend::GLASM::Type::U64:
return format_to(ctx.out(), "{}", Common::BitCast<f64>(value.imm_u64));
return fmt::format_to(ctx.out(), "{}", Common::BitCast<f64>(value.imm_u64));
}
throw Shader::InvalidArgument("Invalid value type {}", value.type);
}

View File

@@ -6,6 +6,8 @@
#include <string>
#include <utility>
#include <vector>
#include <fmt/format.h>
#include "shader_recompiler/backend/glsl/var_alloc.h"

View File

@@ -3,7 +3,6 @@
// Refer to the license.txt file included.
#include <algorithm>
#include <bit>
#include <memory>
#include <ranges>
#include <vector>
@@ -144,7 +143,9 @@ IR::Program TranslateProgram(ObjectPool<IR::Inst>& inst_pool, ObjectPool<IR::Blo
program.is_geometry_passthrough = sph.common0.geometry_passthrough != 0;
if (program.is_geometry_passthrough) {
const auto& mask{env.GpPassthroughMask()};
program.info.passthrough.mask |= ~std::bit_cast<std::bitset<256>>(mask);
for (size_t i = 0; i < program.info.passthrough.mask.size(); ++i) {
program.info.passthrough.mask[i] = ((mask[i / 32] >> (i % 32)) & 1) == 0;
}
}
break;
}