wheremyfoodat
49a94a13c5
Moar shader decompiler ( #559 )
...
* Renderer: Add prepareForDraw callback
* Add fmt submodule and port shader decompiler instructions to it
* Add shader acceleration setting
* Hook up vertex shaders to shader cache
* Shader decompiler: Fix redundant compilations
* Shader Decompiler: Fix vertex attribute upload
* Shader compiler: Simplify generated code for reading and faster compilation
* Further simplify shader decompiler output
* Shader decompiler: More smallen-ing
* Shader decompiler: Get PICA uniforms uploaded to the GPU
* Shader decompiler: Readd clipping
* Shader decompiler: Actually `break` on control flow instructions
* Shader decompiler: More control flow handling
* Shader decompiler: Fix desitnation mask
* Shader Decomp: Remove pair member capture in lambda (unsupported on NDK)
* Disgusting changes to handle the fact that hw shader shaders are 2x as big
* Shader decompiler: Implement proper output semantic mapping
* Moar instructions
* Shader decompiler: Add FLR/SLT/SLTI/SGE/SGEI
* Shader decompiler: Add register indexing
* Shader decompiler: Optimize mova with both x and y masked
* Shader decompiler: Add DPH/DPHI
* Fix shader caching being broken
* PICA decompiler: Cache VS uniforms
* Simply vertex cache code
* Simplify vertex cache code
* Shader decompiler: Add loops
* Shader decompiler: Implement safe multiplication
* Shader decompiler: Implement LG2/EX2
* Shader decompiler: More control flow
* Shader decompiler: Fix JMPU condition
* Shader decompiler: Convert main function to void
* PICA: Start implementing GPU vertex fetch
* More hw VAO work
* More hw VAO work
* More GPU vertex fetch code
* Add GL Stream Buffer from Duckstation
* GL: Actually upload data to stream buffers
* GPU: Cleanup immediate mode handling
* Get first renders working with accelerated draws
* Shader decompiler: Fix control flow analysis bugs
* HW shaders: Accelerate indexed draws
* Shader decompiler: Add support for compilation errors
* GLSL decompiler: Fall back for LITP
* Add Renderdoc scope classes
* Fix control flow analysis bug
* HW shaders: Fix attribute fetch
* Rewriting hw vertex fetch
* Stream buffer: Fix copy-paste mistake
* HW shaders: Fix indexed rendering
* HW shaders: Add padding attributes
* HW shaders: Avoid redundant glVertexAttrib4f calls
* HW shaders: Fix loops
* HW shaders: Make generated shaders slightly smaller
* Fix libretro build
* HW shaders: Fix android
* Remove redundant ubershader checks
* Set accelerate shader default to true
* Shader decompiler: Don't declare VS input attributes as an array
* Change ubuntu-latest to Ubuntu 24.04 because Microsoft screwed up their CI again
* fix merge conflict bug
2024-10-19 16:53:51 +03:00
wheremyfoodat
fa9ce5fc70
GLES: Implement logic ops via fb fetch ( #608 )
...
* GLES: Implement logic ops via fb fetch
* Attempt to fix deprecated libglx-mesa0 package
* Update Qt_Build.yml
* GLES: Enable fb fetch instead of requiring it
* GLES: Add support for GL_ARM_shader_framebuffer_fetch
* Fix GL_EXT_shader_framebuffer_fetch behavior
2024-10-14 00:17:24 +03:00
wheremyfoodat
a0e506affc
Share fragment UBO between shadergen programs
2024-07-25 19:51:29 +03:00
offtkp
4176a19256
Fog in ubershader
2024-07-21 17:38:07 +03:00
wheremyfoodat
f219432c6a
Renderer GL: Don't leak shader/UBO handles
2024-07-20 23:18:52 +03:00
wheremyfoodat
69c79a7f6c
Ubershader: Add lighting shadergen override
2024-07-20 03:40:50 +03:00
wheremyfoodat
5c1e2912a3
Shadergen: Minimize shader compilation time by caching the default VS
2024-07-19 14:35:01 +03:00
wheremyfoodat
cab30494f6
Merge pull request #531 from OFFTKP/pandra
...
Improve lighting
2024-07-18 00:38:55 +00:00
wheremyfoodat
aad7bb817e
Add setting for ubershaders
2024-07-17 02:25:38 +03:00
wheremyfoodat
a4ec770587
Add UBO/BlendEquation/BlendFunc to GL state manager
2024-07-17 01:32:55 +03:00
wheremyfoodat
2cd50e7f37
Clean up ubershader code
2024-07-15 15:11:23 +03:00
wheremyfoodat
c8eb1c1128
Shader recompiler: Add UBO
2024-07-15 04:10:55 +03:00
wheremyfoodat
c73758959b
Merge branch 'master' into specialized-shaders-2
2024-07-14 23:57:12 +03:00
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
offtkp
a3886a948f
Switch to GL_TEXTURE_2D for lighting LUT
2024-07-09 20:51:09 +03:00
wheremyfoodat
842943fa4c
GLSL shader gen: Add alpha test (...half of it I guess)
2024-05-13 00:51:40 +03:00
wheremyfoodat
67fe3214fe
Add shader cache
2024-03-02 20:41:23 +02:00
wheremyfoodat
fdfb012aa1
GL: Add RendererGL::getSpecializedShader
2024-02-29 01:28:00 +02:00
wheremyfoodat
ef2467bc60
TEV definitions for shader generator
2024-01-18 02:59:29 +02: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