Magnus Norddahl
706bc0b7c6
Merge remote-tracking branch 'origin/master' into polybackend
2019-06-23 20:29:04 +02:00
Christoph Oelckers
3d3f364874
- consolidated postprocessing code a bit.
...
The code that determines the order of effects should not be duplicated between renderers.
2019-06-20 11:55:45 +02:00
Magnus Norddahl
774955dbc4
- write into stream buffers before opening the next render pass
2019-06-16 13:08:25 +02:00
Magnus Norddahl
d31dbf14e4
- wait for space if the stream buffers are exhausted
2019-06-16 13:05:12 +02:00
Magnus Norddahl
240a32f4c8
- also reset framebuffers when the image is reset
2019-06-16 10:31:12 +02:00
alexey.lysiuk
7e901055ea
- fixed: light mode from mapinfo had no effect
...
https://forum.zdoom.org/viewtopic.php?t=64997
2019-06-12 09:49:40 +03:00
Magnus Norddahl
82ebcc4946
- fix compile errors
2019-06-10 23:00:15 +02:00
Magnus Norddahl
bb47230f79
Merge remote-tracking branch 'origin/master' into polybackend
2019-06-10 22:46:32 +02:00
Magnus Norddahl
5dd06de48c
- fix compile error
2019-06-10 22:46:13 +02:00
Magnus Norddahl
a093f686a7
- store the vulkan framebuffer with the image (this ensures the framebuffer object is destroyed along with the image)
2019-06-10 22:14:02 +02:00
Christoph Oelckers
2766303cfc
- consolidated the 3 atterm implementations.
...
Each platform had its own copy. Why?
2019-06-10 12:01:01 +02:00
Christoph Oelckers
9f2fbc1294
- renamed GLViewpointBuffer to HWViewpointBuffer.
2019-06-10 10:50:45 +02:00
Magnus Norddahl
13cab1c0b6
- delay postprocess texture destruction until the end of the frame
2019-06-10 09:13:56 +02:00
Magnus Norddahl
8853872bb4
- fix wipe screen when using -loadgame
2019-06-10 08:40:49 +02:00
Christoph Oelckers
037b69c8a7
- reworked buffer binding logic.
...
This shouldn't be in the hardware independent interface because the semantics on OpenGL and Vulkan are too different, so a common implementation is not possible.
Most bind calls were in the GL interface anyway, so these no longer pass through hardware independent code.
This also moves the bind calls in the shadowmap code into the GL interface - these never did anything useful in Vulkan and aren't needed there.
Last but not least, this moves the legacy buffer binding handling into FGLRenderState and performs the initial binding for the light buffer in a more suitable place so that this doesn't have to pollute the render state.
2019-06-09 20:37:11 +02:00
Gutawer
324a720d56
- added a linear transformation system to Shape2D so that things like rotations and scales can be changed without having to clear and push a large amount of data
2019-06-08 14:05:32 +02:00
Magnus Norddahl
c9ee880196
- fix loadgame crash
2019-06-06 18:56:34 +02:00
Magnus Norddahl
ae69abc049
- FXAA_DISCARD should never be enabled. It only works when the output framebuffer is the same as the original.
2019-06-05 19:06:33 +02:00
alexey.lysiuk
4d29b5b5e7
- limited disabling of FXAA discard to Vulkan on AMD hardware
2019-06-04 12:43:08 +03:00
alexey.lysiuk
dc8a944382
- implemented GPU vendor string assingment in Vulkan backend
2019-06-04 12:42:01 +03:00
alexey.lysiuk
addcad8ac0
- disabled discard in FXAA shader with Vulkan backend
...
Discard caused graphical corruptions on AMD hardware with Vulkan backend enabled
https://forum.zdoom.org/viewtopic.php?t=64230
2019-06-04 11:32:00 +03:00
Edoardo Prezioso
589f9b5c24
- Fixed uninitialized variable in case GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS does not exist.
...
Old graphics, like mine (Intel Sandybridge Mobile, GL 3.0 Mesa) do not support this, therefore most of the time RFL_SHADER_STORAGE_BUFFER wasn't unset (I found no consequence of this on my machine, but better safe than sorry).
Found out by Valgrind.
2019-06-02 21:20:53 +02:00
Magnus Norddahl
91ec1463b8
- add line drawer
2019-05-31 08:49:08 +02:00
Magnus Norddahl
80805656ed
- implement alpha test
2019-05-31 06:43:24 +02:00
Magnus Norddahl
a5608c67b5
- upload using all threads
2019-05-31 05:42:04 +02:00
Magnus Norddahl
4a7824c380
- implement vsync and letterbox
2019-05-31 05:22:06 +02:00
Christoph Oelckers
6ace482266
- fixed fillSimplePoly for indexed data.
...
On OpenGL this merely caused some visual glitches on the cheat automap - but the bad data in the buffer can make Vulkan abort entirely.
2019-05-30 13:32:42 +02:00
Magnus Norddahl
b9230d4425
- fix negative uLightLevel being applied
2019-05-29 06:42:02 +02:00
Magnus Norddahl
a1229be5c6
- implement camera textures
2019-05-29 05:45:19 +02:00
Magnus Norddahl
be5ecce598
- fix fill color and translucency
2019-05-29 02:22:45 +02:00
Magnus Norddahl
eff38393af
- fix stencil writing color
2019-05-29 01:14:42 +02:00
Magnus Norddahl
555beb58f0
- tell softpoly backend which hwrenderer shader is active and use that to decide which drawer to use
2019-05-28 08:13:19 +02:00
Magnus Norddahl
bd591c75fb
- implement depth bias
2019-05-28 06:45:21 +02:00
Magnus Norddahl
b6e00cb208
- fix use after delete of some textures
2019-05-27 21:23:58 +02:00
Magnus Norddahl
c2535519e8
- fix blend mode for the fireballs
2019-05-27 20:20:20 +02:00
Magnus Norddahl
9f8cd68211
- fix use after delete
2019-05-27 20:03:11 +02:00
Magnus Norddahl
117617aad8
- minor blend and light adjustment
2019-05-27 19:18:27 +02:00
Magnus Norddahl
0d8d50c23e
- fix viewport location
...
- add scissor support
2019-05-27 16:51:54 +02:00
Magnus Norddahl
8db5e72254
- add PolyTriangleDrawer functions for the operations needed by PolyRenderState
2019-05-27 07:57:27 +02:00
Magnus Norddahl
3a3de13abd
- hook up main.vp and the data it uses for input
2019-05-26 01:00:36 +02:00
Magnus Norddahl
fbaeb11fba
- convert main.vp to c++ so softpoly can use it
2019-05-25 01:27:20 +02:00
Magnus Norddahl
b453e15929
- adjust PolyTriangleDrawer to closer match what PolyRenderState receives as input
2019-05-24 22:30:14 +02:00
Magnus Norddahl
4fd4bfa092
Merge remote-tracking branch 'origin/master' into polybackend
2019-05-24 19:21:36 +02:00
alexey.lysiuk
da2d0e47e6
- removed array length() function from shadowmap shader
...
Array's length() function is not yet supported by SPIRV-cross and MoltenVK
Its usage was replaced by explicit nodes count value passed as uniform
2019-05-24 14:29:37 +03:00
Magnus Norddahl
756c593e96
- create a new error class for vulkan errors as they are only recoverable during initialization (unlike CRecoverableError which is recoverable during normal processing)
...
- improve vulkan errors by including the status code returned by vulkan if they fail
2019-05-23 14:09:05 +02:00
Magnus Norddahl
0cb3605c70
- fix null drawers
...
- slightly better renderstyle drawer selection
2019-05-22 21:23:10 +02:00
Magnus Norddahl
d724b623d1
- enable the depth buffer
...
- support vid_scalefactor
2019-05-22 17:56:29 +02:00
Magnus Norddahl
48d2d423f6
- remove softpoly scene drawer
2019-05-22 17:16:07 +02:00
Magnus Norddahl
0eda298db2
- create a renderer backend based on softpoly's drawers
2019-05-22 06:29:52 +02:00
Magnus Norddahl
e4dab707e4
- don't run the custom shaders twice on screenshots
2019-05-20 12:46:05 +02:00