mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-05-12 21:58:34 +02:00
tes1
This commit is contained in:
parent
01e7b027bb
commit
2ca25275c0
3 changed files with 9 additions and 12 deletions
|
|
@ -89,9 +89,8 @@ A64EmitX64::BlockDescriptor A64EmitX64::Emit(IR::Block& block) noexcept {
|
||||||
code.align();
|
code.align();
|
||||||
const auto* const entrypoint = code.getCurr();
|
const auto* const entrypoint = code.getCurr();
|
||||||
|
|
||||||
code.push(rbp);
|
// code.mov(code.qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, abi_base_pointer)], rbp);
|
||||||
code.mov(rbp, rsp);
|
// code.lea(rbp, code.ptr[rsp + ABI_SHADOW_SPACE - 8]);
|
||||||
code.and_(rsp, -16);
|
|
||||||
|
|
||||||
DEBUG_ASSERT(block.GetCondition() == IR::Cond::AL);
|
DEBUG_ASSERT(block.GetCondition() == IR::Cond::AL);
|
||||||
typedef void (EmitX64::*EmitHandlerFn)(EmitContext& context, IR::Inst* inst);
|
typedef void (EmitX64::*EmitHandlerFn)(EmitContext& context, IR::Inst* inst);
|
||||||
|
|
@ -147,6 +146,9 @@ finish_this_inst:
|
||||||
if (conf.enable_cycle_counting) {
|
if (conf.enable_cycle_counting) {
|
||||||
EmitAddCycles(block.CycleCount());
|
EmitAddCycles(block.CycleCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//code.mov(rbp, code.qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, abi_base_pointer)]);
|
||||||
|
|
||||||
EmitTerminal(block.GetTerminal(), ctx.Location().SetSingleStepping(false), ctx.IsSingleStep());
|
EmitTerminal(block.GetTerminal(), ctx.Location().SetSingleStepping(false), ctx.IsSingleStep());
|
||||||
code.int3();
|
code.int3();
|
||||||
|
|
||||||
|
|
@ -251,9 +253,6 @@ void A64EmitX64::GenTerminalHandlers() {
|
||||||
}
|
}
|
||||||
code.and_(code.ABI_PARAM1.cvt32(), fast_dispatch_table_mask);
|
code.and_(code.ABI_PARAM1.cvt32(), fast_dispatch_table_mask);
|
||||||
code.lea(code.ABI_RETURN, code.ptr[code.ABI_PARAM2 + code.ABI_PARAM1]);
|
code.lea(code.ABI_RETURN, code.ptr[code.ABI_PARAM2 + code.ABI_PARAM1]);
|
||||||
|
|
||||||
code.mov(rsp, rbp);
|
|
||||||
code.pop(rbp);
|
|
||||||
code.ret();
|
code.ret();
|
||||||
PerfMapRegister(fast_dispatch_table_lookup, code.getCurr(), "a64_fast_dispatch_table_lookup");
|
PerfMapRegister(fast_dispatch_table_lookup, code.getCurr(), "a64_fast_dispatch_table_lookup");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,13 +22,11 @@ constexpr size_t SpillCount = 64;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct alignas(16) StackLayout {
|
struct alignas(16) StackLayout {
|
||||||
|
u64 abi_base_pointer;
|
||||||
s64 cycles_remaining;
|
s64 cycles_remaining;
|
||||||
s64 cycles_to_run;
|
s64 cycles_to_run;
|
||||||
|
|
||||||
std::array<std::array<u64, 2>, SpillCount> spill;
|
std::array<std::array<u64, 2>, SpillCount> spill;
|
||||||
|
|
||||||
u32 save_host_MXCSR;
|
u32 save_host_MXCSR;
|
||||||
|
|
||||||
bool check_bit;
|
bool check_bit;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ foreach(SOURCE_FILE IN ITEMS ${SHADER_FILES})
|
||||||
${SOURCE_FILE}
|
${SOURCE_FILE}
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${INPUT_FILE}
|
${INPUT_FILE}
|
||||||
${SHADER_DIR}
|
# ${SHADER_DIR}
|
||||||
# HEADER_GENERATOR should be included here but msbuild seems to assume it's always modified
|
# HEADER_GENERATOR should be included here but msbuild seems to assume it's always modified
|
||||||
)
|
)
|
||||||
set(SHADER_HEADERS ${SHADER_HEADERS} ${SOURCE_HEADER_FILE})
|
set(SHADER_HEADERS ${SHADER_HEADERS} ${SOURCE_HEADER_FILE})
|
||||||
|
|
@ -151,8 +151,8 @@ foreach(SOURCE_FILE IN ITEMS ${SHADER_FILES})
|
||||||
${GLSLANGVALIDATOR} -V ${QUIET_FLAG} -I"${FIDELITYFX_INCLUDE_DIR}" ${GLSL_FLAGS} --variable-name ${SPIRV_VARIABLE_NAME} -o ${SPIRV_HEADER_FILE} ${SOURCE_FILE} --target-env ${SPIR_V_VERSION}
|
${GLSLANGVALIDATOR} -V ${QUIET_FLAG} -I"${FIDELITYFX_INCLUDE_DIR}" ${GLSL_FLAGS} --variable-name ${SPIRV_VARIABLE_NAME} -o ${SPIRV_HEADER_FILE} ${SOURCE_FILE} --target-env ${SPIR_V_VERSION}
|
||||||
MAIN_DEPENDENCY
|
MAIN_DEPENDENCY
|
||||||
${SOURCE_FILE}
|
${SOURCE_FILE}
|
||||||
DEPENDS
|
#DEPENDS
|
||||||
${SHADER_DIR}
|
# ${SHADER_DIR}
|
||||||
)
|
)
|
||||||
set(SHADER_HEADERS ${SHADER_HEADERS} ${SPIRV_HEADER_FILE})
|
set(SHADER_HEADERS ${SHADER_HEADERS} ${SPIRV_HEADER_FILE})
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue