Commit graph

208 commits

Author SHA1 Message Date
d3fault b5861f2857 add #ifdef check around GLEW_VERSION_4_6
This fixes compilation on Debian Stretch
2020-09-02 23:44:24 -07:00
Jupeyy af4923b75b Add config variable, to ignore the check after it executed once 2020-08-29 18:44:48 +02:00
Jupeyy 570f148287 Analyse 3D/2D array texture sampling data when creating context 2020-08-29 18:44:42 +02:00
bors[bot] 3101747d46
Merge #2666
2666: Non divisible by 16 texture resize and warning r=heinrich5991 a=Jupeyy



Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2020-08-29 15:25:35 +00:00
def c85ffb90af Revert "Revert Jupeyy's OpenGL changes"
This reverts commit 3eab3f5eb7.
2020-08-29 12:10:53 +02:00
Jupeyy e84d3a2659 Resize non devidable by 16 images for 3D/2D array textures 2020-08-27 02:07:25 +02:00
def 3eab3f5eb7 Revert Jupeyy's OpenGL changes
Emergency-revert for 14.5.1 release, too many problems
2020-08-26 20:03:22 +02:00
def 71cd53acfe Try to fix input in Steam version on Windows (fixes #2645) 2020-08-26 15:15:06 +02:00
Jupeyy 61374cfb33 No sampler calls in old OpenGL API 2020-08-26 00:59:31 +02:00
Jupeyy 3117a936a9 Do not create 2D textures, if not required 2020-08-23 08:53:26 +02:00
Jupeyy 2c02314708 Stronger 1.x fallback, if OpenGL 3.0 was invalidly created 2020-08-22 21:49:30 +02:00
Jupeyy 5b9269f30a Check NPOT textures and stronger 1.x fallback (fixes #2630) 2020-08-22 21:15:50 +02:00
Jupeyy a07e9ac2cf Add OpenGL 1.x, 2.x, 3.x support (fixes #2619) (fixes #2607) 2020-08-22 10:22:51 +02:00
Jupeyy 7450e354de Add OpenGL 4.x support & cleanup 2020-08-19 08:42:09 +02:00
Jupeyy c2ce132ba3 Allow specifying an OpenGL version manually 2020-08-19 07:04:54 +02:00
Zwelf 81e5bb924c Move sync_barrier to only used place
to remove `#include <windows.h>` from header file preventing compiling on windows
2020-08-09 18:17:42 +02:00
bors[bot] 160a7b71fb
Merge #2279 #2327
2279: Only forbid resizing when videorecorder is recording r=heinrich5991 a=def-



2327: List data files in `CMakeLists.txt` r=def- a=heinrich5991

This fixes missing files for people recompiling when we add new data
files.

Co-authored-by: def <dennis@felsin9.de>
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-06-23 08:48:05 +00:00
def 83c820db09 Fix some naming conventions in videorecorder 2020-06-23 08:00:03 +02:00
Edgar a03a22b8e5
Fix uninitialized warning on SBufferContainerInfo 2020-06-22 11:23:52 +02:00
Arda Demir b7d452d2a0
Libnotify support for linux client (#2099)
Add libnotify support for linux client

Also unify notification management

Make libnotify mandatory for the client. It is installed on 100% of Arch
Linux systems and on 70% of Debian systems. I'd guess the remaining
Debian systems are servers.

Detect dependent libraries of `libnotify` using `pkg-config`. Remove
library-specific code from the game module. Decrement refcount for
libnotify notification object before leaving the function.
2020-04-14 17:53:53 +02:00
Ryozuki c6731c7e83
Fix uninitialized m_LastProgramID 2020-04-11 13:17:19 +02:00
Ryozuki 0da0dddf15 drop glu dependency 2020-04-08 18:19:12 +02:00
Learath 388d792205 Add an option for highdpi 2020-04-07 23:47:15 +03:00
Learath 6919ed3041 Use updated stub, switch around versions 2020-03-23 15:46:57 +01:00
Learath 060d60f2ea Output library versions 2020-03-23 15:46:57 +01:00
H-M-H 7ae4b39574 made recording demos work
- videorecorder only works for recording demos now
- demoplayer was modified to allow controll over the time that passed
  in order to get perfect fps, IVideo controlls how much time passed,
  basically every rendercall sets the time to record the next frame
2019-09-30 20:48:47 +08:00
H-M-H 94860c935f raw H.264 --> mp4 \o/ 2019-09-30 20:46:45 +08:00
H-M-H c5c171a3cb initial work on a video recorder 2019-09-30 20:46:45 +08:00
Dennis Felsing cde07b420b Implement changes suggested by -Wuseless-cast
But don't enable it yet because I'm not sure what the best way is.
2019-04-11 19:54:43 +02:00
def 94f3d97ddf Remove unmaintained Android code (fixes #1575) 2019-04-10 19:40:50 +02:00
def 1e4890c499 More error checking in system.c (fixes #1317) 2019-03-19 23:16:29 +01:00
def aa7e6ff3e3 Disable borderless on Mac (fixes #1413) 2018-12-28 17:29:54 +01:00
Jupeyy 29ecaa2c2a brace 2018-08-02 20:58:43 +02:00
Jupeyy 7ce29e7a1a Properly reset context attributes, if OpenGL3 context failed to create 2018-08-02 20:52:51 +02:00
Jupeyy d7bb03ee19 don't render all border all the time 2018-08-02 18:26:12 +02:00
Isaac Zhao 83ae953b21
Fixed hidpi resolution issue on macOS 2018-07-17 07:46:17 +00:00
yangfl 81a39c229b Fix typo 2018-07-10 17:29:02 +08:00
Dennis Felsing 35a26290db Mac OSX: Don't use desktop resolution (fixes #1174) 2018-06-27 11:01:59 +02:00
def 666b1a9576 Another SDL GL try 2018-04-13 21:34:12 +02:00
def d0bb180473 Only run glewInit when using OpenGL3.3 2018-04-13 20:03:51 +02:00
heinrich5991 f8277267a0 Remove mem_alloc and mem_free, use standard C functions instead
Replace `mem_free` by `free`, and `mem_alloc` by `malloc` or `calloc`
(the latter one being used to allocate a zeroed array of elements,
sometimes, this makes a call to `mem_zero` superfluous).

This results in having to remove `mem_stats` which previously recorded
the number of allocations and their size that the Teeworlds code did
directly.

Remove OOM handling in `src/game/client/components/binds.cpp`.

Remove needless copying in the CSV code in
`src/game/client/components/statboard.cpp`.
2018-04-09 11:56:39 +02:00
Jupeyy 70c06be87e allow non pixel alignment rendering, instead fo changing texture filter
add window resize event, and remove the font size limitation
2018-03-21 15:45:08 +01:00
Jupeyy 9b8da90151 check screen state 2018-03-21 15:41:45 +01:00
Jupeyy da311d03c4 use a different texture filter instead of correcting text coordinates 2018-03-15 03:33:22 +01:00
Jupeyy 35f3dd5bc2 add new shader programs in the backend 2018-03-13 21:44:58 +01:00
Jupeyy 6f0509cfae the actual description to the problem 2018-03-01 07:44:22 +01:00
Jupeyy edaf632c04 Merge branch 'master' of https://github.com/ddnet/ddnet 2018-03-01 07:38:50 +01:00
Jupeyy 3dabb5c2bd ensure right internal image format, to prevent unsupported reformatting 2018-03-01 07:31:09 +01:00
bors[bot] c0fa444f3a Merge #1034
1034: Try to find external GLEW, pnglite and Wavpack  r=Learath2 a=heinrich5991

Allow for newer versions of Wavpack, fixes #1023.

Fixes #1016.
2018-02-13 02:02:07 +00:00
heinrich5991 94818ec1f0 Try to find external GLEW, pnglite and Wavpack
Allow for newer versions of Wavpack, fixes #1023.

Fixes #1016.
2018-02-12 23:29:45 +01:00
bors[bot] 6283ad2012 Merge #1015
1015: Fix typo r=heinrich5991 a=yangfl
2018-02-07 16:22:48 +00:00
Dennis Felsing f62833b699 Always keep same resolution on macosx 2018-02-07 13:21:18 +01:00
yangfl 1620fc9b0f Fix typo 2018-02-07 16:10:40 +08:00
Dennis Felsing 4c8a770ba6 macosx highdpi try #123456789 2018-02-07 08:22:57 +01:00
def 864ff1ac74 Remove highdpi stuff
This reverts commit d234c55dfa.
2018-02-06 23:21:17 +01:00
Dennis Felsing d234c55dfa Try macosx highdpi fix 2018-02-05 14:37:26 +01:00
def 4813a4b857 Add cl_shownotifications (fixes #949) 2018-01-05 20:20:39 +01:00
Jupeyy 060f6fd36e Load shaders through IStorage class
Fixes #939.
2017-12-02 22:19:57 +01:00
bors[bot] f9e0b6b3fe Merge #931
931: Add Speedup tiles correctly at the border creation & remove tile layer extension restriction & fix the LastIndex buffer initlialization & setup non mipmap textures up correctly(texture completness) r=heinrich5991 a=Jupeyy

Allows speedups to be drawn on extended range(out of map range) too.
2017-11-26 13:32:05 +00:00
Jupeyy b1d99de87a s_ 2017-11-26 14:10:47 +01:00
Jupeyy bff1186d3b is now s_ 2017-11-26 14:08:00 +01:00
Jupeyy 14297ae45c code pattern 2017-11-26 13:28:41 +01:00
heinrich5991 17d3f4afa4 Put shaders into the data/ directory
Simplifies a lot of things
2017-11-08 22:19:47 +01:00
Jupeyy 78c06e180f remove dublicated GL queries 2017-11-04 05:38:48 +01:00
Jupeyy 78a9fbb9b5 use the write buffer slot, instead of elementarray slot to create the
index buffer
2017-11-04 04:57:58 +01:00
Jupeyy d367f94d7c invalidate all index buffer bindigs, when index buffer is resized 2017-11-03 19:48:17 +01:00
Jupeyy c22af4bb4d fix index buffer bindig for normal quads(fixes startup crashes) and
initialize non mipmap textures as linear(texture completness)
2017-11-03 19:33:23 +01:00
Jupeyy 442a1767d4 reset lastindexbuffer at object deletion 2017-10-24 03:12:48 +02:00
Jupeyy 5c9fc3d19b remove unused variable 2017-10-23 18:31:44 +02:00
Jupeyy 37c5102928 only delete VBOs when the VAO, which uses the VBO, is deleted(AMD driver
bug under windows). And only allow true fullscreen under supported
display resolutions, to enable prevention of DPI scaled opengl viewport
2017-10-23 18:02:18 +02:00
def cb00a294b8 Enable gfx_opengl3 by default 2017-10-20 22:52:38 +02:00
Dennis Felsing 6c7f6e3a7e glew on macosx as well... 2017-10-20 11:49:00 +02:00
Dennis Felsing 5a75dc7f27 New glew try 2017-10-20 11:35:44 +02:00
Dennis Felsing 88c0778b21 Bundle glew instead 2017-10-20 11:12:27 +02:00
Dennis Felsing 07db95ed59 Mac build fix 2017-10-20 10:20:29 +02:00
Dennis Felsing d7eabb0ea9 Further macosx fixes 2017-10-20 09:31:42 +02:00
Dennis Felsing db46d18e71 No GLEW on OSX necessary (untested) 2017-10-20 09:08:49 +02:00
Dennis Felsing d6999bb726 Merge "Pull Request using OpenGL 3.3" 2017-10-18 12:49:27 +02:00
Edgar Luque 3408d4f016 MinGW putenv workaround. 2017-10-17 16:38:40 +02:00
Jupeyy cc54c4acdf also out the LOD to the fragment shader to make sure we use the same LOD
on every hardware
2017-10-14 23:27:14 +02:00
Jupeyy 26bd800d63 calculate the LOD on CPU side and restrict mipmap levels for huge
textures to remove bad looking mipmap generations at high zoom levels
2017-10-09 18:58:44 +02:00
Jupeyy 43fa2fd1a7 use wrap mode for every individual texture 2017-10-09 15:59:16 +02:00
Jupeyy 463944b143 fix code pattern mistakes and warnings 2017-09-27 14:52:06 +02:00
Jupeyy 91216fb90c reduce upload size by normalizing color values, fix slow upload for some
iGPUs and force old opengl context, if issueinit fails
2017-09-27 12:16:34 +02:00
Jupeyy a85f542d1d only use 4x2 matrix 2017-09-27 12:15:30 +02:00
Jupeyy 31844d3353 set max width for custom text texture upload and fixing alignments for
texture updates
2017-09-15 03:01:26 +02:00
Jupeyy f2820ea392 use 4*4 array instead of declearing a full matrix class 2017-09-14 19:47:04 +02:00
Jupeyy b6e4b4b4a6 detach shaders automatically after linking 2017-09-14 19:34:14 +02:00
Jupeyy 4fec86a354 support old opengl version with only 2 vertex coordinates 2017-09-14 08:03:33 +02:00
Jupeyy 3bdd8c19ac delete primitive index buffer at shutdown too 2017-09-14 03:54:22 +02:00
Jupeyy 1df1731b01 use glDeleteVertexArrays instead of glDeleteBuffers 2017-09-14 03:50:42 +02:00
Jupeyy 211f8a6b11 only allow changing to use single/multiple texture units at restart 2017-09-14 02:58:13 +02:00
Jupeyy 77b3c39553 allow disabling texture unit optimization by command, also use
drawelements instead of drawarrays for quads
2017-09-14 02:49:35 +02:00
Jupeyy 5c7c09d380 fixing most wrong code pattern 2017-09-13 20:33:58 +02:00
Jupeyy a3658e5526 store alpha textures always as RGBA 2017-09-13 18:32:08 +02:00
Jupeyy 5f2ccf2960 add support for buffer objects and vertex object, and its draw calls 2017-09-12 20:07:38 +02:00
Jupeyy 1053bc735d initial port to opengl3.3 (without any optimazations) 2017-09-02 15:24:07 +02:00
def 705349f2e5 Clean up and fix semaphores and threading 2017-08-31 19:18:07 +02:00
def 5ad633ef26 No success with Windows fixes, have to delay until someone with a
Windows computer can look into it
2017-07-15 17:29:57 +02:00
def 49eb0128f2 Windows cleanup 2017-07-15 16:38:40 +02:00