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
Sky
ca89909c00
Refactored Vertex Pipeline to always use Pica Formatted Vertex
2023-07-01 11:39:25 -07:00
fleroviux
6b610a82d6
[GPU] Move texture binding into its own method
2023-06-20 22:58:52 +02:00
fleroviux
4cb7e3625b
Merge branch 'master' of github.com:fleroviux/Panda3DS into pica-tev-emulation
2023-06-20 22:47:47 +02:00
fleroviux
9b1ed2084f
[GPU] Implement initial support for multi-texturing
2023-06-20 00:01:12 +02:00
Wunkolo
6ee3f73335
Bisect TextureFmt
and ColorFmt
...
Makes framebuffer-formats unrepresentable from texture formats while
allowing them to alias each other. Add utility functions as well that
just re-use the `TextureFmt` ones.
2023-06-18 08:22:14 -07:00
Wunkolo
134e16d8ea
Replace Texture::Formats
with PICA::ColorFmt
...
This enum was a duplicate of the PICA one. Now the PICA one is more
complete. Migrate `textureFormatToString` to be next to the enums
definition.
2023-06-18 00:10:04 -07:00
Wunkolo
5f07f77c94
Move hasStencil
to regs.hpp
2023-06-17 23:27:19 -07:00
Wunkolo
838d3f27f9
Migrate PICA-types into PICA
namespace
...
Rather than prefixing these types with `PICA`, a namespace is used instead.
2023-06-17 18:23:47 -07:00
Wunkolo
78a3f9fa23
Add PICA texel-format and topology types
...
Slowly stepping the codebase towards having renderer-agnostic types and keeping the translation of PICA-types to OpenGL/VK/DX/Software/etc to the renderer-backend.
2023-06-17 12:26:41 -07:00
fleroviux
3aeef23b2e
Merge branch 'bottom-screen' of github.com:fleroviux/Panda3DS into pica-tev-emulation
2023-06-17 12:38:33 +02:00
fleroviux
b854367676
[GPU] Move TEV uniforms update into its own method
2023-06-17 01:58:30 +02:00
wheremyfoodat
7b859ad602
Merge branch 'master' into bottom-screen
2023-06-17 02:19:30 +03:00
wheremyfoodat
936302da2a
Raise clang-format column size, make std::span support in opengl.hpp version-dependent
2023-06-16 22:06:59 +03:00