Christoph Oelckers
2be13e1b9f
- changed shader loader to load only one shader at a time
...
This is merely preparation - the actual loading is still in one uninterrupted piece.
2022-05-13 08:22:22 +02:00
Magnus Norddahl
1452dd06a7
Fix that vk_debug doesn't output anything for newer versions of the vulkan sdk
2022-05-13 08:18:17 +02:00
temx
0dfa632d29
Fix off-by-one in Vulkan multisample sample count selection
2022-05-04 18:19:29 +02:00
Christoph Oelckers
4e72ea1cfa
- Backend update from Raze
2022-04-26 20:50:36 +02:00
Christoph Oelckers
ccdf5fb23c
- moved the wipe loop out of d_main.cpp into f_wipe.cpp
...
As preparation fior fully moving it into the backend
2022-04-26 20:50:36 +02:00
Rachael Alexanderson
0fa830ddd7
Revert "- change cvars gl_custompost
and gl_customshader
to archive and save to .ini since there are uses for these shaders beyond mere debugging."
...
This reverts commit 2420371c46
.
2022-04-21 02:49:39 -04:00
Rachael Alexanderson
991b4725dd
Revert "- don't modify gl_customshader
cvar in GLES backend; the backend will not show custom shaders anyhow"
...
This reverts commit ab27d1dd33
.
2022-04-21 02:48:07 -04:00
Christoph Oelckers
dfdf330722
- make menu scale adjustments for ultra-wide aspect ratios.
2022-04-12 00:30:43 +02:00
Christoph Oelckers
a97a2ec133
- backend sync with Raze
...
Nothing really useful here…
2022-04-11 00:26:50 +02:00
Christoph Oelckers
45e7badb71
- avoid passing game structs to common backend code
...
InitLightmap was using a „FLevelLocals“ pointer, better pass the needed elements separately instead.
2022-04-11 00:01:30 +02:00
Rachael Alexanderson
ab27d1dd33
- don't modify gl_customshader
cvar in GLES backend; the backend will not show custom shaders anyhow
2022-03-07 08:46:45 -05:00
nashmuhandes
396bac5e4f
- Initialize some variables in FModelVertex::Set
...
- Fix wrong normal vector in the FModelVertexBuffer constructor
This fixes models having strange flickering when the model animation frame changes
2022-02-14 12:16:45 -05:00
Emile Belanger
3ff27b4281
GLES: Fix data buffer resize
2022-02-10 23:46:52 +01:00
drfrag
6112307cc8
- Fix decals in Softpoly.
...
(partial revert of "- cleanup of the revised y-clamping feature.")
2022-01-24 12:01:34 -05:00
nashmuhandes
db92e63e22
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2022-01-22 18:06:05 +08:00
Rachael Alexanderson
4c4fafc2c0
- add debug ccmds to manipulate custom postprocess shaders and their uniforms from the console
2022-01-20 22:38:46 -05:00
nashmuhandes
f79bbed130
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2022-01-20 14:19:45 +08:00
Christoph Oelckers
e6c6471e2f
- fixed logic error with depth bias state in hardware renderer.
2022-01-17 00:32:54 +01:00
Christoph Oelckers
84458ddb9f
- redid postprocessing shader interface to be free of the player dependency.
...
This is something that really should be done in higher level code - the shader interface should only concern itself with the shader and not the conditions that block its use.
The Shader class has been redone as a thin wrapper and been deprecated.
2022-01-17 00:07:43 +01:00
nashmuhandes
57112742fe
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
...
# Conflicts:
# src/common/rendering/gl/gl_shader.cpp
# src/common/rendering/hwrenderer/data/buffers.h
# src/common/rendering/v_video.h
2022-01-16 01:57:38 +08:00
Christoph Oelckers
79c9b979d2
- backend update from Raze.
2022-01-11 17:19:16 +01:00
Christoph Oelckers
e60e6967c0
- whitespace cleanup, updated from Raze.
2022-01-02 12:23:42 +01:00
Christoph Oelckers
3b879c5656
- changed the license of 3 more files free of external contributions to LGPL v2.
2022-01-02 12:08:47 +01:00
Christoph Oelckers
9d2431187d
- reverted the license of the stereo3D code to BSD.
...
None of this was ever put under the GPL by its original author, so it is now back to its original license.
2022-01-02 11:41:32 +01:00
Christoph Oelckers
1c517d19fa
- Backend update from Raze.
...
This is mainly code cleanup from setting the compiler to a stricter warning level.
2022-01-02 11:39:17 +01:00
Emile Belanger
54ad3433b1
GLES: Load default shader if we try to load user shader to avoid crash
2021-11-21 13:14:02 +01:00
nashmuhandes
2ed99c735d
Merge branch 'lightmaps2' of https://github.com/dpjudas/gzdoom into lightmaps2
2021-11-15 02:56:10 +08:00
Magnus Norddahl
8c54015b4b
Fix upload and sampling bug for array textures in the vulkan backend
2021-11-14 19:53:10 +01:00
nashmuhandes
879c514120
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2021-11-14 22:01:03 +08:00
Christoph Oelckers
c598d9bab7
- Backend update from Raze.
...
* TArray extensions
* MSVC setup so that [[deprecated]] emits warnings.
2021-11-12 09:36:46 +01:00
nashmuhandes
1b95f2515b
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2021-11-10 19:57:49 +08:00
Magnus Norddahl
5dec391c8c
Merge remote-tracking branch 'gzdoom/master' into lightmaps2
2021-11-04 23:59:00 +01:00
Christoph Oelckers
77d74a11d1
- removed most templates.h includes.
2021-10-30 10:49:12 +02:00
Christoph Oelckers
eb69bbcae0
- replaced MIN/MAX in common code.
2021-10-30 10:46:17 +02:00
Christoph Oelckers
cc617d9085
- Backend update from Raze.
...
Mostly warning fixes reported by Clang, plus GLES update.
2021-10-30 09:29:21 +02:00
Magnus Norddahl
8e59ed754e
Fix vulkan validation errors for wrong image transitions and buffers used after destroyed
2021-10-29 22:38:18 +02:00
Magnus Norddahl
d853961a83
Fix vulkan buffers not using the stream usage for the 2d drawer
...
Add BufferUsageType enum to clarify what kind of usage is expected by the buffer allocated by SetData
2021-10-26 22:43:38 -04:00
Magnus Norddahl
f216ca4ea8
Merge branch 'master' into lightmaps2
2021-10-21 23:08:55 +02:00
nashmuhandes
b657478f6f
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2021-10-21 20:56:36 +08:00
Rachael Alexanderson
2420371c46
- change cvars gl_custompost
and gl_customshader
to archive and save to .ini since there are uses for these shaders beyond mere debugging.
2021-10-20 11:23:05 -04:00
nashmuhandes
5c20a5918e
Merge branch 'master' of https://github.com/nashmuhandes/gzdoom into lightmaps2
2021-10-20 21:59:37 +08:00
Rachael Alexanderson
bb44f3dcd9
- add cvar r_skipmats
- speeds up rendering on slower cards for mods that use a lot of specularity/pbr, effective on both the opengl and vulkan backends
2021-10-20 06:49:45 -04:00
alexey.lysiuk
b85282fe5e
- disabled nullability warnings in Vulkan memory allocator
2021-10-18 10:27:03 +03:00
alexey.lysiuk
94b77de5ed
- fixed Vulkan memory allocator initialization
2021-10-18 09:50:33 +03:00
alexey.lysiuk
df2d07e0d5
- update Vulkan headers to the latest released SDK
...
https://github.com/KhronosGroup/Vulkan-Headers/releases/tag/sdk-1.2.189.1
This fixes missing `VK_ERROR_UNKNOWN` definition
2021-10-18 09:47:44 +03:00
alexey.lysiuk
80b8ab8fa2
- add missing vk_mem_alloc.natvis
...
1b0bd18053/src/vk_mem_alloc.natvis
2021-10-18 09:44:47 +03:00
Christoph Oelckers
eb9f752db8
- updated vk_mem_alloc.
2021-10-17 09:12:03 +02:00
Magnus Norddahl
6a804cd4c7
Fix lightmaps got applied to model meshes
2021-10-14 06:11:54 +02:00
Magnus Norddahl
a77dfae0bc
Fix out of pool memory error
2021-10-08 10:15:01 +02:00
nashmuhandes
ff3cdb7e56
Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2
2021-09-27 07:32:30 +08:00
Emile Belanger
8f54de99e0
GLES: Fix texture MapBuffer and AllocateBuffer create client side memory.
2021-09-25 11:14:18 -04:00
Magnus Norddahl
b59554f319
Fix "out of memory" errors when the vulkan backend is asked to create zero byte sized buffers
2021-09-25 08:42:31 -04:00
Jan Engelhardt
25350109e8
gles: look for libGLESv2.so.2
...
Distros do not have the .so files at all times, because those are
counted as development and not runtime.
2021-09-25 04:21:16 -04:00
Magnus Norddahl
8a2f445dd6
Fix lightmap texture not getting bound by the OpenGL backend
2021-09-25 00:39:28 +02:00
Magnus Norddahl
63ecb36889
Add lightmap texture support to vulkan backend
...
Also fix a warning in SetFlatVertex
2021-09-25 00:13:25 +02:00
Magnus Norddahl
24070cba2d
Add missing LightMap bind call
2021-09-24 17:24:59 +02:00
Magnus Norddahl
604c4ff8e0
Fix vertex layout locations and add lightmap to vulkan shader
2021-09-24 16:21:23 +02:00
nashmuhandes
2f8cff90b6
- Add lightmaps to the main shader (currently only OpenGL)
...
- Create a version of CreateIndexedSectorVertices that works with lightmap sectors
2021-09-24 16:56:15 +08:00
nashmuhandes
39481f0d07
- Add support for loading lightmap data generated by ZDRay
...
- Initialize lightmap texture in the hardware abstract parts of the engine
2021-09-24 14:51:48 +08:00
Christoph Oelckers
da806b354d
- cleanup of the revised y-clamping feature.
...
This integrates better with the existing features.
2021-09-21 20:31:42 +02:00
Emile Belanger
4de6b769d3
GLES: Only use GPU sync if necessary and available.
...
If there are complaints of reduced performance, or visual artefacts compared to 4.6.1, it may be worth increasing HW_MAX_PIPELINE_BUFFERS to 4 again.
2021-09-21 18:45:55 +02:00
Emile Belanger
db59a4f9af
Add buffer synchronisation for GLES when using mapped buffers.
2021-09-20 18:12:20 -04:00
Emile Belanger
76875f0a3c
Fix spot lights for GLES
2021-09-20 18:12:20 -04:00
Emile Belanger
e361ff1a9c
Removed unused EGL files
2021-09-20 18:12:20 -04:00
Rachael Alexanderson
cb0c8922e0
- downgrade GL_EXTENSIONS message in OpenGL ES to logging level
2021-09-20 08:46:34 -04:00
Christoph Oelckers
a0043ec09d
- better handling of texture clamp state.
...
Free combination of clamping with all texture modes still missing in GLES and Softpoly renderers!
2021-09-19 14:54:34 +02:00
Christoph Oelckers
7aaea65f28
- fixed GLES startup
2021-09-18 10:18:23 +02:00
Christoph Oelckers
67958833b7
Merge branch 'gles2_merge'
2021-09-17 21:22:41 +02:00
Christoph Oelckers
918e9e9b0d
- fixed texture clamping for elements that are partially behind a slope.
...
This is mainly mid textures on linedefs and decals.
2021-09-17 00:25:28 +02:00
Christoph Oelckers
17638426b9
- removed the redundant gl_render_precise CVAR.
...
The menu now uses gl_seamless directly without the redirection.
2021-09-14 19:49:42 +02:00
Christoph Oelckers
b0382599f6
- removed the SSBO block for desktop OS’s when gl_pipeline_depth is enabled
2021-09-14 00:13:08 +02:00
Magnus Norddahl
796890bb98
Limit texture upload transfer buffers to roughly 64 MB
2021-09-13 23:56:15 +02:00
Christoph Oelckers
03c8fd9956
- block user overrides for the logic module of core fragment shaders.
2021-08-24 10:24:23 +02:00
Christoph Oelckers
19c8eb1e33
- fixed bad check for gl pipeline type.
2021-08-20 08:07:16 +02:00
Rachael Alexanderson
92a3731f20
Merge remote-tracking branch 'origin/master' into gles2_merge
2021-08-13 08:11:58 -04:00
Christoph Oelckers
c3772fe203
- changed FString API to use ptrdiff_t instead of long for signed size arguments.
2021-08-12 00:45:59 +02:00
Gutawer
67e7d1a6f5
- make RenderCommands able to use Shape2D vertex buffers past the Shape2D's lifetime without crashing
2021-08-11 19:50:49 +02:00
Christoph Oelckers
1097bd6c73
- fixed: instead of checking gl_lights, better check Level->HasDynamicLights.
...
Especially in the thinker code this is needed for software rendering.
Strictly speaking, the software renderer should do the same, but it checks r_dynlight in so many places deep in the logic where the level is not available.
2021-08-11 14:09:00 +02:00
Christoph Oelckers
3adadfe4d3
- do not run the dynamic light ticker when lights are switched off.
2021-08-11 12:39:17 +02:00
Christoph Oelckers
f662c629e3
- ensure that shadowmap indices only get set when shadowmaps are enabled.
...
Having valid indices set when shadowmaps are off would cause the shader to run the full checks for all lights.
2021-08-11 10:06:22 +02:00
Christoph Oelckers
c24f644a61
- do not perform shadowmap updates when dynamic lights are disabled.
2021-08-11 08:08:29 +02:00
Christoph Oelckers
a16088f4b4
- fixed two vr_* CVARs not getting archived.
2021-08-10 18:51:44 +02:00
Christoph Oelckers
441cd0796f
- merged gzdoom-gles2 and fixed some issues with pipeline size validation.
2021-08-03 20:12:19 +02:00
Christoph Oelckers
b82b5384a0
- Backend update from Raze.
...
* voc loader fix.
* better prefix detection in Zip loader.
* SDL Vulkan init.
* disabling of shadowmap management when the feature is off.
2021-08-03 12:52:21 +02:00
Christoph Oelckers
c1a8776a15
- updated common code from screenjob branch.
...
That is, all parts not related to cutscenes.
2021-08-03 12:30:44 +02:00
Christoph Oelckers
0cffeef2c6
- added map option to disable shadowmaps.
...
Prompted by 'Hurt' which has > 4000 lights and runs into both performance issues and unpredictable light selection for the limited amount of shadowmap slots.
2021-07-13 11:54:25 +02:00
alexey.lysiuk
e63f3e394c
- fixed format specifier compilation warnings
...
src/common/engine/serializer_internal.h:241: warning: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long') [-Wformat]
src/common/engine/serializer_internal.h:250: warning: format specifies type 'long long' but the argument has type 'int64_t' (aka 'long') [-Wformat]
src/common/rendering/vulkan/system/vk_device.cpp:364:29: warning: format specifies type 'unsigned long long' but the argument has type 'uint64_t' (aka 'unsigned long') [-Wformat]
src/common/rendering/vulkan/system/vk_framebuffer.cpp:701:57: warning: format specifies type 'unsigned long long' but the argument has type 'VkDeviceSize' (aka 'unsigned long') [-Wformat]
2021-07-01 13:19:18 +03:00
Christoph Oelckers
7eef7614f8
- do not send depth bias changes to the GPU if nothing has changed.
2021-05-21 21:01:20 +02:00
Christoph Oelckers
8a4fa8b65f
- backend update from Raze.
2021-05-17 20:44:19 +02:00
Christoph Oelckers
97b8c0ccfb
Revert "- fixed some uses of postincre,ment/decrements on narrow types."
...
This reverts commit 668f8f2cf6
.
Revert "- added a proper error message when '--' or '++' gets used on 8 or 16 bit values."
This reverts commit a94f5dd1b3
.
None of this was necessary - the triggered assert was bogus and had to be removed.
2021-05-17 18:13:30 +02:00
Christoph Oelckers
668f8f2cf6
- fixed some uses of postincre,ment/decrements on narrow types.
...
THe VM has no opcode for this, all these places produced code with undefined behavior.
2021-05-17 12:42:22 +02:00
Christoph Oelckers
52554dc32c
- Backend update fron Raze, mainly new script exports and extensions.
2021-05-03 14:13:03 +02:00
Rachael Alexanderson
a2d3dbf74e
- Change VKHardwareTexture::CreateTexture
to allow a null buffer to be passed. This is used by the software renderer to create an arbitrary texture for screen rendering.
2021-04-25 02:06:40 -04:00
Christoph Oelckers
ba146ed5e5
- Backend update from Raze
2021-04-19 12:58:35 +02:00
Magnus Norddahl
4e503a1d1b
Removed depthClamp requirement (note: portals will not render correctly on such devices)
...
Added format fallback support for VK_FORMAT_A2R10G10B10_UNORM_PACK32 since the pi4 doesn't support it
2021-03-28 18:26:23 +02:00
Erick Vasquez Garcia
03473abea2
A software implementation for gamma, brightness, contrast and saturation effects on SoftPoly. Based on original code by @dpjudas, thanks for the code.
2021-03-27 10:35:41 +01:00
Erick Vasquez Garcia
bf3018cc84
Bug fix in invulnerability in Doom Software Render Mode and True Color SW Render in SoftPoly.
2021-03-27 10:35:41 +01:00
Christoph Oelckers
ae09ca7a48
- moved EColorManipulation into the backend.
2021-03-13 12:21:07 +01:00
Magnus Norddahl
996b4f9f5c
Implement depth clamp
2021-03-02 03:22:18 +01:00
Magnus Norddahl
d6f8e80177
Fix portals not working in softpoly ( #1323 )
2021-02-28 20:24:15 -05:00