Commit Graph

4080 Commits

Author SHA1 Message Date
Eric Wasylishen 189cc0586c vis:: restore warnings disabled in 74e1a0f6f0 2023-11-11 14:56:15 -07:00
Eric Wasylishen 5bcb2d4657 vis: remove MAX_PORTALS_ON_LEAF
reduces memory use a bit

gmsp3v2.bsp - 51.96s elapsed
2023-11-11 13:10:01 -07:00
Eric Wasylishen e3c6ace7ad vis: code style updates 2023-11-11 12:59:45 -07:00
Eric Wasylishen 37fc62ca0e vis: remove dead code from header 2023-11-11 12:29:30 -07:00
Eric Wasylishen 8888506821 qbsp: fix -notex option 2023-11-09 23:57:07 -07:00
Eric Wasylishen f3b559ad92 bsputil: --replace-textures prototype 2023-11-09 22:06:40 -07:00
Eric Wasylishen 8845866c00 qvec: use fold expression for qv::dot
seems to help codegen on msvc.

gmsp3v2.bsp vis times: 51.9s , 52.1s
prev commit was 56s
2023-11-09 00:25:31 -07:00
Eric Wasylishen 57d5b22a95 vis: use size_t when accessing vis winding points
no perf change observed
2023-11-08 22:41:38 -07:00
Eric Wasylishen 54e7aadda7 vis: revert alloca() back to stack storage in ClipStackWinding
- the MAX_WINDING limit was already enforced
- on Windows, alloca() generates __chkstk calls which adds a bit of overhead

gmsp3v2 benchmark (32 threads, 2 runs per config):

before (with alloca): 58.8s, 59.1s
this commit (no alloca): 56.2s, 56.4s
2023-11-08 22:31:52 -07:00
Eric Wasylishen f1bf0f546d add missing #pragma once's 2023-11-08 21:30:44 -07:00
Eric Wasylishen a9838d9fc1 tests: fix build 2023-11-08 00:28:14 -07:00
Eric Wasylishen c9edf4ddaa vis: huge speedup from fixing false sharing with stat counters
gmsp3v2.bsp, 32 threads 3950x, 157s -> 61s
2023-11-08 00:05:08 -07:00
Eric Wasylishen 7e5ad9a39b lightpreview: add support for Q1 visdata 2023-11-06 22:54:21 -07:00
Eric Wasylishen e9532346c7 vis: partly fix perf regression of Oct 2021
- drops usage of winding_storage_hybrid
- makes pstack_t trivially default initializable again (like the C
  original)
- we weren't making use of the unlimited size of winding_storage_hybrid;
  the original vis already has an allowance for if a winding exceeds
  the fixed stack allocation size (24) and we were still applying that
  limit

before:

cmake-build-release\tests\tests.exe -r=xml -sf=*benchmark.cc
Testing started at 1:53 PM ...

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|               45.15 |       22,149,002.06 |    0.1% |      0.01 | `create pstack_t`
|               47.04 |       21,256,429.80 |    0.1% |      0.01 | `create pstack_t + 1x AllocStackWinding`
|               48.28 |       20,710,594.32 |    0.2% |      0.01 | `create pstack_t + 2x AllocStackWinding`
|              128.52 |        7,780,603.30 |    0.3% |      0.01 | `setup + ClipStackWinding`

Benchmark from: https://www.quaddicted.com/tools/vis_benchmark

cmake-build-release\vis\vis.exe -nostate -nopercent gmsp3v2.bsp

153.31s elapsed

after:

cmake-build-release\tests\tests.exe -r=xml -sf=*benchmark.cc
Testing started at 1:46 PM ...

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|                1.64 |      610,528,630.06 |    0.3% |      0.01 | `create pstack_t`
|                3.29 |      303,895,535.45 |    0.6% |      0.01 | `create pstack_t + 1x AllocStackWinding`
|                5.20 |      192,172,148.84 |    0.2% |      0.01 | `create pstack_t + 2x AllocStackWinding`
|               66.84 |       14,960,818.66 |    1.0% |      0.01 | `setup + ClipStackWinding`

Benchmark from: https://www.quaddicted.com/tools/vis_benchmark

cmake-build-release\vis\vis.exe -nostate -nopercent gmsp3v2.bsp

