Commit graph

92 commits

Author SHA1 Message Date
wheremyfoodat
186fd3b94b Qt: Shader editor now works 2024-07-14 16:06:52 +03:00
wheremyfoodat
d87477832b Qt: Initial shader editor support 2024-07-14 15:32:26 +03:00
wheremyfoodat
5a2e554a6c
Make incomplete framebuffers warn instead of panic 2023-10-31 23:51:34 +02:00
wheremyfoodat
e900e9d614 Add Renderer::deinitGraphicsContext 2023-10-25 22:46:45 +03:00
offtkp
b5b94a3526 Add some renderer related helper functions in emulator and renderergl 2023-10-20 02:59:53 +03:00
wheremyfoodat
5155682e0f Get emulator rendering working with Qt 2023-10-01 01:28:08 +03:00
wheremyfoodat
7bbf37bb63 Implement reading texture from NULL 2023-08-18 16:19:54 +03:00
wheremyfoodat
0f5c41cd69 Add clear colour to GL state manager 2023-08-12 17:02:00 +03:00
wheremyfoodat
9e529d73f4 Partially revert depth/color buffer cache bump 2023-08-07 00:01:23 +03:00
wheremyfoodat
9d75849600 [GL] Lock Helpers::format calls behind GPU_DEBUG_INFO macro 2023-08-06 15:20:48 +03:00
GPUCode
82d9511993 gpu: Implement basic texcopy
* Improves rendering in FE:A but the screens will still not show
  because it requires surface validation
2023-08-06 14:43:30 +03:00
wheremyfoodat
0b4497302b [GSP::GPU] Proper type assertions and visibility 2023-08-04 16:36:50 +03:00
wheremyfoodat
73a18e3609 Switch out math_util.hpp 2023-08-04 16:14:41 +03:00
wheremyfoodat
952e2a06f9 Move opengl.hpp to third_party 2023-08-04 14:16:56 +03:00
wheremyfoodat
9695b57bf5 [PICA] Rework how external registers work, format 2023-08-04 00:42:11 +03:00
GPUCode
c805504f70 gpu: Add display transfer rectangles 2023-08-03 16:37:19 +03:00
GPUCode
f75a23b5a9 code: Better screen support 2023-08-02 22:26:08 +03:00
wheremyfoodat
73321856c8 Mooore 2023-07-28 03:03:10 +03:00
wheremyfoodat
adb78bf838 [GL] More state stuff 2023-07-28 01:35:49 +03:00
wheremyfoodat
64fa970468 [GL] Actually implement logic ops 2023-07-27 21:57:50 +03:00
wheremyfoodat
b4cc743608 [GL] Add stencil enable to state tracker 2023-07-27 15:34:21 +03:00
GPUCode
c6c71bb9b2 renderer_gl: Implement semi proper clears 2023-07-26 22:34:39 +03:00
GPUCode
6f7874227c renderer_gl: Implement logic op 2023-07-26 22:08:20 +03:00
wheremyfoodat
95a8917589 renderer_gl: Implement stencil testing 2023-07-26 22:05:30 +03: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
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
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
7b6cd90d36 Cleanup for #98 2023-07-15 04:56:43 +03: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
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
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
wheremyfoodat
ba1c3a8ec5 Moar HTTP 2023-07-10 11:30:09 +03:00
wheremyfoodat
c88ab423d3 doormat 2023-07-09 01:44:25 +03:00
wheremyfoodat
2bbcdfade2 Add proper warning to surface cache 2023-07-09 01:40:30 +03:00
wheremyfoodat
5e8f324ff5 Formatting 2023-07-09 00:50:16 +03:00
wheremyfoodat
b2c6a5e801
Merge pull request #86 from skylersaleh/ColorDepthCacheUpdates
Color and depth cache updates
2023-07-09 00:15:11 +03:00
wheremyfoodat
90a88eee39 Switch if to if constexpr 2023-07-08 15:00:55 +03:00
wheremyfoodat
e67b98f990 doormat 2023-07-07 12:19:04 +03:00
Sky
17b08a25fa [GPU] Converted Depth/Color Surfaces to a ring buffer
Additionally made the surface cache search hit for any address that lies in the surface.

This should allow multiple races to be done in Mario Kart and fixes the intro video.
2023-07-06 11:18:14 -07:00
Sky
255947b2fc [GPU] Add texture surface cache eviction
Implemented as a simple ring buffer evicting the oldest entry for now.
2023-07-06 08:48:37 -07:00
wheremyfoodat
feacb9359d Formatting 2023-07-05 02:59:54 +03:00
wheremyfoodat
dd3e1ea72b Ditch more uniforms 2023-07-05 01:37:18 +03:00
wheremyfoodat
c282a44c27 [OpenGL renderer] Fewer uniform uploads 2023-07-05 01:12:13 +03:00
wheremyfoodat
a3d8f777b4 PicaVertex -> PICA::Vertex 2023-07-04 23:40:47 +03:00
wheremyfoodat
b403e9a66e Start work on GL state manager object 2023-07-04 23:27:38 +03:00
Sky
12dbaeaeb0 [GL] Initial Implementation of Lighting LUTs 2023-07-02 16:14:11 -07:00
Sky
6fababb93a [GL] Pipe Pica registers and implement ambient lighting 2023-07-01 16:43:57 -07:00