mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-07-22 18:35:45 +00:00
shader: Add shader loop safety check settings
Also add a setting for enable Nsight Aftermath.
This commit is contained in:
parent
487057b8d2
commit
373f75d944
16 changed files with 183 additions and 35 deletions
|
@ -125,6 +125,12 @@ U1 IREmitter::GetPred(IR::Pred pred, bool is_negated) {
|
|||
}
|
||||
}
|
||||
|
||||
void IREmitter::SetPred(IR::Pred pred, const U1& value) {
|
||||
if (pred != IR::Pred::PT) {
|
||||
Inst(Opcode::SetPred, pred, value);
|
||||
}
|
||||
}
|
||||
|
||||
U1 IREmitter::GetGotoVariable(u32 id) {
|
||||
return Inst<U1>(Opcode::GetGotoVariable, id);
|
||||
}
|
||||
|
@ -141,8 +147,12 @@ void IREmitter::SetIndirectBranchVariable(const U32& value) {
|
|||
Inst(Opcode::SetIndirectBranchVariable, value);
|
||||
}
|
||||
|
||||
void IREmitter::SetPred(IR::Pred pred, const U1& value) {
|
||||
Inst(Opcode::SetPred, pred, value);
|
||||
U32 IREmitter::GetLoopSafetyVariable(u32 id) {
|
||||
return Inst<U32>(Opcode::GetLoopSafetyVariable, id);
|
||||
}
|
||||
|
||||
void IREmitter::SetLoopSafetyVariable(u32 id, const U32& counter) {
|
||||
Inst(Opcode::SetLoopSafetyVariable, id, counter);
|
||||
}
|
||||
|
||||
U32 IREmitter::GetCbuf(const U32& binding, const U32& byte_offset) {
|
||||
|
|
|
@ -55,6 +55,9 @@ public:
|
|||
[[nodiscard]] U32 GetIndirectBranchVariable();
|
||||
void SetIndirectBranchVariable(const U32& value);
|
||||
|
||||
[[nodiscard]] U32 GetLoopSafetyVariable(u32 id);
|
||||
void SetLoopSafetyVariable(u32 id, const U32& counter);
|
||||
|
||||
[[nodiscard]] U32 GetCbuf(const U32& binding, const U32& byte_offset);
|
||||
[[nodiscard]] Value GetCbuf(const U32& binding, const U32& byte_offset, size_t bitsize,
|
||||
bool is_signed);
|
||||
|
|
|
@ -32,6 +32,8 @@ OPCODE(GetGotoVariable, U1, U32,
|
|||
OPCODE(SetGotoVariable, Void, U32, U1, )
|
||||
OPCODE(GetIndirectBranchVariable, U32, )
|
||||
OPCODE(SetIndirectBranchVariable, Void, U32, )
|
||||
OPCODE(GetLoopSafetyVariable, U32, U32, )
|
||||
OPCODE(SetLoopSafetyVariable, Void, U32, U32, )
|
||||
OPCODE(GetCbufU8, U32, U32, U32, )
|
||||
OPCODE(GetCbufS8, U32, U32, U32, )
|
||||
OPCODE(GetCbufU16, U32, U32, U32, )
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue