105 Commits

Author SHA1 Message Date
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
Joseph C. Osborn
00add4bb37 Fix build errors on wiiu, directx 2024-06-25 08:18:39 -05:00
Joseph C. Osborn
2805694378 Refactor viewport handling/aspect ratio scaling.
This mirrors the use of video_viewport_get_scaled_integer for
non-integer scaling at various aspect ratios.  Two variants are
provided, one with implicit device and desired ratios and one with
explicit ratios.

Also added a flag to video_viewport_get_scaled_integer to indicate the
direction of positive y.
2024-06-25 08:18:39 -05:00
libretroadmin
bc41e0fdf4 video_frame_info - start passing flags 2023-08-16 19:17:23 +02:00
libretroadmin
770b9920f5 Cleanups:
* No implicit memsets for texture_image
* Replace some calls with concatenated strlcpys
* Some style nits
2023-07-18 16:46:54 +02:00
libretroadmin
b8951de6fd (GX2) Cleanups 2023-06-15 13:34:08 +02:00
Grisly Glee
6f0c48b4c4
Clean up gfx driver interface structs (#15379) 2023-06-14 04:42:34 +02:00
libretroadmin
691c09ef09 (Video drivers) Small cleanups/optimizations to render_line - hose
out some variables that are never subject to change
2023-06-03 20:56:19 +02:00
libretroadmin
eb509b8d8e get_line_metrics always implemented for font rendering backend, take
out code parts for hypotheticla font rendering backends that don't implement
it
2023-06-03 18:34:47 +02:00
libretroadmin
51a8150e45 Do away with some NULL checks for font rendering backend 2023-06-03 17:21:19 +02:00
libretroadmin
c1166ee823 Cleanups 2023-06-01 21:34:34 +02:00
libretroadmin
f3fe46393c Cleanups 2023-06-01 20:29:05 +02:00
libretroadmin
0ee2f93ca4 Combine gfx_display files into video drivers 2023-05-31 23:58:06 +02:00
libretroadmin
d1b9badf41 Rename common files to _defines.h 2023-05-31 22:46:34 +02:00
libretroadmin
4f6010bea7 COmbine font raster files and video driver files 2023-05-31 19:03:45 +02:00
libretroadmin
c09fb6d95d Cleanups 2023-05-30 12:19:53 +02:00
libretroadmin
ced83c41e6 (Font) Less casting 2023-05-07 21:13:44 +02:00
barbudreadmon
1fb9853a93
(Shaders) pass rotation index to shaders (#15136) 2023-03-26 21:20:27 +01:00
libretroadmin
51d238875e Get rid of obsolete HAVE_VIDEO_LAYOUT - obsolete spec, was only
ever implemented for OpenGL2 driver, lots of code debt, best to
instead just keep improving the overlay system instead which is
already available for most video drivers
2023-02-23 21:03:41 +01:00
libretroadmin
7ebab640d7 Cleanups/style nits 2023-02-23 13:15:14 +01:00
LibretroAdmin
f836328c56
Append Preset (#14737) (#14757)
WIP version of Append and Prepend preset, Includes UI for Standard Retroarch, but not the QT UI companion

Co-authored-by: HyperspaceMadness <remimcgill@hotmail.com>
2022-12-22 21:36:32 +01:00
LibretroAdmin
d0b3c1742d (Video) use flags for FBO passes, GL2 renderchain, etc 2022-10-26 21:21:21 +02:00
LibretroAdmin
88187e7ef2 * Start getting rid of strncpy
* steam.c - cleanups:
  * Use string_to_lower from libretro-common/stdstring.c instead of
    its own version
  * Some stylistic changes
  * Rewrite strncpy calls into strlcpy/strlcat/manual assignment
  * Make it C89 compliant
  * Some unused variables
2022-08-25 06:51:39 +02:00
libretroadmin
9dd1fb895b - Turn rotation arrows static where possible
- Don't call matrix_4x4_rotate_z - inline the code instead
2022-07-04 15:28:54 +02:00
libretroadmin
0172d57ada (CTR) Simply font_render_driver_bottom 2022-06-27 02:46:13 +02:00
vaguerant
1726d8acb9
Add Optimize for GamePad option on Wii U (#13257)
* Add 'Optimize for Wii U GamePad' option

* style nit
2022-03-08 14:56:51 +01:00
vaguerant
34892555ec
Fix rotation on 3DS and Wii U (#13353)
* Fix rotation on 3DS
* Fix rotation on Wii U
2021-12-14 13:43:48 +01:00
twinaphex
fc898d016b (GX2) wiiu_gfx_load_texture - make it safer - get rid of unused
wiiu pointer; do early return when image is NULL
2021-11-08 17:07:17 +01:00
Autechre
7b9cbc08d7
Add HDR support for D3D12 (rebased PR from MajorPainTheCactus) (#12917)
* Add HDR support

* Attempt to fix Mingw build and Metal builds

* (D3D12) Fix relative header includes

* Add missing hdr_sm5.hlsl.h

* (d3d12_common.c) Some C89 build fixes

* Fix MSVC build

* - Attempt to fix build on mingw/msys unix with dirty hack
- Fix shader compilation of hdr_sm5.hlsl.h on MSVC/Visual Studio -
the define was seen as an error and was causing the first pipeline
to error out
- Make sure we manually set handle of backBuffer to NULL

* Moving the release of the texture above the freeing of desc.srv_heap
and desc.rtv_heap solves the hard crashes on teardown/setup in RA -
it was crashing hard in d3d12_release_texture before

* Add HAVE_D3D12_HDR ifdef - needs to be disabled for WinRT for now
because of several things that are Windows desktop-specific right now
(GetWindowRect)

* Add dirty GUID hack - should work for both mingw/msys on Windows/Linux
as well as MSVC/Visual Studio (hopefully)

* Change HAVE_D3D12_HDR to HAVE_DXGI_HDR

* Move away from camelcase named variables

* Fix RARCH_ERR logs - they need a newline at the end

* d3d12_check_display_hdr_support - make it return a bool on return
and set d3d12->hdr.support and d3d12->hdr.enable outside of the
function

* (DXGI) Remove D3D12 dependencies from dxgi_check_display_hdr_support and
move it to dxgi_common.c instead

* (DXGI) move d3d12_swapchain_color_space over to dxgi_common.c and
rename it dxgi_swapchain_color_space

* (DXGI) move d3d12_set_hdr_metadata to dxgi_common.c and
rename it dxgi_set_hdr_metadata

* (DXGI) dxgi_check_display_hdr_support - better error handling?

* Fix typo

* Remove video_force_resolution

* (D3D12) Address TODO/FIXME

* (D3D12) Backport
c1b6c0bff2
- Fixed resource transition for present when HDR is off
Fixed cel shader displaying all black as blending was enabled when the hdr shader was being applied - turned off blending during this shader

* Move d3d12_hdr_uniform_t to dxgi_common.h and
rename it dxgi_hdr_uniform_t

* (D3D11) Add HDR support

* Add TODO/FIXME notes

* Cache hdr_enable in video_frame_info_t

* Update comment
2021-09-03 06:15:25 +02: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
5f08605680 Refactor joypad drivers 2020-08-30 05:29:32 +02:00
twinaphex
72afa2f932 Cleanups 2020-08-03 16:33:54 +02:00
twinaphex
3e41cbc381 Revert "Add get_metrics to poke interface"
This reverts commit 119689c9405b5e4a321fafc340f6f0294b0338c3.
2020-08-02 23:44:28 +02:00
twinaphex
119689c940 Add get_metrics to poke interface 2020-08-02 19:25:45 +02:00
twinaphex
3d893b7602 Add extra parameter to unload_texture 2020-07-27 10:15:28 +02:00
twinaphex
87b9c2a367 Add HAVE_REWIND switch 2020-07-01 21:04:05 +02:00
twinaphex
2660182d52 Get rid of gfx_widgets_ready call inside
gfx_widgets_frame
2020-06-08 05:45:15 +02:00
twinaphex
060ad38905 (WiiU) Buildfix 2020-05-20 23:34:23 +02:00
twinaphex
9ace693ec0 Refactor menu_driver_frame 2020-05-19 16:20:43 +02:00
valadaa48
6e4228b054 Add drm_go2_ctx for odroidgo2
- Revert odroidgo changes to drm_ctx
- Introduce new drm_go2_ctx specifically for odroidgo2 (and libgo2)
- Add hw_scaling option to mitigate builtin gl scaling/filtering and to
use libgo2 and rga's hw scaling and bicubic filtering via librga. The
quality of the image is improved by this and should be a bit faster.

Credits to CrashOverride for the initial libgo2 port and
commit to RA. And to natinusala for the initial cleanup/commit in the original
drm_ctx driver. NOirBRight for finding this setting and testing.
2020-03-28 03:30:28 +00:00
jdgleaver
086c68bca7 Enable widget persistence across drivers_init()/driver_uninit() events 2020-03-11 11:47:13 +00:00
twinaphex
f4c5036c3c Get rid of video_frame_info dep for fonts 2020-03-10 03:24:59 +01:00
twinaphex
3aa8afd60d (gfx/drivers) Further cleanups 2020-03-07 18:05:50 +01:00
twinaphex
80991a00f0 Settings cleanups 2020-03-02 20:24:00 +01:00
twinaphex
7c7d0f596a HAVE_MENU_WIDGETS now decoupled from HAVE_MENU 2020-02-17 21:28:42 +01:00
twinaphex
b00bf17153 Move menu_widgets to gfx/ and call it gfx_widgets 2020-02-17 01:54:07 +01:00