Commit Graph
162 Commits
Author SHA1 Message Date
wheremyfoodat ef2467bc60 TEV definitions for shader generator 2024-01-18 02:59:29 +02:00
wheremyfoodat e900e9d614 Add Renderer::deinitGraphicsContext 2023-10-25 22:46:45 +03:00
offtkp 23636b22fa Hydra core 2023-10-20 19:31:55 +03:00
wheremyfoodat c10a3e7160 Make emulator output size properly configurable 2023-10-01 16:28:14 +03:00
wheremyfoodat 5155682e0f Get emulator rendering working with Qt 2023-10-01 01:28:08 +03:00
wheremyfoodatandGPUCode eade124f00 Make blank texture have an alpha of 0
Fixes Callum's face in funny game

Co-Authored-By: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-09-13 21:07:35 +03:00
wheremyfoodat 5106f251cf [SDMC] Handle ASCII paths for CreateDirectory 2023-08-20 16:53:06 +03:00
wheremyfoodat 7bbf37bb63 Implement reading texture from NULL 2023-08-18 16:19:54 +03:00
wheremyfoodat fc641a450b Add a shut up counter to GL::TextureCopy 2023-08-12 18:26:51 +03:00
wheremyfoodat 5d1a2625f5 GL: Fix logic op in display 2023-08-12 18:06:29 +03:00
wheremyfoodat 0f973a4ae4 Fix immediate mode vertex submission 2023-08-12 17:52:50 +03:00
wheremyfoodat 0f5c41cd69 Add clear colour to GL state manager 2023-08-12 17:02:00 +03:00
GPUCode 4107a84c0d renderer_gl: Avoid leaking clear color to display 2023-08-12 15:23:50 +03:00
GPUCode dc342675f5 renderer_gl: Add display transfer flip 2023-08-12 12:42:37 +03:00
GPUCode d6e5f658d6 renderer_gl: Proper viewport rendering
* I've also corrected a mistake made in the displayTransfer/textureCopy rectangles.
2023-08-12 12:42:28 +03:00
GPUCode 9417c75ca7 gsp: Fix setbufferswap framebuffer selection 2023-08-09 11:50:56 +03:00
wheremyfoodat ca3c2550f2 Fix trampling clip state 2023-08-07 00:19:16 +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 73a18e3609 Switch out math_util.hpp 2023-08-04 16:14:41 +03:00
wheremyfoodat 9695b57bf5 [PICA] Rework how external registers work, format 2023-08-04 00:42:11 +03:00
wheremyfoodat a8a76ab64d Shush warnings 2023-08-03 20:37:40 +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 c7cad054e2 Update renderer_gl.cpp 2023-07-28 03:12:28 +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 1ea0b39a3b [GL] Fix glClear call 2023-07-27 21:47:39 +03:00
wheremyfoodat 60655febba [GL] Disable scissor in clearBuffer 2023-07-27 19:39:49 +03:00
wheremyfoodat 79a341a297 [GL] Fix depth mask getting corrupted, remove dead code 2023-07-27 18:17:14 +03:00
wheremyfoodat 1d3b078dfb Convert warn to log 2023-07-27 18:01:18 +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 50bcf3b617 renderer_gl: Respect depth-stencil write flag 2023-07-26 22:13:41 +03:00
GPUCode 6f7874227c renderer_gl: Implement logic op 2023-07-26 22:08:20 +03:00
wheremyfoodatandGPUCode 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
wheremyfoodatandGitHub 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
Wunkolo a9bb11e4b3 Migrate OpenGL string-literals to embedded files
Rather than declaring a big C++ literal for these strings, they are now
proper `.vert` and `.frag` files that will become embedded into the
application at build-time. It also allows for clang-format to format the
glsl files the same as our C++ code. CMake will also automatically track
and re-embed the file if it detects that the glsl source files have
changed since the last build. Ex, making a change to
`opengl_display.frag` and compiling will automatically recompile and
link the resource-target that it is associated with.
2023-07-15 19:12:07 -07:00
wheremyfoodat a601686cb1 Pretend to know CMake 2023-07-16 00:11:07 +03:00
wheremyfoodat 7b6cd90d36 Cleanup for #98 2023-07-15 04:56:43 +03: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 5b7fa5be7e Remove redundant Renderer::screenshot definition 2023-07-11 11:28:06 -07:00
Wunkolo 0f3d77768d Fix array declarations to use block-formatting 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