Commit graph

70 commits

Author SHA1 Message Date
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
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
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
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
db59a4f9af Add buffer synchronisation for GLES when using mapped buffers. 2021-09-20 18:12:20 -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
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
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
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
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
52554dc32c - Backend update fron Raze, mainly new script exports and extensions. 2021-05-03 14:13:03 +02:00
Christoph Oelckers
ba146ed5e5 - Backend update from Raze 2021-04-19 12:58:35 +02:00
Christoph Oelckers
ae09ca7a48 - moved EColorManipulation into the backend. 2021-03-13 12:21:07 +01:00
Gutawer
73dc528112
- fix some crashes in the Shape2D VBO code due to unsound pointer usage (#1318) 2021-02-25 10:49:41 -05:00
alexey.lysiuk
6d47d79e22 - removed useless x86.h #include's 2021-02-06 15:01:08 +02:00
Gutawer
aad50cb218 - fix alpha (and other parameter properties) not reuploading the buffer on Shape2D 2021-02-06 06:49:20 -05:00
William E. Waterman
3261eb3643
Side By Side Letterbox Display mode (#1255)
* Added SBSLETTERBOX to menudef.txt

* Changed PresentSideBySide in gl_renderer

Needed for new side-by-side mode

* Added VR_SIDEBYSIDELETTERBOX to gl_stereo3d.cpp

For side by side letterbox display mode

* Added VR_SIDEBYSIDELETTERBOX to hw_modes.h

For new side by side letterbox display mode

* Added VR_SIDEBYSIDELETTERBOX to hw_vrmodes.cpp

For Side By Side Letterbox display mode
2021-01-13 07:09:13 -05:00
Gutawer
276cdde112
Modify Shape2D so that it manages its own vertex buffer rather than using the draw list (#1249)
* - modify Shape2D so that it manages its own vertex buffer

* - fix the last commit failing on Shape2Ds that were modified after AddShape was called

* - make buffers an array of F2DVertexBuffers instead of an array of pointers

* - fix AddShape with the same VBO but different transformation crashing the game

* - formatting fixes
2021-01-02 07:41:32 -05:00
Christoph Oelckers
9925cc380e - backend update from Raze. 2020-11-23 15:45:33 +01:00
Christoph Oelckers
28a12d2597 - fixed update check for shadow map tree.
This should only flag the tree as new if it is different from the last one.
This not only caused issues with dynamic updates but also made the renderer recreate the tree's data structures repeatedly.
2020-10-17 15:01:05 +02:00
Christoph Oelckers
ff62d7a8a3 - made sysCallbacks a value variable instead of a pointer to simplify the checks for it. 2020-10-03 16:47:47 +02:00
Christoph Oelckers
baf93b51af - handle SoftLightLevel properly in the 2D drawer. 2020-09-27 16:09:35 +02:00
Christoph Oelckers
c65fd80fd2 - added support code for indexed rendering from Raze. 2020-09-27 11:53:39 +02:00
Magnus Norddahl
8306af298f Switch to use a single triangle when drawing screen quads for a slight cache locality improvement 2020-08-18 11:42:50 +02:00
dondiego
c8fe5bcb2e
Bumped version number to 4.5pre. (#1132)
* - Bumped version number to 4.5pre.

* - Delete superfluous include.
2020-07-08 23:24:36 -04:00
Christoph Oelckers
712d80006a - split game dependent parts out of menudef.cpp. 2020-06-14 00:27:32 +02:00
Christoph Oelckers
fe19aec059 - backend update from Raze. 2020-06-11 14:12:05 +02:00
Christoph Oelckers
646457eb03 - fixed: The scale vector for detail maps was not passed to the shader. 2020-06-11 14:12:05 +02:00
Christoph Oelckers
b0964101a5 - fixed: The flags for texture colorization were not passed to the backend. 2020-06-11 14:12:05 +02:00
Christoph Oelckers
95c232d31a - fixed: The scissor rectangle must be clipped to the upper left edge of the screen.
Negative coordinates are treated as "disable scissor", so if some transformation results in something off-screen it needs to be handled before passing it to the backend.
2020-06-11 14:12:05 +02:00
Christoph Oelckers
9e51a2f63c - added Build's NPOT emulation to the backend.
For GZDoom this is completely disabled, of course, because the Doom engine does not need it, but in order to have the same backend code in both engines it needs to be present.
2020-06-08 23:37:20 +02:00
Christoph Oelckers
3fc0d0d794 - backend changes from Raze, mainly to properly load keyboard presets. 2020-06-07 15:09:10 +02:00
alexey.lysiuk
718e2ea0f5 - fixed compilation warnings reported by Clang
src/g_level.cpp:1575:16: warning: delete called on non-final 'DoomLevelAABBTree' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
src/p_setup.cpp:367:16: warning: delete called on non-final 'DoomLevelAABBTree' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
2020-06-07 11:32:35 +03:00
Christoph Oelckers
b06af634e2 - added a flash component to the colormap shader.
Its main purpose is for RR's lightning flash in Raze but this looks very useful for manipulating fullscreen colormaps. Currently not exposed, though.
2020-06-07 09:16:56 +02:00
Christoph Oelckers
9f6d244016 - advanced coordinate control for overlays over DTA_Fullscreen images. 2020-06-06 12:51:03 +02:00
Christoph Oelckers
b60fd4d8bc - removed redundant TextureFilterChanged method from DFrameBuffer. 2020-05-29 11:53:37 +02:00
Christoph Oelckers
3fd4d08004 - fixed startup and font init crashes. 2020-05-04 20:06:54 +02:00