Commit graph

350 commits

Author SHA1 Message Date
myT
1544a61cfc added waitms 2022-04-12 04:18:32 +02:00
myT
9e445bc284 fixed vertex lighting applying to non-lightmapped surfaces 2022-04-12 04:12:38 +02:00
myT
51863892f0 no longer denying looping sounds
this is mostly undoing e50a60fe17
and warning when delayed loads happen in quick succession

with this change:
- we no longer block legit looping sounds like the RG hum
- we only warn when there are too many loads instead of spamming for legit stuff
2022-04-11 00:40:27 +02:00
myT
dbfb3c5028 fixed delayed shader loads leading to incorrect rendering and crashes (dynamic lights) 2022-04-10 22:14:19 +02:00
myT
981f059b7b do not replace older surfaces with newer ones but refuse to add new ones instead
surfaces added first are part of the map itself
it's better to drop e.g. some plasma cells rather than e.g. entire walls
it's also less error-prone to work with since we don't need to fix numbers on read
but only check on write in exactly 2 spots

also removed tr.shiftedEntityNum because it was unnecessary...
2022-04-10 21:45:59 +02:00
myT
1317ce54cb added Sys_DebugPrintf 2022-04-10 21:24:36 +02:00
myT
fa1cee73e0 fixed CL_NextDemo not being called after a drop error or fopen failing 2022-04-09 03:50:16 +02:00
myT
9b114e7886 fixed music playback crash in CPMA credits with s_musicvolume > 0 2022-04-08 21:41:26 +02:00
myT
7923a0a94e fixed a Linux/FreeBSD start-up crash 2022-04-08 21:29:19 +02:00
myT
c534ed8048 fixed the alpha channel blend factors in the D3D11 backend 2020-11-06 02:48:55 +01:00
myT
c12f7e8541 removed a redundant if statement 2020-11-05 03:55:37 +01:00
myT
b1df6ac8f7 added new stats to r_speeds 1 (shader changes, draw calls) 2020-11-05 03:50:58 +01:00
myT
f4e8e81ab5 fixed draw surface sorting
got broken with commit 633c5bd13c
2020-11-05 03:47:55 +01:00
myT
3e0f5b2760 fixed RB_CalcTurbulentTexCoords by using the correct vertex offset
it got broken with db4fb31658
2020-10-27 00:30:13 +01:00
myT
55ed0e80af r_lightmap 1 now handles most alpha-tested surfaces 2020-10-20 01:55:53 +02:00
myT
7262b90655 no longer whining about mixed image settings with external lightmap atlases 2020-10-15 05:25:51 +02:00
myT
e50a60fe17 sound loads during gameplay print warnings and get denied for looping sounds 2020-10-15 05:07:55 +02:00
myT
bb9e814837 throwing a fatal error when com_soundMegs is too low for a map load 2020-10-15 05:04:01 +02:00
myT
a4397252c3 com_soundMegs now defaults to 16 2020-10-15 04:48:41 +02:00
myT
ad2d3386a6 D3D11 now does depth clipping and the near clip plane distance is now 1 2020-10-11 18:24:35 +02:00
myT
45f66b1a88 added sys_compiler and sys_cplusplus to embed build information 2020-10-11 02:27:27 +02:00
myT
e0b04b55c3 cl_aviFrameRate now defaults to 60 2020-10-09 04:57:02 +02:00
myT
0af1422190 Windows audio output device sampling rate is now 44.1 kHz 2020-10-09 04:51:21 +02:00
myT
8adf87e7c7 fixed .avi files starting with silence when not first in the sequence 2020-10-09 04:28:37 +02:00
myT
dea818a260 fixed a D3D11 resource hazard warning about depth/stencil buffer bindings
swapped the calls back so that the depth buffer is never bound as both a RT and SRV at the same time
2020-10-09 04:01:26 +02:00
myT
6f7d4892df added detailed live objects reporting for full shutdowns in D3D11 debug
the name tweaks are there because the run-time erroneously reports this warning:
"Existing private data of same name with different size found!"
2020-10-09 01:22:04 +02:00
myT
5466b65735 caching the pixel shader resource views in D3D11 2020-10-08 04:50:32 +02:00
myT
249bcb2d07 caching the current active texture slot in GL3
it reduces the total number of API calls by a good amount
2020-10-08 04:45:33 +02:00
myT
2aaf17b061 fixed the GL3 debug uniform location check
it would incorrectly trigger with r_alphaToCoverage 1 and r_msaa 0
2020-10-08 04:19:20 +02:00
myT
633c5bd13c tweaked the draw surface sort key for better performance
it minimizes depth fade <-> generic pipeline transitions
2020-10-08 04:08:38 +02:00
myT
78cf275a62 fixed depth fade with MSAA in the GL3 backend 2020-10-08 03:55:40 +02:00
myT
427172edcf fixed D3D11 device resets being sometimes treated as fatal errors
after getting DXGI_ERROR_DEVICE_REMOVED or D3DDDIERR_DEVICEREMOVED,
GetDeviceRemovedReason can return DXGI_ERROR_DEVICE_RESET
this particular case should trigger a video restart instead of a fatal error
2020-07-07 09:07:53 +02:00
myT
49028a3f36 simplified the new D3D11 partial clear code to not needlessly change primitive topology 2020-07-07 04:44:31 +02:00
myT
a5c820644a CVar slots that have been freed can now be allocated again 2020-07-07 04:25:21 +02:00
myT
7412c4b373 added r_alphaToCoverageMipBoost and did some other changes to A2C
- r_alphaToCoverageMipBoost scales the alpha value based on the current texture LoD
  this prevents the "fading with distance" effect
