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
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
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
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
Wunkolo
d96289cc05
Address remaining C4244
warnings
...
Remaining warnings regarding an implicit cast from `double` to `float`.
2023-07-10 12:33:37 -07:00
Wunkolo
37b75f0928
Fix C4267
/C4244
warnings
...
Address warnings involving lossy conversions from larger integer-types into smaller integer-types
2023-07-10 12:33:37 -07:00
wheremyfoodat
ba1c3a8ec5
Moar HTTP
2023-07-10 11:30:09 +03:00
wheremyfoodat
883e1d4bd0
Madness trying to optimize assembly by reordering statements
2023-07-05 22:16:15 +03:00
wheremyfoodat
52c7783ae1
[OpenGL] Same for depth func
2023-07-05 19:08:13 +03:00
wheremyfoodat
7307bd270b
[OpenGL] Same for depth mask
2023-07-05 18:54:09 +03:00
wheremyfoodat
d80785cbb5
[OpenGL] More efficient colour mask handling
2023-07-05 18:23:14 +03: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
3e18281a99
Remove outdated comments
2023-07-05 00:46:34 +03:00
wheremyfoodat
139c8759c9
More OpenGL state management stuff
2023-07-05 00:43:49 +03:00
wheremyfoodat
a3d8f777b4
PicaVertex -> PICA::Vertex
2023-07-04 23:40:47 +03:00
wheremyfoodat
aa27389473
[GL renderer] Implement clipping planes
2023-07-04 20:33:14 +03:00
wheremyfoodat
0cc8d0d8a4
Some GLSL formatting
2023-07-04 18:47:56 +03:00