* Add Ubuntu 24.04 to CI matrix.
* Fix embree4 bitrot.
* For Linux, only upload artifact from Ubuntu 22.04 for now
Should fix this error reported on ubuntu-22.04's CI
Error: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
* Use system TBB and Embree 4 on ubuntu-24.04
* skip packaging of embree/TBB if using system provided packages
* For Linux, only upload artifact from Ubuntu 22.04 for now (fix)
* common: fix ASan error on non-null-terminated (16 char long) texture names
---------
Co-authored-by: Daniel Svensson <dsvensson@gmail.com>
merge some light algorithms together
allow changing attenuation on surface lights with _surflight_atten
replace some emplace_back's with push_back to improve compilation times
* light: Add support for LIGHTING_E5BGR9.
This is not really finished. Currently mutually exclusive with
regular RGBLIGHTING, and not tested with external .lit file.
* light: replace HDR_PackResult with a version following the OpenGL spec
- add HDR_UnpackE5BRG9 for unpacking
- caller is now responsible for scaling 128 -> 1
- expose in header for tests
* light: move HDR_PackE5BRG9/HDR_UnpackE5BRG9 to common/litfile.hh
* build: std::powf not available in gcc
* common: move LoadLitFile to litfile.hh
* common: LoadLitFile: return hdr variant as well
* lightpreview: add an Exposure slider
* lightpreview: support hdr .lit's, wip
* tests: refactoring to set up testing for hdr lit's
* tests: add test for -hdr and -bspxhdr
* tests: fix LM_Sample to deal with styles correctly
* lightpreview: fix glsl error
* lightpreview: show dialog box for glsl compile errors
---------
Co-authored-by: Daniel Svensson <dsvensson@gmail.com>
* simplify light_surfaces storage
* memory on writes
* Revert "batch together traces on the whole surface - saves a small amount of time"
This reverts commit 72611b7e97.
# Conflicts:
# light/ltface.cc
* fix a use-after-move
* don't try to write lightmap if it has no styles
* fix issue with alignment
* vis algorithm improvement, new commandline option -targetchecks
* vis: only calculate num_expected_targetchecks if needed
Fixes a bit of performance regression when -targetchecks was added, when running
with -targetchecks 0, apparently due to the cost of all the std::popcount's.
gmsp3v2.bsp, 32 threads:
18s (brushbsp branch 9388d43b1c)
21.1s (vis algorithm improvement)
18.2s (this commit)
* vis: default targetchecks to 0.5
gmsp3v2.bsp vis, 32 threads: 18.2s -> 10.6s
---------
Co-authored-by: Eric Wasylishen <ewasylishen@gmail.com>