Commit Graph

62 Commits

Author SHA1 Message Date
Dr. Chat
283b7bc1b4 GPU: Change ReadRegister/WriteRegister constants to be consistent with other numberings. 2017-07-04 20:47:22 -05:00
Dr. Chat
9dc740dcc0 GraphicsSystem: Properly support register file reads/writes, and fill in some unknown registers 2017-06-11 13:00:31 -05:00
Dr. Chat
27c16b1936 GPU: Fix incorrectly calculating the primary ringbuffer's size 2016-06-16 21:30:06 -05:00
sephiroth99
a442bb50b4 Prevent undefined behaviour with thread_safe_gl enabled.
CreateOffscreenContext already calls ClearCurrent. When it is done twice,
the global GL mutex is unlocked a second time, and undefined behavour
happens. In this particular case, a deadlock occured; unlocking the already
unlocked mutex locked it.
2016-02-11 23:50:11 -05:00
Dr. Chat
6997970d52 GraphicsSystem Save/Restore 2015-12-29 13:09:41 -08:00
Ben Vanik
6b92c1a01e Moving GPU flags to graphics_system.cc so all graphical exes get them. 2015-12-27 10:21:11 -08:00
Ben Vanik
6c95ca1cdb Moving graphics context creation around to hide actual creation.
Makes it easier to support APIs that don't have a concept of sharing.
2015-11-10 17:38:57 -08:00
Ben Vanik
5834a42ef3 Dependency injection for apu/gpu/hid. 2015-11-08 15:02:24 -08:00
Ben Vanik
b5a18b5462 Factoring out a lot of reusable GPU code from gl4/. 2015-11-08 11:54:36 -08:00
Ben Vanik
e5fbf840d2 Shuffling kernel/. 2015-09-06 18:07:52 -07:00
Ben Vanik
a478658b2c Re-disabling GPU interrupt log. 2015-09-01 20:24:19 -07:00
Ben Vanik
f5e374f9b5 Changing the way the global lock works. Some things are better, I think.
Regressions are likely.
2015-09-01 09:45:32 -07:00
Ben Vanik
b7203c2989 Logging to with a ringbuffer. Much faster. 2015-08-29 18:06:30 -07:00
Ben Vanik
756d414386 Prep for split libraries. 2015-07-16 22:26:34 -07:00
Ben Vanik
15c17459be Massive refactoring of xenia::ui and GL swap behavior.
This seems to dramatically improve most games (especially with
--vsync=false), though it may cause swap issues with others.
New code should be easier to port, and enables elemental-forms to be
drawn for any emulator UI.
2015-07-12 22:04:17 -07:00
Ben Vanik
9efccc5f4a Removing dependencies on MainWindow. 2015-07-01 08:02:22 -07:00
Ben Vanik
8c69a4df09 Cleaning up apu/ and renaming -private files to _flags.
Part of #296.
2015-06-27 11:25:56 -07:00
Ben Vanik
883126d497 Simplifying GPU creation.
Part of #296.
2015-06-27 09:11:03 -07:00
Ben Vanik
41cee3d337 Switching vsync to custom thread. 2015-05-25 21:12:27 -07:00
Ben Vanik
f88bf33b4f Moving threads to XHostThread and making shutdown not crash. 2015-05-19 22:20:49 -07:00
Ben Vanik
e3220f7ae6 Code cleanup: moving poly/ into xenia/base/ 2015-05-02 03:42:51 -07:00
Ben Vanik
99816056be Code cleanup: removing poly.h 2015-05-02 02:29:26 -07:00
Ben Vanik
30f7effa73 Code cleanup: removing common.h 2015-05-02 01:25:59 -07:00
Ben Vanik
6486299496 --flush_stdout to disable flushing. 2015-03-22 11:49:13 -07:00
Ben Vanik
130c11a2ca GPU recording (--trace_gpu=file) and playback (gpu-trace-viewer file). 2015-02-20 07:47:06 -08:00
Ben Vanik
29719b8f4d Cleaning up some line ending issues. 2015-02-09 14:10:23 -08:00
Ben Vanik
00e4a4fe1b Fix #include format. 2015-01-31 22:49:47 -08:00
Ben Vanik
dfba5943da Hide invalid interrupt dispatches. 2015-01-07 22:54:50 -08:00
Ben Vanik
f8325512d7 GL4 command processor. 2014-12-31 19:26:54 -08:00
Ben Vanik
577ab0a4f1 Main window, empty GPU files. 2014-12-31 19:26:53 -08:00
Ben Vanik
a4141e84ce Sigh. 2014-11-08 11:38:07 -08:00
Ben Vanik
21b6c93db0 Tweaking GPU callbacks. 2014-11-08 10:13:08 -08:00
Ben Vanik
fdab788017 Removing PAL. 2014-08-16 21:19:21 -07:00
Ben Vanik
f2a9fa3bf9 XECOUNT to countof. 2014-08-16 17:58:33 -07:00
Ben Vanik
01f0b14250 Removing xe_thread_t. 2014-08-16 01:36:45 -07:00
Ben Vanik
bf882714d0 Cleaning up asserts and file/line macros. 2014-07-12 16:51:52 -07:00
Ben Vanik
d5f27dbf34 Better arg passing for Execute and experimenting with APCs. 2014-07-02 15:39:49 -07:00
Ben Vanik
6e76c169d6 Proper(ish) VdSwap - fixes a bunch of things.
Caching is working a bit better, now.
2014-06-08 21:24:29 -07:00
Ben Vanik
295910c3d8 Initial refactoring of gpu/.
Runs too fast - now there are ringbuffer wrapping issues.
2014-06-08 11:23:55 -07:00
Ben Vanik
0e3854555d Pure dynamic MMIO access. Prep for more complex GPU memory management. 2014-06-01 23:36:18 -07:00
Ben Vanik
b1ab2fb0a7 That was a terrible idea. Let us never speak of it again. 2014-02-01 00:41:36 -08:00
Ben Vanik
10c9537836 Swapping register values. 2014-02-01 00:05:21 -08:00
gibbed
b6c831c7ec Wait for graphics driver to complete initialization before continuing. 2014-01-24 23:00:05 -08:00
Ben Vanik
2a7f3de1c3 Moving shutdown logic to Emulator. 2014-01-15 07:31:21 -08:00
Ben Vanik
991e7d8ad3 Refactoring window stuff. Still needs some work. 2014-01-14 22:40:02 -08:00
Ben Vanik
7969349126 Fixing some shutdown code. 2014-01-02 18:58:44 -08:00
Ben Vanik
fdb6a5cfa3 Initial Alloy implementation.
This is a regression in functionality and performance, but a much better
foundation for the future of the project (I think). It can run basic
apps under an SSA interpreter but doesn't support some of the features
required to do real 360 apps yet.
2013-12-06 22:57:16 -08:00
gibbed
faa67028ce Mystery GPU registers. 2013-10-27 18:44:20 -07:00
Ben Vanik
b7ffd46319 Massive refactoring of all code + audio skeleton.
This should make it easier to find files and (in the future) split things
up into separate libraries.
It also changes around emulator initialization to make it a little more
difficult to do things out of order and a little more sensible as to when
real init work happens.
Also adding a skeleton audio system/driver and reworking CPU register
access to be more extensible.
2013-10-23 20:42:24 -07:00
Ben Vanik
fbea5a6394 Making the GPU counter a vblank counter, not a timer. 2013-10-20 02:00:51 -07:00