Commit Graph
429 Commits
Author SHA1 Message Date
Eugene Sandulenko aa14d59447 BACKENDS: OPENGL: Switch shaders to SearchSet 2023-01-08 01:15:51 +01:00
Eugene Sandulenko ef65534250 BACKENDS: SHADERS: Make possibility to load shaders from SearchMan 2023-01-08 01:15:44 +01:00
Cameron Cawley 7f2d9fd0fd GRAPHICS: Split conversion.cpp into multiple files 2022-12-22 23:45:14 +01:00
elasota 3496e82abc BACKENDS: Add 1-pixel border to cursors to ensure linear interpolation of edge pixels doesn't get cut off half-way. 2022-11-29 00:48:00 +01:00
Le Philousophe 77fce6614e BACKENDS: OPENGL: Disable scissor test when overlay is for games
WIthout this, the game cannot draw outside its area for subtitles.
This is exhibited when scaling is set to center.
2022-11-20 17:18:38 +01:00
Le Philousophe 87bad2cc7d COMMON: Allow games to use overlay for something else than GUI
This can be used for subtitles without changing the mouse coordinates.
2022-11-12 19:12:05 +01:00
Le Philousophe 6fa7a6f30f BACKENDS: OPENGL: Check if libretro is here before loading shader 2022-11-11 13:24:55 +01:00
Le Philousophe e5c1a4249a BACKENDS: OPENGL: When no shader is selected, close 2022-11-06 20:02:59 +01:00
Le Philousophe 52903aff8a BACKENDS: OPENGL: Close old preset before opening a new one 2022-11-06 20:02:59 +01:00
Le Philousophe a6dd037079 BACKENDS: OPENGL: Add support for previous frames in LibRetro 2022-11-06 20:02:59 +01:00
Le Philousophe 9d1910854b BACKENDS: OPENGL: Match vertex coordinates with RetroArch
This makes work shaders which ignore them.
A flip is done when rendering to output pipeline because RetroArch
renders directly on the back buffer
2022-11-06 20:02:59 +01:00
Le Philousophe 5484ebffae BACKENDS: OPENGL: Rework LibRetro pipeline
This makes LibRetro behave almost like other pipelines and make the code
in OpenGLGraphicsManager somewhat simpler.
2022-11-06 20:02:59 +01:00
Le Philousophe f9005454bd BACKENDS: OPENGL: Allow to copy render settings between framebuffers 2022-11-06 20:02:59 +01:00
Le Philousophe 70cf4e9e3e BACKENDS: OPENGL: Move framebuffer out of common activate code
This allows more control over activation process.
2022-11-06 20:02:59 +01:00
Le Philousophe 6632e909da BACKENDS: OPENGL: Hide active pipeline and activate it as needed
This removes the idea of global pipeline.
The activePipeline is kept for pipeline lifecycle management only.
2022-11-06 20:02:59 +01:00
Le Philousophe 239c115249 BACKENDS: OPENGL: Rename drawTexture override
This prevents name hiding when using directly a subclass of Pipeline
2022-11-06 20:02:59 +01:00
Le Philousophe 769fe03a4b BACKENDS: OPENGL: Use override keyword 2022-11-06 20:02:59 +01:00
Le Philousophe 9b951944bc BACKENDS: OPENGL: Activate framebuffer with a specific pipeline 2022-11-06 20:02:59 +01:00
Le Philousophe 29c25ed566 BACKENDS: OPENGL: Store projection matrix as a Matrix4
This avoids extraneous copies when dealing with Shader class.
2022-11-06 20:02:59 +01:00
Le Philousophe 2d910e353b BACKENDS: OPENGL: When closing reset _isAnimated to keep performace 2022-11-06 20:02:59 +01:00
Le Philousophe b329308b7a BACKENDS: OPENGL: Don't load a preset with no pass 2022-11-06 20:02:59 +01:00
Le Philousophe 479ef6a851 BACKENDS: OPENGL: Simplify size logic 2022-11-06 20:02:59 +01:00
Le Philousophe 96fd0b8418 BACKENDS: OPENGL: Fix missing default case 2022-11-06 20:02:59 +01:00
Le Philousophe 1859cf455d OPENGL: Use texture size of cursor instead of computing it
Computation was not correct and resulted in corrupted cursor
2022-10-29 18:08:39 +02:00
Le Philousophe 3f08b71d85 BACKENDS: OPENGL: With animated LibRetro shaders, always update screen 2022-10-22 16:51:08 +02:00
Le Philousophe 86ea6f581c BACKENDS: OPENGL: Fix cursor scaling with LibRetro 2022-10-22 16:51:08 +02:00
Le Philousophe c756415388 BACKENDS: OPENGL: Don't fail if parameter is not present in preset
RetroArch doesn't use this parameters value and looks up directly for
entries so it would never fail on this.
2022-10-17 22:19:26 +02:00
Le Philousophe ef9eb436a0 BACKENDS: OPENGL: Apply parameters globally and load the preset ones 2022-10-17 22:09:35 +02:00
Le Philousophe 396d5fb425 BACKENDS: OPENGL: ALlow the use of software scalers with LibRetro 2022-10-17 22:09:35 +02:00
Le Philousophe d398034fe5 BACKENDS: OPENGL: Enable filtering when using scaling shaders 2022-10-16 20:42:54 +02:00
Le Philousophe c257251e8f BACKENDS: OPENGL: Implement FrameCount uniform 2022-10-16 19:43:05 +02:00
Le Philousophe 8047aef666 BACKENDS: OPENGL: Add support for wrap mode in libretro 2022-10-16 19:43:05 +02:00
Le Philousophe 73f48341c0 BACKENDS: OPENGL: Allow to set texture wrapping mode 2022-10-16 19:43:05 +02:00
Le Philousophe e532e33127 BACKENDS: OPENGL: Add aliases support to libretro 2022-10-16 14:06:44 +02:00
Le Philousophe 353239a158 BACKENDS: OPENGL: Reuse existing samplers if possible
This avoids allocating samplers when one with the same texture already
exists.
2022-10-16 14:04:57 +02:00
Le Philousophe 3a31992403 BACKENDS: OPENGL: Really fix Pass# and PassPrev# uniforms 2022-10-16 14:04:39 +02:00
Le Philousophe dc3f4b4f6d BACKENDS: OPENGL: Fix Pass# and PassPrev# uniforms 2022-10-16 11:20:54 +02:00
Le Philousophe c1311ff2b2 BACKENDS: OPENGL: Add support for PassPrev# uniforms
They are not documented but used by some shaders.
They point at previous passes inputs.
2022-10-15 20:48:52 +02:00
Le Philousophe c5d64589b4 BACKENDS: OPENGL: Fix OutputSize uniforms value
The OutputSize value is the size of the FBO target and not the screen
size
2022-10-15 19:09:53 +02:00
Le Philousophe a4f8491c55 BACKENDS: OPENGL: Try to recover from shader error at startup time
Let's just retry without the shader.
2022-10-15 16:45:24 +02:00
Le Philousophe 8e88170c0d BACKENDS: OPENGL: Fix output size computation 2022-10-15 16:02:15 +02:00
Le Philousophe 27971587a5 BACKENDS: OPENGL: Proper unsigned int parsing 2022-10-15 12:31:12 +02:00
Le Philousophe 3c8b58af95 BACKENDS: OPENGL: Don't use glGetTexLevelParameteriv
This function doesn't work in GLES2
2022-10-09 17:25:35 +02:00
Le Philousophe 3a7f2aa1ee BACKENDS: OPENGL: Allow callers to check for texture setSize result 2022-10-09 17:25:35 +02:00
Le Philousophe 518b731726 BACKENDS: OPENGL: Add support for loading JPEG textures 2022-10-09 15:59:37 +02:00
Le Philousophe 939570b25a BACKENDS: OPENGL: More tolerant integer parsing 2022-10-09 11:05:13 +02:00
Le Philousophe 1b0942cda2 BACKENDS: OPENGL: Correctly compute default scales 2022-10-09 11:05:13 +02:00
Le Philousophe 51c2f471c3 BACKENDS: OPENGL: Accept different scale types with same scale
This is allowed by libretro
2022-10-09 10:00:21 +02:00
Le Philousophe 0f7fa00c9b BACKENDS: OPENGL: Fix parsing of scale_type
When scale_type was not specified, its default value was used for X and
Y instead of doing nothing
2022-10-09 09:45:03 +02:00
Le Philousophe d379af1fc0 BACKENDS: OPENGL: Properly remove comments
Before that comments at the end of a line were not stripped
2022-10-09 01:32:54 +02:00