Wunkolo
26c97eb716
Implement initial swapchain creation
2023-07-22 15:24:41 -07:00
Wunkolo
197e2a4bbd
Allocate present/graphics/compute/transfer queue families
2023-07-22 14:23:37 -07:00
Wunkolo
8ace959d72
Fix RendererSW initGraphicsContext
prototype
2023-07-22 13:20:57 -07:00
Wunkolo
428a9d1f1a
Fix SDL_Window
forward declaration
...
Should be struct, not class.
2023-07-22 13:16:23 -07:00
Wunkolo
c7a93c4f52
Warn on failed surface creation for vulkan
...
Vulkan can technically work just fine without presenting to the user, so
consider these failed window procedures as "warnings" during iteration.
2023-07-22 13:16:23 -07:00
Wunkolo
eff62d3de7
Disable asserts on Vulkan result codes
2023-07-22 13:16:23 -07:00
Wunkolo
b048d4dd6e
Add SDL_Window
to initGraphicsContext
prototype
...
This value is needed for vulkan to properly allocate a surface, and would benefit OpenGL to move more of its initialization code into here rather than in `emulator.cpp`.
2023-07-22 13:16:23 -07:00
Wunkolo
870b6a21bf
Add initial vulkan instance creation
...
Headlessly creates a new vulkan instance, with conditional MacOS
support, and enables the `VK_EXT_debug_utils` instance-extension with a
debug-messenger to hook onto validation layer messages.
2023-07-22 13:16:23 -07:00
Wunkolo
d2241a25bc
Stub Vulkan backend support
...
A lot of the architecture of the emulator here does not allow for vulkan
to initialize easily since it involves a bit of data to be exchanged
between SDL and Vulkan. This commit just adds the foundational linkage
and library code for vulkan support.
2023-07-22 13:16:23 -07:00
wheremyfoodat
ae4a4dfc29
Hook up sw rendering backend
2023-07-22 20:47:19 +03:00
wheremyfoodat
f328200c65
Add empty sw renderer class
2023-07-22 20:24:49 +03:00
wheremyfoodat
5dfc17ed18
Merge pull request #131 from wheremyfoodat/cheats
...
More AR stuff
2023-07-21 15:39:57 +03:00
wheremyfoodat
0588b99674
[ActionReplay] More conditional ops
2023-07-21 14:49:04 +03:00
wheremyfoodat
52314c188c
Merge pull request #130 from wheremyfoodat/cheats
...
More cheating
2023-07-21 03:56:30 +03:00
wheremyfoodat
4a45599303
[ActionReplay] Add HID stuff
2023-07-21 03:35:22 +03:00
wheremyfoodat
d007b2d780
Emulator cleanup, add AR conditionals
2023-07-21 00:55:08 +03:00
wheremyfoodat
6dad0f05d1
Merge pull request #129 from wheremyfoodat/cheats
...
Add preliminary cheat support
2023-07-20 16:28:22 +03:00
wheremyfoodat
08596c1a24
[AR] More opcodes
2023-07-20 16:10:32 +03:00
wheremyfoodat
fbcb7cee42
Merge pull request #128 from GPUCode/span-across
...
texture: Use spans
2023-07-20 16:10:00 +03:00
GPUCode
a019d98af9
texture: Use spans
2023-07-20 15:43:24 +03:00
wheremyfoodat
97f8ea6cfd
Get our first AR code running
2023-07-20 13:50:32 +03:00
wheremyfoodat
ae69c8f8c4
[Cheats] Split gateway and AR
2023-07-19 21:09:44 +03:00
wheremyfoodat
0904638df0
[Cheats] Add boilerplate
2023-07-19 20:51:45 +03:00
wheremyfoodat
5b4f6ef46c
Merge pull request #120 from Wunkolo/renderer-null
...
Add a `null` rendering backend
2023-07-18 23:26:52 +03:00
wheremyfoodat
c339c7d1c5
Bonk
2023-07-18 23:11:20 +03:00
wheremyfoodat
77b0382d0c
Cleanup, C string -> std::string
2023-07-18 22:23:28 +03:00
Wunkolo
0b60cf6901
Migrate RenderType string functions to static Renderer functions
...
Also fix some IWYU build errors
2023-07-18 10:02:07 -07:00
Wunkolo
528ed510c2
Add string-based renderer backend configuration
...
Rather than using integer-indices, just use plaintext case-insensitive
names and leave the actual enum indexes as an implementation detail.
2023-07-17 18:02:01 -07:00
wheremyfoodat
ed1b0704d6
Merge pull request #111 from wheremyfoodat/dynapand
...
Filesystem bonking
2023-07-18 01:26:17 +03:00
Wunkolo
2c57936c50
Fix EmulatorConfig
initialization order
...
`config` was being consumed much too early before it has a chance to
call `load`. This caused GPU to read weird uninitialized data, and then
`load` called, and then further initialization to occur based on default
data and the data inside of `config.toml`. `EmulatorConfig` needs to be
loaded in first before any sort of initialization happens, by adding a
new constructor so that it can be initialized sooner.
2023-07-17 10:23:19 -07:00
Wunkolo
ceff20f57f
Add configurable Renderer backend
...
There are still some initialization errors to work through, such as
config not being initialized properly by the time GPU tries to utilize
it too. Also some life-time issues. But manually forcing it to use the
Null backnd successfully works and allows games to be "played"
headlessly.
2023-07-17 10:13:34 -07:00
Wunkolo
1becbef811
Add Null rendering backend
...
Doesn't implement any functions, currently not selectable or
configurable
2023-07-17 09:34:10 -07:00
Wunkolo
b10e69de0e
Add virtual deconstructor override
...
Virtual classes need to override the base-type deconstructor so that they are proper called when referred to by their base-type.
2023-07-17 09:30:12 -07:00
wheremyfoodat
786c3e8a5c
Merge pull request #98 from Wunkolo/modular-gl
...
Allow conditional OpenGL rendering backend
2023-07-16 03:48:07 +03:00
wheremyfoodat
f43c252e55
Switch LOG2/EX2 from x87 to SSE (adjusted from Citra)
...
Co-Authored-By: merry <8682882+merryhime@users.noreply.github.com>
Co-Authored-By: Wunk <wunkolo@gmail.com>
2023-07-16 01:34:59 +03:00
wheremyfoodat
7b6cd90d36
Cleanup for #98
2023-07-15 04:56:43 +03:00
wheremyfoodat
f64c662ab9
Stop lying to people
2023-07-13 00:25:47 +03:00
wheremyfoodat
3a1a612e8b
Merge branch 'master' into dynapand
2023-07-12 21:34:29 +03:00
wheremyfoodat
42c86ac541
Better FS::ReadDirectory
2023-07-12 21:33:13 +03:00
wheremyfoodat
e00f5d21df
Merge pull request #107 from caldog20/wifimac-configmem
...
Stub reads for WIFI MAC address in ConfigMem
2023-07-11 23:56:31 +03:00
Caleb Yates
7f4746139d
Add WIFI MAC to ConfigMem and stub reads
2023-07-11 15:28:16 -05:00
Wunkolo
2f45714240
Add override
-specifier to renderer implementation
2023-07-11 11:28:06 -07:00
Wunkolo
666fd96e7f
Move color/depth format and size to Renderer interface
...
The state of these values are not specific to any rendering backend and
can be moved to be part of the interface itself
2023-07-11 11:28:06 -07:00
Wunkolo
4864c51125
Migrate OpenGL specific headers to renderer_gl
2023-07-11 11:28:06 -07:00
Wunkolo
a636a0d1da
Replace ENABLE_OPENGL
with PANDA3DS_ENABLE_OPENGL
2023-07-11 11:28:06 -07:00
Wunkolo
c53080b444
Fix HTTPServer gpu-renderer interfacing
...
Fixing some compilation issues that occur when enabling the HTTP server
2023-07-11 11:28:06 -07:00
Wunkolo
9e32b6d4bf
Remove OpenGL-specific vector-types
...
Removes dependency on the OpenGL header and rendering backen for its
`OpenGL::Vector` type in favor of a more standard array.
2023-07-11 11:27:35 -07:00
Wunkolo
2a1683ba62
Introduce "Renderer" abstraction layer
...
Adds a `renderer` class for which a rendering backend must implement and
will conditionally use OpenGL in the case that `ENABLE_GL` is enabled.
2023-07-11 11:27:35 -07:00
Wunkolo
d664d5caf0
Emulator: Conditional OpenGL compilation
2023-07-11 11:27:04 -07:00
wheremyfoodat
148232c0b2
Merge pull request #101 from SimoneN64/master
...
Don't force users to load rom from terminal
2023-07-11 20:14:17 +03:00