270 Commits

Author SHA1 Message Date
libretroadmin
44238e909f Consistent viewport naming conventions 2024-12-24 22:50:51 +01:00
Antonio Orefice
2a56a827e8
Add Frametime Uniforms (#17155)
* Initial implementation of CoreAspect uniform

* float -> float_t

* Possibly fix wii_u building

* vulkan: use float instead of float_t;

* slangp: Advertise support of CoreAspect uniform
by defining _RARCH_HAS_COREASPECT_UNIFORM early in the shader source, just after "#extension GL_GOOGLE_cpp_style_line_directive : require"

* CoreAspect + glsl fix: use glUniform1f()

* Add CoreAspectRot uniform.
It reports CoreAspect value or 1/CoreAspect when the content is rotated by 90 or 270 deg.

* Fixed stupid typo

* Just use _HAS_COREASPECT_UNIFORMS to check for CoreAspect uniforms support (was _RARCH_HAS_COREASPECT_UNIFORMS)

* Rename CoreAspect, CoreAspectRot, _HAS_COREASPECT_UNIFORMS to OriginalAspect, OriginlAspectRot, _HAS_ORIGINALASPECT_UNIFORMS

* GLCore: void Pass::build_semantic_float needs glUniform1f.
...how on earth did it worked for UBO !?

* d3d10,11,12, wrong function called by overlook.

* Add test shader, will remove that before PR

* Fix metal rotated aspect reporting

* remove test shader

* Fix C89 Build

* Use OriginalAspectRotated instead of OriginalAspectRot

* Add CoreFPS and FrameTimeDelta Uniforms.
_HAS_ORIGINALASPECT_UNIFORMS is (#)defined and can be used to query for them.

* add test shader

* remote test shader

* Wrong paste.

* gx2: use float

* wrong indentation

* resolved merge conflict

* fix indentation

* Fix comment/Formatting

* Change uniform name from CoreFPS to OriginalFPS

* underliyng references: core_fps -> original_fps
2024-11-12 19:50:59 -08:00
Antonio Orefice
da5ecaa45a
Add OriginalAspect and OriginalAspectRot uniforms (#17123)
* Initial implementation of CoreAspect uniform

* float -> float_t

* Possibly fix wii_u building

* vulkan: use float instead of float_t;

* slangp: Advertise support of CoreAspect uniform
by defining _RARCH_HAS_COREASPECT_UNIFORM early in the shader source, just after "#extension GL_GOOGLE_cpp_style_line_directive : require"

* CoreAspect + glsl fix: use glUniform1f()

* Add CoreAspectRot uniform.
It reports CoreAspect value or 1/CoreAspect when the content is rotated by 90 or 270 deg.

* Fixed stupid typo

* Just use _HAS_COREASPECT_UNIFORMS to check for CoreAspect uniforms support (was _RARCH_HAS_COREASPECT_UNIFORMS)

* Rename CoreAspect, CoreAspectRot, _HAS_COREASPECT_UNIFORMS to OriginalAspect, OriginlAspectRot, _HAS_ORIGINALASPECT_UNIFORMS

* GLCore: void Pass::build_semantic_float needs glUniform1f.
...how on earth did it worked for UBO !?

* d3d10,11,12, wrong function called by overlook.

* Add test shader, will remove that before PR

* Fix metal rotated aspect reporting

* remove test shader

* Fix C89 Build

* Use OriginalAspectRotated instead of OriginalAspectRot
2024-11-02 04:04:12 -07:00
libretroadmin
14b1af9e1a Revert "Start reducing size of video_shader_pass struct to reduce"
This reverts commit 0ab10f73c29f25a7e4763accfdf80ffd61208803.
2024-09-11 19:17:20 +02:00
libretroadmin
0ab10f73c2 Start reducing size of video_shader_pass struct to reduce
massive size of video_shader struct
2024-09-09 18:28:38 +02:00
hunterk
1e94c92dbf
improve GLES version directive granularity (#16888) 2024-08-17 09:57:17 -05:00
fishcu
1b50470c96
Add FinalViewportSize support to GLSL (#15891)
* Change rotation type to int to maximize compatibility and to match glUniform1i

* Change to C style comment; Make comment more useful (hopefully)

* Add support for FinalViewportSize in GLSL
2023-11-10 16:45:20 -08:00
libretroadmin
0517354181 * replace more strlcat calls with strlcpy
* Get rid of unnecessary string copies by clever usage of strlcpy
* Get rid of unnecessary temp variables when not needed
2023-06-18 22:37:01 +02:00
barbudreadmon
1fb9853a93
(Shaders) pass rotation index to shaders (#15136) 2023-03-26 21:20:27 +01:00
LibretroAdmin
a2f34a6836
Update shader_glsl.c 2023-02-26 19:03:05 +01:00
libretroadmin
7ebab640d7 Cleanups/style nits 2023-02-23 13:15:14 +01:00
libretroadmin
cc85d7fd6d (EGL) Cleanups
(GLSL) Buildfix
2023-02-21 21:09:47 +01:00
barbudreadmon
d47bbe5cc1
(GLSL) send rotation index to shader (#12827) 2023-02-21 20:53:01 +01:00
libretroadmin
1f0a5f9615 (libretro-common) retro_endianness.h - Get rid of warning: #warning Defining MSB_FIRST and LSB_FIRST in compile options is deprecated [-Wcpp]
#  warning Defining MSB_FIRST and LSB_FIRST in compile options is deprecated
    ^~~~~~~
2023-02-21 13:35:04 +01:00
libretroadmin
daa9e352cc Remove asserts 2023-01-09 00:51:05 +01:00
LibretroAdmin
e8f4268e6e Addendum for previous commit - buildfixes for PS4 and C89 (cg) 2022-10-26 21:29:35 +02:00
LibretroAdmin
d0b3c1742d (Video) use flags for FBO passes, GL2 renderchain, etc 2022-10-26 21:21:21 +02:00
libretroadmin
88c2ae9ddf No null termination for strings passed to strlcpy/srlcat 2022-07-26 13:23:28 +02:00
libretroadmin
41d225f937 Cleanup 2022-05-22 20:14:56 +02:00
Francisco José García García
8f81692b78 [ORBIS] shader cache 2022-05-21 17:10:36 +02:00
twinaphex
4b5951bda3 Rename gl_common.h to gl2_common.h and remove some file dependencies
on it
2021-09-26 17:42:12 +02:00
OsirizX
b96a0c495a [VITA] Add support for Vita GLES2 (PIGLET) 2021-01-06 19:14:30 +01:00
HyperspaceMadness
0c526b6498 Shaders Load Refactor and Fix Referenced Texture Loading
Partial update to work with shaders directly

More Edits

More changes

more shader fixes

More Fixes Compiling, reference load still wrong

Added Feedback & things are working

Logging Fixes

Log Fix

More Fixes

Added Feedback Logging

Fixes for file pathing in Linux

Fix GLCore and Crash in QT Saving

Code Cleanup

Removed Unused Function filepath.c

Code Cleanup
2020-12-26 21:09:27 -05:00
twinaphex
44b7234756 Move cheat_manager and state_manager to root folder 2020-10-15 05:29:20 +02:00
twinaphex
a1ce1e4f1d gl_glsl_set_proc_address unneeded - remove it 2020-08-04 03:58:51 +02:00
twinaphex
c387071298 Add static globals TODO/FIXME note 2020-07-20 02:02:00 +02:00
twinaphex
87b9c2a367 Add HAVE_REWIND switch 2020-07-01 21:04:05 +02:00
twinaphex
808c00db41 (drivers_shader) Move static functions to top of files 2020-06-26 18:54:30 +02:00
Higor Eurípedes
1f45018ee8 shader_glsl.c: Move buffer null pointer check in gl_glsl_set_coords()
`buffer` is initialized to a statically allocated variable and can only be NULL
when the allocation of a bigger buffer fails. When only the core frame is being
displayed, the buffer never points to the heap thanks to the small buffer
optimization.
2020-06-06 20:08:28 -03:00
twinaphex
1fd6d024eb More buildfixes for ANGLE 2019-12-07 07:24:20 +01:00
twinaphex
b94b9e2adb Go back to plain strlcpy/strlcat - probably best to look at
opportunities to reduce these calls vs. replacing them with
unsafe macros
2019-09-23 00:19:01 +02:00
twinaphex
3b057d9605 Start using STRLCAT_CONST_INCR and STRLCPY_CONST 2019-09-20 23:33:17 +02:00
twinaphex
db624a7c99 Start cleaning up the rather messy manual assignment 2019-09-20 02:03:26 +02:00
twinaphex
306d7f6f8a glsl_find_uniforms_frame - get rid of the remaining strlcats 2019-09-18 07:53:59 +02:00
twinaphex
ab60005cdc (GLSL) Avoid snprintf, prefer strlcpy/strlcat where possible 2019-09-18 07:32:06 +02:00
LazyBumHorse
a882901e39 save unmodified auto-shaders as a reference instead of a copy, see:
- implement #reference directive for auto-shaders
 - replace usual preset saving and loading functions with video_shader_read_preset() and video_shader_write_preset()
 - apply saved presets automatically for console menus
 - move auto-shader saving logic from menus into menu_shader.c menu_shader_manager_save_auto_preset()
 - refactor menu_shader_manager_save_preset() into menu_shader_manager_save_preset_internal()
2019-08-22 16:57:28 +02:00
LazyBumHorse
f8b92770d4 simplify video_shader_read_conf_preset() calls 2019-07-21 18:15:28 +02:00
LazyBumHorse
2245af23e9 much improved handling of relative shader paths
- save texture paths in relative format as well
 - always write portable relative paths on Windows using '/' instead of '\'
 - remove an ancient piece of code that could sometimes fail loading relative paths
 - fix absolute path handling between different drives for Windows
 - integrate video_shader_resolve_relative() into video_shader_parse_* functions
2019-07-20 18:29:46 +02:00
twinaphex
18e67c12c7 (GLSL) Set prg ID to 0 after running glDeleteProgram 2019-07-18 18:31:37 +02:00
twinaphex
c0787accc3 Use config_file_new_from_path_to_string 2019-07-18 12:13:09 +02:00
twinaphex
f0f5c32b51 Remove state tracker - legacy code - we can revisit this later
and integrate it in a way so that it scales across all drivers
2019-07-09 07:39:38 +02:00
LazyBumHorse
692dc9f6a9 refactor shader checks affected by last commit and more:
- gl.c: refactor backend fallback into more general gl2_get_fallback_shader_type
 - d3d9-12, gl_core, gx2_gfx, gl, vulkan: more consistent shader init and `set_shader` behavior
 - configuration.c: remove check_shader_compatibility
 - shader_glsl.c, shader_gl_cg.c: use `video_shader_get_type_from_ext`
 - shader_gl_cg.c: add shader type check with fallback to stock like in shader_glsl.c
 - menu_shader.c: use `enum rarch_shader_type` instead of `unsigned`
 - video_shader_parse.c: add `video_shader_to_str` for easier logging
 - remove `type` from `struct video_shader`, which was always set to CG and wrongly used in lang_process.cpp's `slang_process()` (has no further consequences because the code is unused)
2019-06-18 13:44:19 +02:00
twinaphex
fc62f7afaa Update 2019-06-15 09:58:34 +02:00
twinaphex
f60306b232 Rename read_conf_cgp/write_conf_cgp to
read_conf_preset/write_conf_preset
2019-06-15 09:00:35 +02:00
twinaphex
74388d8490 Remove string_concat 2019-05-10 18:05:58 +02:00
twinaphex
39eadbab6f Use string_concat in more performance critical areas 2019-04-30 21:17:51 +02:00
twinaphex
bc2bdd5734 config_file_read not needed anymore 2019-04-30 13:37:10 +02:00
twinaphex
955a149ce9 Use config_file_read where we can assume we are reading a file 2019-04-22 01:56:24 +02:00
twinaphex
27928081cf Cleanups 2019-03-18 15:27:37 +01:00
twinaphex
191d0c0309 Add get_flags to GL shader interface 2019-03-13 11:21:00 +01:00