Commit graph

34 commits

Author SHA1 Message Date
Victor Perevertkin
f155b9377f
[CMAKE] Elimitate the use of GCC and CLANG variables 2022-05-27 01:37:34 +03:00
Serge Gautherie
03422451b3 [REACTOS] Add '\n' to debug logs
on TRACE, WARN, FIXME and ERR calls.

Plus a few nit picks.
2022-05-04 03:28:38 +03:00
Hermès Bélusca-Maïto
9393fc320e
[FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Victor Perevertkin
74ec94e12c [CMAKE] Some options are only supported by GCC, don't use them for clang
These are (so far):
-Wno-format-overflow
-Wno-nonnull-compare
-Wno-old-style-declaration
-Wno-unused-but-set-variable
2021-04-09 03:58:19 +03:00
Doug Lyons
834394abd9
[OPENGL32] Fix Red and Green Color Swap (#3478)
CORE-16221
2021-02-22 17:45:33 +01:00
Jérôme Gardou
d6ea8659c8 [CMAKE] Get rid of the set_cpp macro
Instead of messing with global variables and the like, we introduce two target properties:
 - WITH_CXX_EXCEPTIONS: if you want to use C++ exceptions
 - WITH_CXX_RTTI: if you need RTTI in your module
You can use the newly introduced set_target_cpp_properties function, with WITH_EXCEPTIONS and WITH_RTTI arguments
We also introduce two libraries :
 - cpprt: for C++ runtime routines
 - cppstl: for the C++ standard template library

NB: On GCC, this requires to create imported libraries with the related built-in libraries:libsupc++, limingwex, libstdc++

Finally, we manage the relevant flags with the ad-hoc generator expressions

So, if you don't need exceptions, nor RTTI, nor use any runtime at all: you simply have nothing else to do than add your C++ file to your module
2020-10-20 21:44:54 +02:00
Serge Gautherie
f8b0c7c6dd [MESA] Fix 'ATTRIB_h' typo
clang-cl 10:
'.../attrib.h(32,9): warning: 'ATTRIB_H' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]'

Addendum to 5f2bebf.
CORE-7499 CORE-14306
2020-08-30 02:00:57 +03:00
Kyle Katarn
ba006b3d49
[OPENGL32] Remove Err Log Spam from wglMakeCurrent in nominal cases (#3096)
CORE-17224
2020-08-26 19:56:52 +03:00
Amine Khaldi
139a3d6661
[CMAKE] Implement PCH builds with target_precompile_headers. CORE-16905 2020-06-06 21:58:41 +03:00
Victor Perevertkin
7e069ccdb2
[CMAKE] Replace custom functions to built-in ones
add_target_compile_definitions -> target_compile_definitions
add_target_compile_flags -> target_compile_options
add_target_include_directories -> target_include_directories
2020-04-16 15:59:38 +03:00
Jérôme Gardou
08f228577a [OPENGL32] Fix RGB <-> BGR mismatch
Fix CORE-16221
2020-02-14 08:55:45 +01:00
Masanori Ogino
e63bbef5aa
[OPENGL32][MESA] Describe the current status (#2309)
Since 5f2bebf7, the Mesa library in dll/opengl/ has been downgraded from 8.0.4 to 2.6,
while the related documents were not updated to reflect the change.
2020-02-07 18:09:38 +01:00
Masanori Ogino
695946a5cd
[GLU32] Sync with glu 9.0.1 (#2314) 2020-02-07 18:07:56 +01:00
Timo Kreuzer
95269bc8d1 [GLU32] Fix indentation
Fixes GCC 8 warnings:
dll/opengl/glu32/src/libnurbs/internals/subdivider.cc:852:2: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
  if( jarc->pwlArc ) jarc->pwlArc->deleteMe( pwlarcpool ); jarc->pwlArc = 0;
  ^~
dll/opengl/glu32/src/libnurbs/internals/subdivider.cc:852:59: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  if( jarc->pwlArc ) jarc->pwlArc->deleteMe( pwlarcpool ); jarc->pwlArc = 0;
                                                           ^~~~
2019-05-27 13:22:40 +02:00
Hermès Bélusca-Maïto
05b052fee2
[OPENGL32] Fix the order of the specified callbacks for the DrvSetCallbackProcs() call.
References:
- https://github.com/OpenSWR/openswr/blob/master/ogldriver/wgl.cpp
- https://github.com/Igalia/mesa/blob/master/src/gallium/state_trackers/wgl/stw_icd.h
- "OpenGL Installable Client Driver, Version 1.101 -- Reference Guide" by Microsoft Corporation.
2019-04-22 18:29:43 +02:00
Bernhard Feichtinger
a8fa5394ef
[OPENGL32] Fix usage of TEB members. 2019-04-22 17:42:13 +02:00
Jérôme Gardou
23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Hervé Poussineau
6a1c78b37b [GLU32] Prevent a warning when comparing 'this' against 0 2019-04-01 11:38:32 +02:00
Jérôme Gardou
c3e4b5fec6 [OPENGL32] Fix wglChoosePixelFormat
Not asking for a feature is not asking not to have it.
2019-01-19 14:23:54 +01:00
Jérôme Gardou
5f2bebf7a5 [OPENGL32][MESA] Downgrade Mesa library to version 2.6
With this commit, we now use a forked version of MESA which only supports OpenGL 1.1, like the windows implementation does.
It exposes :
  - The same pixel formats
  - The same set of extensions
  - Nothing more
All of this without taking 10% of your build time.
If you need a more modern option, look at the MESA package from Rapps, which is (and must be) maintained outside of this code tree.
CORE-7499
2019-01-19 14:23:54 +01:00
Bernhard Feichtinger
9cc37704f5 [OPENGL32] Fix wglDescribePixelFormat 2018-11-25 11:29:18 +01:00
Amine Khaldi
00124d1b1a [CMAKE/CLANG-CL] Silence some clang-cl warnings in consistency with our gcc build. 2017-12-07 21:53:45 +01:00
Amine Khaldi
2a3392b97d [GLU32] Add a PCH. 2017-11-26 13:24:50 +01:00
Jérôme Gardou
4067eb1454 [OPENGL32]
- Get rid of the TLS based implementation
CORE-14024
2017-11-21 08:22:31 +01:00
Jérôme Gardou
31acac46a1 [OPENGL32]
- Get rid of the default stub table, use NULL instead
 - Simplify stub code by using the appropriate macros
CORE-14024
2017-11-21 08:22:31 +01:00
Jérôme Gardou
b060a81d5d [OPENGL]
- Always use the TEB to store opengl data
CORE-14024
2017-11-21 08:22:31 +01:00
Jérôme Gardou
640af3f429 [OPENGL32]
- Fix a trace
2017-11-21 08:22:31 +01:00
Jérôme Gardou
6aaf217b10 [OPENGL32]
- Implement storing thread data into the TEB
CORE-14024
2017-11-21 08:22:31 +01:00
Mark Jansen
64d10228ee [OPENGL32] Allocate thread data in IntMakeCurrent if it is not allocated yet.
CORE-12232
2017-11-17 19:34:06 +01:00
Mark Jansen
fa9ce98d8e [OPENGL32] Do not crash in IntGetCurrentDC if thread data was not allocated.
CORE-12232
2017-11-17 19:34:06 +01:00
Amine Khaldi
9cb62498de [GLU32] Add TrimRegion destructor when compiling with clang-cl. CORE-11799 (#94) 2017-10-28 14:06:01 +01:00
Amine Khaldi
788efd34a8 [OPENGL32] Set the stdcall calling convention for wglGetDHGLRC(). CORE-11799 (#94) 2017-10-28 13:56:32 +01:00
Hermès Bélusca-Maïto
f9b6429468 Delete "ghost" old(*) files that have been mysteriously added back during the SVN-to-Git transition.
To check that these changes are correct, checkout in a directory (let's call it "ros_svn") the /trunk/reactos/ of our read-only SVN repo r76032 and in /trunk/reactos/modules/, the rosapps, rostests and wallpapers.
In a second directory (let's call it "ros_git"), clone the corresponding Git-converted ReactOS directory.
Before applying this patch (and the previous one that added back the empty directories), you should see additional files in ros_git that are not in ros_svn, corresponding to these files I'm deleting here (plus some .gitignore files),
and you should also see additional files in ros_svn that do not appear in ros_git: these are the empty directories I've restored in my previous patch.

Now, after the application of both the previous patch that restores the empty directories (and deletes the .gitignore files), and this patch that removes the ghost files, you should only see that the only differences
between ros_git and ros_svn are the extra .keep files in the empty directories, and that's all!

Command-line for the tests:
diff --strip-trailing-cr -r ros_svn ros_git > diff_svn2git.txt

"-r" means recursive, and "--strip-trailing-cr" ignores the CR-LF vs. LF (or CR) EOLs.

(*): by "ghost" old(*) files I understand files that existed previously in the far past, that then were deleted long ago in SVN, and that popped out back during the Git migration.
2017-10-04 10:28:36 +02:00
Colin Finck
c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00