Browse Source
Changes to avoid warnings in SSE4.2 optimized SPIR-V
pull/15/merge
Matías Locatti
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
9 additions and
0 deletions
-
src/shader_recompiler/backend/spirv/emit_spirv.cpp
|
|
|
@ -29,12 +29,21 @@ struct FuncTraits<ReturnType_ (*)(Args...)> { |
|
|
|
template <size_t I> |
|
|
|
using ArgType = std::tuple_element_t<I, std::tuple<Args...>>; |
|
|
|
}; |
|
|
|
|
|
|
|
#ifdef _MSC_VER
|
|
|
|
#pragma warning(push)
|
|
|
|
#pragma warning(disable : 4702) // Ignore unreachable code warning
|
|
|
|
#endif
|
|
|
|
|
|
|
|
template <auto func, typename... Args> |
|
|
|
void SetDefinition(EmitContext& ctx, IR::Inst* inst, Args... args) { |
|
|
|
inst->SetDefinition<Id>(func(ctx, std::forward<Args>(args)...)); |
|
|
|
} |
|
|
|
|
|
|
|
#ifdef _MSC_VER
|
|
|
|
#pragma warning(pop)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
template <typename ArgType> |
|
|
|
ArgType Arg(EmitContext& ctx, const IR::Value& arg) { |
|
|
|
if constexpr (std::is_same_v<ArgType, Id>) { |
|
|
|
|