shader: Address feedback + clang format

This commit is contained in:
lat9nq 2021-04-10 02:32:55 -04:00 committed by ameerj
parent 0bb85f6a75
commit 5bfcafa0a2
12 changed files with 22 additions and 24 deletions

View file

@ -197,6 +197,8 @@ else()
$<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-variable> $<$<CXX_COMPILER_ID:GNU>:-Werror=unused-but-set-variable>
-Werror=unused-variable -Werror=unused-variable
# Bracket depth determines maximum size of a fold expression in Clang since 9c9974c3ccb6.
# And this in turns limits the size of a std::array.
$<$<CXX_COMPILER_ID:Clang>:-fbracket-depth=1024> $<$<CXX_COMPILER_ID:Clang>:-fbracket-depth=1024>
) )
endif() endif()

View file

@ -304,10 +304,6 @@ Id EmitImageGatherDref(EmitContext& ctx, IR::Inst* inst, const IR::Value& index,
ctx.F32[4], Texture(ctx, index), coords, dref, operands.Mask(), operands.Span()); ctx.F32[4], Texture(ctx, index), coords, dref, operands.Mask(), operands.Span());
} }
#ifdef _WIN32
#pragma optimize("", off)
#endif
Id EmitImageFetch(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, Id coords, Id offset, Id EmitImageFetch(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, Id coords, Id offset,
Id lod, Id ms) { Id lod, Id ms) {
const auto info{inst->Flags<IR::TextureInstInfo>()}; const auto info{inst->Flags<IR::TextureInstInfo>()};

View file

@ -7,7 +7,6 @@
namespace Shader::Backend::SPIRV { namespace Shader::Backend::SPIRV {
namespace { namespace {
Id WarpExtract(EmitContext& ctx, Id value) { Id WarpExtract(EmitContext& ctx, Id value) {
[[maybe_unused]] const Id shift{ctx.Constant(ctx.U32[1], 5)};
const Id local_index{ctx.OpLoad(ctx.U32[1], ctx.subgroup_local_invocation_id)}; const Id local_index{ctx.OpLoad(ctx.U32[1], ctx.subgroup_local_invocation_id)};
return ctx.OpVectorExtractDynamic(ctx.U32[1], value, local_index); return ctx.OpVectorExtractDynamic(ctx.U32[1], value, local_index);
} }

View file

@ -49,7 +49,7 @@ constexpr std::array META_TABLE{
#define OPCODE(name_token, type_token, ...) \ #define OPCODE(name_token, type_token, ...) \
OpcodeMeta{ \ OpcodeMeta{ \
.name{#name_token}, \ .name{#name_token}, \
.type = type_token, \ .type = type_token, \
.arg_types{__VA_ARGS__}, \ .arg_types{__VA_ARGS__}, \
}, },
#include "opcodes.inc" #include "opcodes.inc"

View file

@ -44,7 +44,7 @@ void Split(Block* old_block, Block* new_block, Location pc) {
*new_block = Block{}; *new_block = Block{};
new_block->begin = pc; new_block->begin = pc;
new_block->end = old_block->end; new_block->end = old_block->end;
new_block->end_class = old_block->end_class, new_block->end_class = old_block->end_class;
new_block->cond = old_block->cond; new_block->cond = old_block->cond;
new_block->stack = old_block->stack; new_block->stack = old_block->stack;
new_block->branch_true = old_block->branch_true; new_block->branch_true = old_block->branch_true;
@ -428,7 +428,7 @@ CFG::AnalysisState CFG::AnalyzeBRX(Block* block, Location pc, Instruction inst,
if (!is_absolute) { if (!is_absolute) {
target += pc.Offset(); target += pc.Offset();
} }
target += static_cast<unsigned int>(brx_table->branch_offset); target += static_cast<u32>(brx_table->branch_offset);
target += 8; target += 8;
targets.push_back(target); targets.push_back(target);
} }

View file

@ -78,15 +78,15 @@ struct Block : boost::intrusive::set_base_hook<
Location begin; Location begin;
Location end; Location end;
EndClass end_class; EndClass end_class{};
IR::Condition cond; IR::Condition cond{};
Stack stack; Stack stack;
Block* branch_true; Block* branch_true{};
Block* branch_false; Block* branch_false{};
FunctionId function_call; FunctionId function_call{};
Block* return_block; Block* return_block{};
IR::Reg branch_reg; IR::Reg branch_reg{};
s32 branch_offset; s32 branch_offset{};
std::vector<IndirectBranch> indirect_branches; std::vector<IndirectBranch> indirect_branches;
}; };

View file

@ -56,7 +56,7 @@ constexpr std::array UNORDERED_ENCODINGS{
#define INST(name, cute, encode) \ #define INST(name, cute, encode) \
InstEncoding{ \ InstEncoding{ \
.mask_value{MaskValueFromEncoding(encode)}, \ .mask_value{MaskValueFromEncoding(encode)}, \
.opcode = Opcode::name, \ .opcode = Opcode::name, \
}, },
#include "maxwell.inc" #include "maxwell.inc"
#undef INST #undef INST

View file

@ -72,8 +72,9 @@ bool IsCompareOpOrdered(FPCompareOp op) {
} }
} }
IR::U1 FloatingPointCompare(IR::IREmitter& ir, const IR::F16F32F64& operand_1, const IR::F16F32F64& operand_2, IR::U1 FloatingPointCompare(IR::IREmitter& ir, const IR::F16F32F64& operand_1,
FPCompareOp compare_op, IR::FpControl control) { const IR::F16F32F64& operand_2, FPCompareOp compare_op,
IR::FpControl control) {
const bool ordered{IsCompareOpOrdered(compare_op)}; const bool ordered{IsCompareOpOrdered(compare_op)};
switch (compare_op) { switch (compare_op) {
case FPCompareOp::F: case FPCompareOp::F:

View file

@ -65,7 +65,6 @@ void TranslatorVisitor::CS2R(u64) {
ThrowNotImplemented(Opcode::CS2R); ThrowNotImplemented(Opcode::CS2R);
} }
void TranslatorVisitor::FCHK_reg(u64) { void TranslatorVisitor::FCHK_reg(u64) {
ThrowNotImplemented(Opcode::FCHK_reg); ThrowNotImplemented(Opcode::FCHK_reg);
} }

View file

@ -164,7 +164,8 @@ void DiscardGlobalMemory(IR::Block& block, IR::Inst& inst) {
inst.Invalidate(); inst.Invalidate();
break; break;
default: default:
throw LogicError("Invalid opcode to discard its global memory operation {}", inst.GetOpcode()); throw LogicError("Invalid opcode to discard its global memory operation {}",
inst.GetOpcode());
} }
} }

View file

@ -18,7 +18,7 @@ public:
} }
template <typename... Args> template <typename... Args>
requires std::is_constructible_v<T, Args...> [[nodiscard]] T* Create(Args&&... args) { requires std::is_constructible_v<T, Args...>[[nodiscard]] T* Create(Args&&... args) {
return std::construct_at(Memory(), std::forward<Args>(args)...); return std::construct_at(Memory(), std::forward<Args>(args)...);
} }

View file

@ -4,9 +4,9 @@
#pragma once #pragma once
#include <mutex>
#include <condition_variable>
#include <atomic> #include <atomic>
#include <condition_variable>
#include <mutex>
#include "common/common_types.h" #include "common/common_types.h"
#include "common/thread_worker.h" #include "common/thread_worker.h"