Commit Graph

509 Commits

Author SHA1 Message Date
libretroadmin
3cad8ac834 (Apple/Makefile/Qb) HAVE_METAL being defined does not bake out OpenGL,
bake out Switchres (Linux/windows only)
2023-02-23 17:53:03 +01:00
Thiago Kenji Okada
c5bfd52159
Add CORE_INFO_DIR to ./configure (#14761)
* Add missing FILTERS_DIR definition to qb/config.libs.sh

* Add CORE_INFO_DIR configuration option
2022-12-23 14:40:48 +01:00
flk
d6cbd8a5a9
config.libs: dont fail if OSDependent/OGLCompiler libraries are not present (#14612)
glslang no longer installs them separately, and all needed
functionality has been merged into glslang shared library itself.

This wasn't a problem previously as they were still provided
as static libraries but in latest glslang they no longer are:
https://github.com/KhronosGroup/glslang/commit/7cd519511c32d7e86d901c7ed231cb84c652d18

Signed-off-by: Markus Volk <f_l_k@t-online.de>

Signed-off-by: Markus Volk <f_l_k@t-online.de>
2022-11-11 15:11:17 +01:00
LibretroAdmin
5d36d80318 Fix compilation with ./configure --disable-builtinglslang - was
missing linking against -lMachineIndependent and -lGenericCodeGen
static libs
2022-09-03 04:04:00 +02:00
Mats
249241d7cd
(steam) Initial integration with Steam API w/ mist (#13710) 2022-03-09 15:05:07 +01:00
Colin Kinloch
b2527b43e8
(Wayland) Show window early to get screen info (#13591)
* (Wayland) Show window early to get screen info

* Report current monitor size on initial get_video_size call

* Fullscreen to monitor selected in settings

* Fullscreen on current monitor when setting is set to automatic

* Fallback to shm_open when memfd_create is not supported
2022-02-18 19:59:41 +01:00
Vladimir Serbinenko
4e24fb3d01
Add osx-ppc compilation for frontend (#13532)
* Fix old osx condition

Current code assumes that osx < 10.12 is equivalent to ppc osx. It's not
true as Leopard x86 is still < 10.12 but not ppc. As xcode compiles fat
binaries it includes osx x86 and compilation fails.

* Disable crtswitchres when no c++11 is available

Crtswitchres altually needs c++11. Since it's not that important to make
it compatible with lower c++, just disable if no c++11 is available

* Don't use firstObject on old Mac OS X.

It was introduced in 10.6, so on old ones just implement it ourselves

* Compile osx-ppc frontend

* osx-ppc: Build a fat binary

On 10.6 i386 xcode apparently refuses to build a pure ppc.
Settle for a fat binary.
2022-01-24 16:22:07 +01:00
Colin Kinloch
f0392474f2
(Wayland) Add libdecor for client side decoration (#13397) 2021-12-24 14:20:45 +01:00
Autechre
3b1a1ac8da
Remove miniupnpc dependency (#13340)
* use custom libretro-common UPNP

* Remove miniupnpc
2021-12-09 05:52:42 +01:00
twinaphex
28cac5c5a4 Add HAVE_CORE_INFO_CACHE - disable this for Steam build 2021-10-14 15:57:28 +02:00
Ben
4b2f27eff8 Ver 0.9.2 SR2 (Switchres API) Implimantation
Fixed SR close match refresh bug.
Added menu high resolution option.
Fixed desktop restore bug cuusing endless resolution change requests.
Fixed file conflicts
Added destop restore resolution back in for manu only.
Pulled Switchres fixes.
Added better PI rsolution support.

Ver 0.7 SR2 (Switchres API) Implimantation

Removed HH experimetal check. This is better done via teh switchres.ini at present.
Fixed refresh rate bug. Now new resolution and refesh is added correctly.
Removed SR deinit from menu restore. Meanu now stays at last content resolution.

Ver 0.6.2 SR2 (Switchres API) Implimantation

Fixed super resolution bug casuing abnormal video size and aspect ratio
Fixed logging issue casuing seg falts on RA exit

Ver 0.6 SR2 (Switchres API) Implimantation

Ver 0.2 SR2 (Switchres API) Implimantation

Added forced super resolutions.
Added Multi-monitor/monitor selection support.
Added desktop resolution restore when switching back to menu only.
Added new menu items for 31KHz standard and 120hz monitor profiles.
Added new menu item INI. load monitor profile from switchrss.ini.
Fixed winraw driver. Coordinates new refreshed after a resolution change.
Fixed Menu aspect ratio in super resolutions.
Removed static glabals. These have been added to videocrt_switch struct.

Ver 0.1 SR2 (Switchres API) Implimantation

Removed old CRTSwitchRes method. Added new SR2 API implimantaion.
Resolution swithcing is now done by switchres libs. Both Linux and Windows
working with native and super resolutions. Working multi-monitor support
with monitor index selection. Working 31KHz support with standard and 120Hxz
modes. The monitor index selection is still done via the RA UI. Only choose
native and 15KHz form the CRT options in the RA UI as all options are now set
in the switchres.ini. All other CRT optoins in the RA UI currently do nothing.

Added SR wrapper to fix compile issues. Added back RPi functionality

Fixed windows resize/scaling issues on resolution change

Thanks @Calamity no more need for crt_switch_driver_refresh()

Fix broken case after prevous commit

Monitor preset options 15/31KHz now active. Added new meu option.

Moitor persets can now be choosen fom the RA UI. 15KHz and 31KHz will set
arcade_15 and aracde_31 respectivly. New option INI, if this is chosen your
monitor preset will be selected from your switchres.ini file.

Added 3KHhz, 120Hz. for old RA users. Renamed 31KHz to 31 KHz,  Standard

Fixed winraw input coordinates after switching resolution.

Code cleanup

Fixed menu aspect ratio issue

Added menu resolution restore after closing content

Fixed aspect ratio after menu resolution restore.

code clean up

Fxed menu Resulition Restore Aspect Ratio. When SR uses non integer scalled resolution.

super width bug with restoring menu resolution fix

added super resolution check after setting desktop resolutoion variables

when menu active only sr_deinit() used to restore desktop mode.

Fixed menu sr_deinit bug. now setting sr_active false

Removed static globals, added them to video_switch struct

Fixex compile bug due to comment //

Fixed compile issues doe to c++ comments in teh switchres_wrapper.h

Temporarily removed SR2 logging to fix compile isses for c90

added logging back in. Removed support for winnt and osx

Added define for C89. Disabled SR if defined C89

Removed all RA compile fixes fro C89 C90 etc. Swithing now working again.

Put Switchres behind HAVE_SR2. HAVE_SR2=no by default. --enable-sr2

Ver 0.5 SR2 Implimentation.

Ver 0.4 SR2 Implimantation.

Bake SR inside RA

Removed temporary log files

Disable switchres when C89/C99 builds.

Removed C89 and C90 checks for SR

Fixed switchres_wrapper.h location

Ver 0.3 SR2 Implimenation

Dissable logging for C89 __STDC__

Fix For RPi

fixed missing EOL

fixed RPi function definition

added vidrocrt_switch stuct to RPI funcion

fixed xoffset for RPi

Removed old RPi function call

SR disabled for videocore until VC4 switching ported

Reverted back to state 5c8a56c Bake SR inside RA

Use native win32 api for threads.

Fix static lib linking
LIBERROR would be defined twice otherwise + improper function names prefixed by __imp_

Added lidstc++ to makefile.common for switchres

Fixed RPi switching. Disabled Switchres for videocore unill it is ported.

removed RAA.log. Should not exist

Added check for when SR fails to set mode with an aspect ratio fix.

added video driver re init for RPi

GB, GBA and GBC core check, adjusted reseolutions and scale. Please turn on integer scalling in the RA UI

Added logas back in. Checking STDC verstion >= C11

Fixed c89 for loop declaration.

Code clean up. Added new functions

Fix resolution switching bug introduces with HH code clean up.

Fixed menu restore bug on closw content after code clean up

Moved SR logging to relevant RA logs

Update makefile. Checks for X11 and xrandr

fixed makefile

Use native win32 api for threads.

Fix static lib linking
LIBERROR would be defined twice otherwise + improper function names prefixed by __imp_

Update switchres_wrapper.* header comments

Update year copyright

DRMKMS: build only if libdrm has the required version

XRANDR: build only if xrandr is available

Simplified maklefile

Fixed RPI compile error with unsued functions.

As before

Disable Griffin. No switching support available. Never has been

Removed log file 1

Added Win32 static define

Added SR source

Removed Videocore check on destroy SR

Moved SR deinit to trigger earlier on RA exit.

Fixed compile error after upstream rebase

Fixed aspect ration bug cused by super resolutions. Temporarily disbabled SR logging

Re inabled runtim eSR loggind. Disableed all RARCH logging on retro_deinit_drivers

Removed srdeinit from menu restore. Menu stays in current reolution until a fix can be found

Fixed refresh rate changes when no reolution change is detected.

Forgot to add teh resolution cahge in with the refresh change oops

Fixed endless no detection log.

Removed HH check. This can been better adjusted using the switchres.ini

fixed compile issue

Added better PI crt switching and fixed typo

Pulled Swicthres fixes. Updated desktop restore resolution.

removed unused makefile

Lockec menu refresh to 60hz

fixed missing new line

Fixed file conflicts

Forced 640x480@60 for menu

Added high resolution menu option

Removed item logg checker

Fixed typos

Removed unused functions

Fixed SR close match refesh bug.

Fixed typo
2021-06-04 08:32:56 -07:00
Norman Jordan
528af55abd Adding a generic queue and linked list.
Both accept (void *) values. Also added some unit tests using CHECK.
2021-05-05 10:41:13 -07:00
liushuyu
8132303d4f
(FontRenderer/FreeType) Use fontconfig to select fonts if available 2021-01-30 18:49:47 -07:00
Autechre
a49b02c44b
(Mac) Makefile changes for supporting Metal build (#11929)
* (QB) Add rule for Metal - define HAVE_COCOA_METAL for now
when building for Metal, and HAVE_COCOA for non-Metal build

* Make necessary changes to Makefile.common and qb/config.libs.sh:
- Disable OpenGL for now for Metal build
- Take Metal conditional out of OpenGL block in Makefile.common

* (Metal) Header fixes for compiling without Xcode/Griffin

* (Mac) Some buildfixes for non-Xcode building

* (cocoa_common.h) Restructure to no longer use -DOSX

* (Apple) More buildfixes

* (Apple) Cleanups
2021-01-22 22:20:38 +01:00
Autechre
21a1275966
(QB) MacOS X 10.5's toolchain does not support extra languages, (#11917)
so disable HAVE_LANGEXTRA. We can later make this more generic
by checking for specific GCC versions as a cutoff point for
HAVE_LANGEXTRA support, but this will do for now
2021-01-21 06:50:35 +01:00
jdgleaver
399b29ad3f (.gitlab-ci.yml) Use MXE build container for windows-x64 builds 2020-12-31 09:42:41 +00:00
Alcaro
62e72e756b ./configure: Add BearSSL support 2020-09-20 16:58:07 +02:00
Keith Bowes
a867389fa2 Fixed detection of system glslang 2020-06-30 18:39:52 -04:00
twinaphex
13be887d2d Solve this a different way, update .travis.yml, DISABLE_THREADS
target will also now disable glslang
2020-05-29 15:14:46 +02:00
twinaphex
358ffbd3b9 This is wrong 2020-05-29 13:52:29 +02:00
twinaphex
2d659c3484 (Glslang) Don't build it when --disable-networking is set 2020-05-29 13:45:40 +02:00
Vladimir Serbinenko
1d4462b198 config.libs.sh: Improve messages for x components detection 2020-05-24 05:05:42 +02:00
twinaphex
7c7d0f596a HAVE_MENU_WIDGETS now decoupled from HAVE_MENU 2020-02-17 21:28:42 +01:00
orbea
74a09844c2 qb: Support building with a system version of glslang. 2020-02-01 16:12:54 -08:00
orbea
65e071e470 qb: Add c++ support for check_header. 2020-02-01 15:40:43 -08:00
twinaphex
cfcce71392 - Add HAVE_BLISSBOX
- Do not use logging functions inside internal task functions - should
always be done outside at end handler function
2020-01-25 17:17:53 +01:00
orbea
a87192f8d0 qb: Improve the NOUNUSED checks. 2020-01-15 11:05:38 -08:00
orbea
4171c93bff qb: Improve the gnu99 compiler check. 2020-01-15 09:55:27 -08:00
Twinaphex
76c97bbfad
Merge pull request #10009 from orbea/qb-win
qb: Clean up.
2020-01-15 07:52:30 +01:00
orbea
77baa1c930 qb: Clean up. 2020-01-14 22:12:22 -08:00
orbea
d41b7770c4 qb: Fix the qt configure check with older compilers. 2020-01-14 21:01:50 -08:00
twinaphex
0029598822 (ANGLE) Add MINGW32/MINGW64 detection 2020-01-05 21:46:19 +01:00
twinaphex
587a56026e Disable HAVE_UPDATE_CORES for Steam too 2019-12-18 18:13:05 +01:00
twinaphex
14c5825769 (Qb) Add ANGLE build option - currently requires you to put the required
libs in angle-x64 dir and then have the shared libs inside the main root
dir - after this, we want to try static linking
2019-12-07 21:01:44 +01:00
twinaphex
328d5bf648 For ANGLE, point the EGL include dir to our copied files on
the repo
2019-12-07 10:52:14 +01:00
twinaphex
7f1c1db651 Now that we can build with ANGLE, we have to take this out 2019-12-07 10:30:28 +01:00
Nils Hasenbanck
c88f2b31ee Fix ffmpeg core build under linux.
Libass is optional again. This build will also compile with
ffmpeg 3.4 again, but HW acceleration is not guaranteed to work,
since it hasn't been tested well enough.
2019-12-05 19:39:56 +01:00
twinaphex
9d0356dd73 Add HAVE_STEAM switch 2019-11-18 08:04:29 +01:00
orbea
70fd455b13 qb: Fix --disable-networking.
Fixes https://github.com/libretro/RetroArch/issues/9580.
2019-10-15 07:37:24 -07:00
Ryan 'Swingflip' Hamlin
9be6d265b4
Fixed bug with QB. (Now doesn't look for the x11 client library headers (lxcb) if --disable-x11 is true) 2019-09-29 21:46:22 +01:00
Twinaphex
0ae7560026
Merge pull request #9206 from orbea/sixel
qb: Use check_val for caca and sixel.
2019-07-29 22:48:55 +02:00
orbea
13cf3cdef2 qb: Refactor how config.h and config.mk are created.
This is a potential security issue.

The problem is that config.h and config.mk are populated with
all variables prefixed with 'HAVE_' from the user's environment.

Example:

  $ HAVE_FOO=yes ./configure
  $ grep FOO config.mk
  HAVE_FOO = 1
  $ grep FOO config.h
  #define HAVE_FOO 1

After this commit these files will only use variables set by
qb configure process and not from the user's environment. This
issue could result in hard to diagnose undefined behavior or
maybe worse?

The user should experience no change in behavior, but
developers should be more careful about setting 'HAVE_'
variables manually.

Unless the FOO variable is used by check_enabled ($2 only),
check_platform, check_lib, check_pkgconf, check_header,
check_macro or check_switch functions it should be set at
least once by the new add_opt function. The first argument
should be 'FOO' which matches the HAVE_FOO variable and the
second argument should contain 'auto', 'no' or 'yes'.

Example:

  add_opt FOO yes

When in doubt its safe to use add_opt. This will also fix a
few potential issues where configure arguments used by the
user are ignored.

When the second argument is not set the FOO variable will only
be used to populate config.h and config.mk with its current
value. This should only be done in qb/qb.libs.sh in functions
that set 'HAVE_' variables.
2019-07-28 07:59:41 -07:00
orbea
4c121523aa qb: Use check_val for caca and sixel. 2019-07-27 00:57:06 -07:00
orbea
de7bf62f86 qb: Enable HAVE_SLANG, HAVE_GLSLANG and HAVE_SPRIV_CROSS dynamically.
May help issue https://github.com/libretro/RetroArch/issues/9160.
2019-07-21 15:10:02 -07:00
orbea
d896acb0c2 Fix --disable-hid. 2019-07-21 09:17:09 -07:00
Twinaphex
af2b2b07f2
Merge pull request #9150 from orbea/glsl
qb: Improve the glsl check.
2019-07-21 11:49:09 +02:00
Twinaphex
013eb8d619
Merge pull request #9146 from orbea/win32
qb: Improve win32 checks.
2019-07-21 11:48:50 +02:00
Twinaphex
e3faaa575a
Merge pull request #9147 from orbea/slang
qb: Improve the slang, glslang and SPIRV-Cross checks.
2019-07-21 11:48:31 +02:00
orbea
19774f820f qb: Improve the glsl check. 2019-07-21 00:46:14 -07:00
orbea
ba1ed7aa13 qb: Allow --enable-metal for osx only. 2019-07-21 00:18:41 -07:00