Commit Graph

174 Commits

Author SHA1 Message Date
Anthony Pesch ef972acc5b replaced virtual RuntimeBlock class with RuntimeBlock struct to be easier to call from emitted assembly
added return status to AssembleBlock to notify when the codegen overflows its output buffer
added Reset() method to cpu backends
2015-08-26 21:27:45 -07:00
Anthony Pesch dbdc15dcab clear clabel definition lists in LabelManager::reset, https://github.com/herumi/xbyak/pull/27 2015-08-17 04:31:10 -07:00
Anthony Pesch 3866668031 added random access iterator to RingBuffer
added Insert method to RingBuffer
added unit tests for RingBuffer
updated RegisterAllocationPass to use RingBuffer
2015-08-16 02:19:00 -07:00
Anthony Pesch 5917fd2090 all values are available in registers now, remove load from local support from backends 2015-08-15 00:55:25 -07:00
Anthony Pesch 1928ad7689 refactored register allocation, added live interval splitting 2015-08-15 00:55:20 -07:00
Anthony Pesch d14282b225 use FPU state when emitting IR 2015-08-13 15:57:22 -07:00
Anthony Pesch 8049d63221 fix for LDCRBANK / STCRBANK 2015-08-13 15:55:36 -07:00
Anthony Pesch 6f4aebf144 preserve registers when emitting delay slots 2015-08-13 15:44:19 -07:00
Anthony Pesch 5a0642d0a5 don't reuse IR values across blocks 2015-08-12 23:41:31 -07:00
Anthony Pesch accd4a682c remove now unused Memory::Alloc function 2015-08-10 23:03:13 -07:00
Anthony Pesch 4d83c7402d remove old 32-bit build support 2015-08-10 22:40:02 -07:00
Anthony Pesch f20accb947 remove force32 hack from Memory, let users coerce 2015-08-10 22:02:21 -07:00
Anthony Pesch bd678e4667 don't call into Memory class for loads / stores to constant addresses 2015-08-10 20:39:30 -07:00
Anthony Pesch 4ec98dfa42 add static Memory r/w functions that can easily be called when emitting 2015-08-10 18:54:19 -07:00
Anthony Pesch e26ceb9b04 fix crash when pressing keys that aren't in key map 2015-08-10 15:34:24 -07:00
Anthony Pesch d6af27a548 remove area7 memory from SH4Context 2015-08-10 15:34:24 -07:00
Anthony Pesch b75d293407 removed SH4 pointer from SH4Context 2015-08-10 15:34:23 -07:00
Anthony Pesch 2d208fafe1 remove constant caching now that GVN pass is history 2015-08-10 15:34:23 -07:00
Anthony Pesch 2a1f16f377 don't lazily allocate a 512mb chunk of memory
consolidate address enums into memory.h
2015-08-10 15:34:16 -07:00
Anthony Pesch f651cc2c10 added profiler call in SH4::Execute 2015-08-10 01:11:17 -07:00
Anthony Pesch f7bfd82ba2 generalized a few more operations in x64 emitter
added stricter checks in x64 emitter
2015-08-10 01:03:42 -07:00
Anthony Pesch 89f483dcc4 updated xbyak dependency and removed Xbyak::Address equality workaround 2015-08-09 21:15:45 -07:00
Anthony Pesch 1c9ffda354 enable runtime profiler groups by default 2015-08-09 20:59:35 -07:00
Anthony Pesch 7ba4d9feb8 fix broken ContextPromotionPass, had accidentally used vector::resize instead of vector::reserve and fundamentally broke the pass 2015-08-09 16:10:47 -07:00
Anthony Pesch f2ea7c134f temporary patch for issue in xbyak where Xbyak::Address objects are equal when displacement is different 2015-08-09 14:18:05 -07:00
Anthony Pesch fa7f4e9411 added GetTmpRegister / GetTmpXMMRegister 2015-08-09 14:18:05 -07:00
Anthony Pesch f54e998ccf added Dump to RuntimeBlock 2015-08-09 14:18:05 -07:00
Anthony Pesch 9ad1ea9de0 added profiler calls for each pass, cleaned up log spam 2015-08-07 14:06:44 -07:00
Anthony Pesch 595da1d481 use arena allocated label objects for branches in xbyak 2015-08-07 13:30:50 -07:00
Anthony Pesch 6b1322b138 updated crazy taxi 2 video link with new progress video 2015-08-07 02:39:00 -07:00
Anthony Pesch 45d9b6cb20 clip fix as a consequence of the perspective texture mapping 2015-08-07 02:39:00 -07:00
Anthony Pesch 9573b674fa mipmap texture support 2015-08-07 02:38:56 -07:00
Anthony Pesch 89f9a9ffe9 perspective correct texture mapping 2015-08-06 11:51:51 -07:00
Anthony Pesch cb2b72e1dd fix default depth testing state in gl_backend
tighten up some of the asserts in the trace viewer
2015-08-05 02:18:54 -07:00
Anthony Pesch 7039767d9f don't reset global face_color / face_offset_color when parsing polys 2015-08-05 01:32:50 -07:00
Anthony Pesch 50bb4fc09b hardcode background poly xyz 2015-08-04 23:22:20 -07:00
Anthony Pesch b962fa9866 clean up resources on TracReader / TraceWriter when being called a second time 2015-08-04 22:56:06 -07:00
Anthony Pesch 2111dc13f8 remove unnecessary using statement 2015-08-04 22:37:19 -07:00
Anthony Pesch 7bb52847a1 trace viewer first pass 2015-08-04 20:13:55 -07:00
Anthony Pesch d70979250d split up TileAccelerator into TileAccelerator / TileRenderer in preparation for trace viewer 2015-08-03 16:07:10 -07:00
Anthony Pesch 2fa28ff4f6 added back vram to PVR2 in preparation for trace viewer 2015-08-01 23:00:03 -07:00
Anthony Pesch f8d3bdd51f added Crazy Taxi 2 video 2015-08-01 01:24:20 -07:00
Anthony Pesch 27b8e37111 flatten holly hierarchy so Emulator has direct access 2015-08-01 01:15:35 -07:00
Anthony Pesch 1000fb6b2b added screenshot to readme 2015-07-31 22:37:46 -07:00
Anthony Pesch 22427918b2 added filesystem.cc
removed unused hash.h
updated readme with GCC 4.9 notes
ran clang-format on src/
2015-07-31 22:37:42 -07:00
Anthony Pesch 155fac6794 added default build type
removed helper Makefile
2015-07-31 21:02:21 -07:00
Anthony Pesch 113c1a9db6 added initial README 2015-07-31 21:02:14 -07:00
Anthony Pesch ba6d604c22 don't emit mov(mem, mem) 2015-07-31 21:01:00 -07:00
Anthony Pesch 0238f4f439 gcc compilation fixes 2015-07-31 21:01:00 -07:00
Anthony Pesch 1be34cd13c parameterize boot parameters 2015-07-31 21:00:55 -07:00