Commit Graph

902 Commits

Author SHA1 Message Date
Anthony Pesch 2eeccfe459 arg1 is not optional for CALL_COND 2017-07-04 22:43:39 -04:00
Anthony Pesch 0d4297c587 clean up caller-saved register saving in load store thunks 2017-07-03 22:49:55 -04:00
Anthony Pesch 1178631ed4 use c-style casts in x64 backend 2017-07-03 11:47:41 -04:00
Anthony Pesch 74710d15b6 support imm data arguments to STORE_*
validate type constraints to emitter functions
2017-07-02 17:46:27 -04:00
Anthony Pesch 293e98d084 legalize constants during register allocation 2017-07-02 00:32:07 -04:00
Anthony Pesch 8cae09a03b added caller-saved register support 2017-07-01 16:25:40 -04:00
Anthony Pesch afb1461347 standardized register names in emitters
use macros for terseness
2017-07-01 16:25:40 -04:00
Anthony Pesch 64112dda9a initial take at adding constraints to emitter functions 2017-07-01 16:25:40 -04:00
Anthony Pesch 5e9386e6aa removed unused ir op 2017-07-01 16:25:40 -04:00
Anthony Pesch 2b0bb8573a ensure -Wall comes before -Wno-* 2017-07-01 16:25:40 -04:00
Anthony Pesch 8ddd9bc9f5 update DMA status registers immediately, not when the interrupt timer ends.
this avoids games trying to suspend the DMA transfers due to a lack of
progress
2017-07-01 16:25:40 -04:00
Anthony Pesch fac45b83d1 pass COMPILER_* variables as preprocessor defines 2017-07-01 16:25:40 -04:00
Anthony Pesch d392e2dfe5 break out of emu_run_frame loop based on vblank event, not render event. this
fixes games which render a loading / notice screen once (not every frame) and
don't render again until the user presses a button
2017-07-01 16:25:40 -04:00
Anthony Pesch 7e16a14c85 convert incoming TA surfaces from tristrips to triangles
merge incoming TA surfaces when possible
2017-07-01 16:25:40 -04:00
Anthony Pesch fe44f0a320 don't push empty surfaces for modifier volumes 2017-07-01 16:25:40 -04:00
Anthony Pesch aacd2bff96 fix issue where data is fetched before ea is calculated in movbm, movwm and movlm instructions 2017-07-01 16:25:40 -04:00
Anthony Pesch f2ceb7f637 use the host clock to smooth out frame timings when audio latency is high 2017-07-01 16:25:39 -04:00
Anthony Pesch 089c3016cc remove inter-frame input polling 2017-07-01 16:17:21 -04:00
Anthony Pesch 2c0ea5efb4 added temporary options 2017-07-01 16:17:20 -04:00
Anthony Pesch 917674d94c moved trace.c 2017-07-01 16:17:20 -04:00
Anthony Pesch 61d811d40c removed extended basic block functionality from optimization passes 2017-07-01 16:17:20 -04:00
Anthony Pesch 35bb07e3d8 add VIXL_CODE_BUFFER_STATIC to vixl 2017-06-24 19:50:35 -04:00
Anthony Pesch 9798c090e6 remove uintptr_t use in x64 backend
use register aliases in x64 dispatch
2017-06-23 21:47:04 -04:00
Anthony Pesch 780cafe47c split up x64 backend into x64_emitters.cc 2017-06-22 16:18:22 -04:00
Anthony Pesch 9caab96c91 added individual contributor license agreement 2017-06-22 14:33:15 -04:00
Anthony Pesch c36d27296e added vixl to build 2017-06-21 23:54:37 -04:00
Anthony Pesch f4b2f3204e rename ARM64 to A64 2017-06-21 21:01:35 -04:00
Anthony Pesch 6fc97d1895 avoid submitting vertices from discarded surfaces 2017-06-21 01:08:56 -04:00
Anthony Pesch 573dae0af4 allocated a 24-bit depth buffer with SDL
force highp for fragment depth calculations
2017-06-21 00:43:18 -04:00
Anthony Pesch 359c8cae69 add some debug code for calling interpreter fallbacks when emitting sh4 ir 2017-06-20 22:12:17 -04:00
Anthony Pesch e50174f222 add arm64 support to linux exception handler 2017-06-20 21:35:15 -04:00
Anthony Pesch dad219f7fa pass SDL_GL_GetProcAddress to glad's loader to avoid it having to locate the shared library as well
set correct window width / height for android
set correct app dir for android
2017-06-20 18:32:54 -04:00
Anthony Pesch 185253e486 add android support to logging 2017-06-19 23:41:03 -04:00
Anthony Pesch 62eb6dea1e initial android support 2017-06-19 23:03:19 -04:00
Anthony Pesch 0db8ef1da6 remove glew source 2017-06-19 20:37:11 -04:00
Anthony Pesch c4ee274d88 replace glew with glad 2017-06-19 20:36:53 -04:00
Anthony Pesch 4975f8f5b6 make high-level gdrom_* functions return C data structures in LE 2017-06-19 18:58:02 -04:00
Anthony Pesch 759234d607 prefix gdrom enums with GD_ 2017-06-19 00:36:30 -04:00
Anthony Pesch 507ef27a61 honor VO_CONTROL when calculating video resolution 2017-06-18 23:21:56 -04:00
Michael T. DeGuzis 32205f7204 avoid having an empty struct in c (#99)
* Fixes ##98
* Thanks inolen!
2017-06-18 23:07:13 -04:00
Anthony Pesch 9d0ce3700a fix gdrom GET_TOC response 2017-06-18 22:22:21 -04:00
Anthony Pesch dc698f8d67 implemented SLEEP instruction for sh4 2017-06-18 21:39:45 -04:00
Anthony Pesch cb6b7bb765 add default handlers for all invalid memory accesses
set arm wave ram to 2mb instead of 8mb
don't mirror arm memory
emit invalid instruction ops in armv3 frontend
be careful to emit blocks even when end address overflows
2017-06-18 18:01:24 -04:00
Anthony Pesch c0a5f7279a fix retest bit rot 2017-06-18 17:59:57 -04:00
Anthony Pesch fa25be88bb nop on writes to SB_ISTEXT; external interrupts can only be cleared by the external device itself 2017-06-18 13:37:58 -04:00
Anthony Pesch 324c4fdfc8 fix end address calculation in sh4_frontend_dump_code 2017-06-17 22:32:32 -04:00
Anthony Pesch 859e674cf2 support reading from CDDA tracks for CDI images
don't assert when leadin fad does not equal 45150
2017-06-17 22:31:08 -04:00
Anthony Pesch 5788206595 flush stdout before issuing debugbreak 2017-06-17 22:25:17 -04:00
Anthony Pesch 90f610a7d2 remove unused FindClangTidy script 2017-06-17 18:56:40 -04:00
Anthony Pesch 4f7729829f remove debug_break.h 2017-06-17 18:51:11 -04:00