141.42s elapsed
2023-11-05 13:58:36 -07:00
Jonathan b83c4a6440 use fold expr instead of for statements in vec3
fix a bunch of clang warnings
2023-11-04 19:01:08 -04:00
Eric Wasylishen 389c89c04d 3rdparty: update fmt to latest release (10.1.1) 2023-11-04 16:11:40 -06:00
Eric Wasylishen 7cb6c6553b tests: add ClipStackWinding benchmark, qvec benchmark 2023-11-03 21:27:29 -06:00
Jonathan 24e0cb0d5c Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp 2023-11-01 20:14:40 -04:00
Jonathan 7186f411bb fix animation infinite loops 2023-11-01 20:14:36 -04:00
Eric Wasylishen 5229cd6efe decompile: build fix 2023-10-23 19:30:12 -06:00
Eric Wasylishen e84ba4cc68 lightpreview: leaf visualization: draw leaf outlines 2023-10-19 23:58:39 -06:00
Eric Wasylishen d6fbefaf0e lightpreview: decompile hulls for leaf visualization 2023-10-19 00:10:42 -06:00
dependabot[bot] 945f123ac5
build(deps): bump urllib3 from 2.0.6 to 2.0.7 in /docs (#388)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.0.6 to 2.0.7.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.0.6...2.0.7)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 18:22:27 -06:00
dependabot[bot] ffd20a77d8
build(deps): bump urllib3 from 2.0.2 to 2.0.6 in /docs (#387)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.0.2 to 2.0.6.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.0.2...2.0.6)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-09 12:32:16 -06:00
Eric Wasylishen 7abfec9dc2 lightpreview: enable highdpi support, set larger default window size 2023-10-01 18:47:33 -06:00
Eric Wasylishen a287eb0c22 docs: create a stub for the maputil, lightpreview docs 2023-10-01 12:58:39 -06:00
Eric Wasylishen a109dfca28 lightpreview: add "show bmodels" checkbox 2023-09-30 15:18:14 -06:00
Eric Wasylishen 248ed7c614 lightpreview: render Q1 faces with missing textures 2023-09-30 11:41:34 -06:00
Eric Wasylishen f9a9733068 qbsp: fix crash in CheckPlaneAgainstVolume if node->volume is already empty 2023-09-28 20:30:49 -06:00
Eric Wasylishen 8362ffa385 qbsp: fix memory/.bsp file corruption if map contains a texture name longer than 31 characters 2023-09-24 19:42:42 -06:00
Eric Wasylishen 91734ac8f6 light: fix gcc9 build 2023-09-17 21:24:04 -06:00
Eric Wasylishen e6d9605b86 light: fix lightgrid assertion failure if lightgrid gets a nan (separate bug) 2023-09-17 20:27:29 -06:00
Eric Wasylishen ec7b848f76 tests: fix issue where stray bsp's in testmaps/ folder cause false test failures
- typically the CI tests read maps from testmaps/foo.map and write to cmake-build-release/tests/foo.bsp.
- having a stray testmaps/foo.bsp would cause the qbsp part of the test to write to cmake-build-release/tests/foo.bsp
- then the "light" part of the test would prefer to read the bad testmaps/foo.bsp instead of the correct cmake-build-release/tests/foo.bsp
2023-09-17 17:03:42 -06:00
Eric Wasylishen 872f5fe8a0 build: copy + install mingw dll's libgcc_s_seh-1.dll, libstdc++-6.dll, libwinpthread-1.dll 2023-09-16 14:28:06 -06:00
qruf d189145a01
build: fixes for mingw support (#373) 2023-09-16 13:15:31 -06:00
Jonathan 0509c9a790 fix multiple bounce interaction with lightgrid 2023-09-16 11:55:10 -04:00
Jonathan 147be8f87a some optimizations in indirect lighting code
multiple bounce support
2023-09-16 00:41:05 -04:00
Josh Dowell 04044dd76d
lightpreview: fix texture mips not being generated (#385)
This was happening because allocateStorage allocates space for the texture and its mips up-front, the user of QOpenGLTexture is required
to determine the number of mips required for a texture beforehand.
allocateStorage was allocating space for mip 0 and no others, leading to no additional mips being generated.

This also adds explicit format and type to allocateStorage for only this instance, although it still remains optional.
2023-09-13 23:18:51 -06:00
Eric Wasylishen 20f7a83efa tests: fix bad expectation for q1_sunlight 2023-09-11 22:11:33 -06:00
Eric Wasylishen 507c315f78 light: fix missing textures accidentally activating "suntexture" feature and breaking sunlight
Fixes #376
2023-09-11 21:44:38 -06:00
Eric Wasylishen dedc524f6a lightpreview: add fixme 2023-09-11 19:35:20 -06:00
Eric Wasylishen 486f63f2d8 bspfile.cc: fix infinite loop 2023-09-11 18:47:56 -06:00
Eric Wasylishen 741b0b77ed lightpreview: fix loading a .bsp failing if there were light options set in the ui 2023-09-09 16:50:05 -06:00
Eric Wasylishen 2859f80465 build: lightpreview is enabled by default 2023-09-09 16:24:56 -06:00
Jonathan 69bc2c04c0 fix crash if projected texture is not found 2023-09-08 10:43:48 -04:00
Jonathan 6baa1243cf allow auto-gamedir to handle subdirectoried maps properly
fix include paths
2023-09-08 08:41:56 -04:00
Jonathan 2e3ed6c0a2 Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
# Conflicts:
#	maputil/maputil.cc
2023-09-07 14:56:00 -04:00
Jonathan 5619e2abef map file separation 2023-09-07 14:55:37 -04:00
Eric Wasylishen f069800015 build: use forward slashes in includes 2023-09-04 00:52:36 -06:00
Jonathan ba532ac0ab Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp 2023-09-04 02:51:27 -04:00