- mip 0 dimensions are tested to decide whether contrast boosting around 0.5 is enabled
  this is to deal with high r_picmip configs
- improved algorithm for excellent sharpness and minimized temporal artefacts
- GLSL 4.00 is required for the GL3 backend to use A2C (for textureQueryLod)
2020-07-07 03:49:52 +02:00
myT
180a0187b7 fixed the R_AddWorldSurface optimization so it won't remove the sky 2020-06-20 03:04:00 +02:00
myT
70ba2e7939 fixed and improved GL3 shader uniforms caching 2020-06-20 02:28:55 +02:00
myT
6fcabd83b7 fixed D3D11 partial render target clears
viewport/scissor settings do NOT apply to:
- ClearDepthStencilView
- ClearRenderTargetView

hence this fix
2020-06-18 04:19:34 +02:00
myT
05d92ab6f0 1.52 release 2020-06-01 21:08:56 +02:00
myT
54ee6436fe updated copyright years 2020-06-01 20:28:44 +02:00
myT
178a61b953 fixed r_mode 1 issues with the D3D11 backend (screenshots and scissor rects)
the issues were:
- screenshots were black because of mismatched dimensions in the CopyResource call
- display was showing garbage because the scissor rect was too large
2020-05-11 20:07:29 +02:00
myT
f484ee94a7 fixed alpha to coverage for the greater than 0 alpha test 2020-05-09 17:11:47 +02:00
myT
d6f77a9b35 fixed crashes due to render command list overflows
also increased the buffer's size (e.g. to draw all chars in the console in 4K)

one of the crashes happens in R_SortDrawSurfs:
-> render command list is too full
-> RE_EndFrame returns early because it can't allocate RC_SWAP_BUFFERS
-> R_ClearFrame in RE_EndFrame doesn't get called
-> the next frame starts with r_firstSceneDrawSurf etc. not being reset to 0
-> r_firstSceneDrawSurf becomes really close to the maximum draw surface limit
-> the draw surface list is iterated incorrectly (no wrapping handled)
-> we fetch a draw surface we shouldn't
-> its sort key gets decoded and we get an invalid sorted shader index
-> we fetch a NULL shader at that index location
-> we attempt to read shader->sort
-> we crash reading address 76
-> 76 bytes is exactly the offset of the sort member into the shader_t struct
2020-05-08 03:38:26 +02:00
myT
1cf28d87fe r_speeds is no longer cheat-protected 2020-04-28 17:20:02 +02:00
myT
1994475982 renamed r_noiseScale to r_ditherStrength for consistency 2020-04-28 17:04:43 +02:00
myT
718b966414 depth fade fixes and improvements
- renamed r_softSprites to r_depthFade
  the term's more descriptive and it helps that UE4 uses it
- fixed the GL3 fragment shader halving the depth bias
- fixed the D3D11 pixel shader only fetching depth sample 0
  not fixed for GL3 yet, see the code comments for that
- added support for more blend states
- added the q3map_cnq3_depthFade general shader directive
2020-04-26 16:32:51 +02:00
myT
a59875200c fixed the D3D11 back-end sometimes colorizing mip level 0 with r_gpuMipGen 1 and r_colorMipLevels 0
it happened because the color channels for blendColor weren't initialized,
that memory could have at least one channel initialized as a NaN value and
throwing a NaN in the shader logic would break it
2020-04-16 05:24:11 +02:00
myT
a5e28eb08f added r_transpSort and we can now sort all surface types by depth
also fixed up RE_AddPolyToScene's overflow check
2020-04-16 05:01:48 +02:00
myT
0fcd462244 improved the map download initiation logic and updated the CNQ3 map server addresses 2020-04-06 03:46:14 +02:00
myT
7c56c41968 fixed a formatting issue in the build guide 2020-04-05 06:56:24 +02:00