Matt Pharr
b4ce9687e6
Merge pull request #544 from k-badz/kbadz/black_image_fix
...
cpu-macos-build-and-test / Build and test (push) Waiting to run
cpu-macos-build-and-test / Build and test-1 (push) Waiting to run
cpu-macos-build-and-test / Build and test-2 (push) Waiting to run
cpu-windows-build-and-test / Build and test (push) Waiting to run
cpu-windows-build-and-test / Build and test-1 (push) Waiting to run
cpu-windows-build-and-test / Build and test-2 (push) Waiting to run
gpu-build-only / GPU Build Only (ubuntu-24.04, CUDA 12.9.1, optix-7.7.0) (push) Waiting to run
gpu-build-only / GPU Build Only (windows-2022, CUDA 12.9.1, optix-7.7.0) (push) Waiting to run
gpu-build-only / GPU Build Only (ubuntu-24.04, CUDA 12.9.1, optix-8.1.0) (push) Waiting to run
gpu-build-only / GPU Build Only (windows-2022, CUDA 12.9.1, optix-8.1.0) (push) Waiting to run
gpu-build-only / GPU Build Only (ubuntu-24.04, CUDA 12.9.1, optix-9.0.0) (push) Waiting to run
gpu-build-only / GPU Build Only (windows-2022, CUDA 12.9.1, optix-9.0.0) (push) Waiting to run
gpu-build-only / GPU Build Only (ubuntu-24.04, CUDA 13.0.1, optix-7.7.0) (push) Waiting to run
gpu-build-only / GPU Build Only (windows-2022, CUDA 13.0.1, optix-7.7.0) (push) Waiting to run
gpu-build-only / GPU Build Only (ubuntu-24.04, CUDA 13.0.1, optix-8.1.0) (push) Waiting to run
gpu-build-only / GPU Build Only (windows-2022, CUDA 13.0.1, optix-8.1.0) (push) Waiting to run
gpu-build-only / GPU Build Only (ubuntu-24.04, CUDA 13.0.1, optix-9.0.0) (push) Waiting to run
gpu-build-only / GPU Build Only (windows-2022, CUDA 13.0.1, optix-9.0.0) (push) Waiting to run
gpu-build-only / GPU Build Only (ubuntu-24.04, CUDA 13.1.1, optix-7.7.0) (push) Waiting to run
gpu-build-only / GPU Build Only (windows-2022, CUDA 13.1.1, optix-7.7.0) (push) Waiting to run
gpu-build-only / GPU Build Only (ubuntu-24.04, CUDA 13.1.1, optix-8.1.0) (push) Waiting to run
gpu-build-only / GPU Build Only (windows-2022, CUDA 13.1.1, optix-8.1.0) (push) Waiting to run
gpu-build-only / GPU Build Only (ubuntu-24.04, CUDA 13.1.1, optix-9.0.0) (push) Waiting to run
gpu-build-only / GPU Build Only (windows-2022, CUDA 13.1.1, optix-9.0.0) (push) Waiting to run
gpu-build-only / GPU Build Only (ubuntu-24.04, CUDA 13.2.0, optix-7.7.0) (push) Waiting to run
gpu-build-only / GPU Build Only (windows-2022, CUDA 13.2.0, optix-7.7.0) (push) Waiting to run
gpu-build-only / GPU Build Only (ubuntu-24.04, CUDA 13.2.0, optix-8.1.0) (push) Waiting to run
gpu-build-only / GPU Build Only (windows-2022, CUDA 13.2.0, optix-8.1.0) (push) Waiting to run
gpu-build-only / GPU Build Only (ubuntu-24.04, CUDA 13.2.0, optix-9.0.0) (push) Waiting to run
gpu-build-only / GPU Build Only (windows-2022, CUDA 13.2.0, optix-9.0.0) (push) Waiting to run
Fix recent-MSVC device miscompile causing NaNs and black images
2026-09-08 11:24:27 -07:00
Matt Pharr
dc50b77c79
Update README.md: +hdrview, remove stale prerelease verbiage
2026-09-07 19:27:38 -07:00
Mark Bolstad
5f7a606806
Fix double-precision interval arithmetic in PBRT_FLOAT_AS_DOUBLE build
...
NextFloatUp(double) and NextFloatDown(double) were defined at line 326/340
in float.h, after AddRoundUp/AddRoundDown at line 199. At those call sites
only NextFloatUp/Down(float) was visible, so double arguments silently
converted to float — giving float-scale intervals even with Float=double.
Add forward declarations of the double overloads before AddRound* so
overload resolution selects the correct 64-bit implementation. This fixes
the earth-sphere penetration bug: the camera at 0.5m altitude now produces
a tiny double-precision c interval (~6.4 km²) instead of [-16, 28], and
t0 (the near intersection at 0.5m) is correctly selected over t1 (the
far intersection through the earth at 12742 km).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 16:50:27 -07:00
Matt Pharr
0fef7de38d
Merge pull request #545 from jaxvanyang/patch-1
...
Add missing DCI_P3 gamut option to rgb2spec_opt help message
2026-06-14 15:54:29 -07:00
Jax Young
bfaf7c8f0e
Add missing DCI_P3 gamut option to rgb2spec_opt help message
2026-06-11 22:36:59 +08:00
k-badz
b3428aad1b
Work around recent-MSVC device miscompile causing black GPU image
...
std::min/max's std::initializer_list overload miscompiles in device code when
built with recent MSVC build tools: the call returns garbage, which becomes NaNs
in the interval math and a bad pointer in RGBFilm::AddSample, effectively creating
black image result. The CPU path with the same code is fine; the known workaround
before was to downgrade MSVC (mmp/pbrt-v4#495 ). Use nested binary std::min/std::max instead.
Also move RGBToSpectrumTable::res to namespace scope; the same toolchain won't
take a class member as an array bound in a member type-alias.
Also.. change std::copysign to pstd:: variant as the std one emits wrong device code.
2026-06-08 00:38:53 +02:00
Matt Pharr
7154d8268b
Merge pull request #518 from gonsolo/conversion
...
Suppress a deprecation warning.
2026-05-16 07:42:02 -07:00
Matt Pharr
0575eaff52
github: now on to CPU CI failures
2026-05-16 06:08:41 -07:00
Matt Pharr
2606a2b351
github: try n+2 to get GPU CI working again
2026-05-15 18:07:30 -07:00
Matt Pharr
0bb1c5e48d
github: try n+1 to get GPU CI working again
2026-05-15 16:25:44 -07:00
Matt Pharr
62a128d7ce
github: try n to get GPU CI working again
2026-05-15 14:59:31 -07:00
Matt Pharr
ab9f2136a5
Fix nvcc __host__ __device__ warning for OptiXAggregate::BVH
...
nvcc marks implicitly-defined special members __host__ __device__, so
the implicit BVH copy ctor/dtor (which call std::vector's host-only
members) triggered warning 20011-D. The warning chain was driven by
AsyncJob<GAS> copying GAS, and thus BVH, by value.
Make BVH move-only with out-of-line special members and switch the
top-level GAS jobs to AsyncJob<GAS *> so the async machinery only ever
copies a pointer. This keeps the shared parallel.h/pstd.h utilities
untouched.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 14:38:53 -07:00
Matt Pharr
529988579b
github: attempt to fix CI GPU builds
2026-05-15 14:32:13 -07:00
Matt Pharr
64ba33e488
github: ongoing CI build fix attempts
2026-05-14 06:04:41 -07:00
Matt Pharr
2ef6e1386b
github: bump version of jimver/cuda-toolkit
2026-05-13 05:57:59 -07:00
Matt Pharr
6d4aed2eee
github: bump to actions/checkout@v5
2026-05-13 05:57:59 -07:00
Matt Pharr
016380281a
Merge pull request #538 from mpriestman/correct-maxvalue-return-type
...
Correct return type of SampledGrid::MaxValue
2026-05-12 17:01:29 -07:00
Matt Pharr
eef3a6ef63
Merge pull request #540 from swahtz/fix/cie_1931_2deg_ybar_547nm
...
Fix a typo at ȳ(547 nm) in CIE 1931 2° observer table
2026-05-01 15:44:02 -07:00
Jonathan Swartz
247b2f38df
Fix a typo at ȳ(547 nm) in CIE 1931 2° observer table
...
The tabulated value was 0.9874812.
Per CIE 018:2019 Table 6 (DOI 10.25039/CIE.DS.xvudnb9b), the correct
value is 0.9874182. Verification from CIE published data:
```
import urllib.request, csv, io
url = "https://files.cie.co.at/CIE_xyz_1931_2deg.csv "
data = urllib.request.urlopen(url).read().decode()
for row in csv.reader(io.StringIO(data)):
if row and row[0].strip() == "547":
print(f"y-bar at 547nm = {row[2]}")
break
```
Signed-off-by: Jonathan Swartz <jonathan@jswartz.info>
2026-04-23 11:19:11 +12:00
Michael Priestman
bb5afcab9e
Correct return type of SampledGrid::MaxValue
...
I think this should be return type auto like all the other functions
in this class. I suspect the code compiles because at the moment all
uses of SampledGrid expect MaxValue to actually return type Float.
2026-04-08 22:05:39 +01:00
Matt Pharr
8c19f30455
Merge pull request #521 from gonsolo/noseven
...
Three more occurrences of OPTIX7.
2025-12-08 14:30:32 -08:00
Matt Pharr
91bc6ca69b
Another attempt at fixing the GPU CI build ( #5 )
2025-10-24 17:16:34 -07:00
Matt Pharr
f358078114
Another attempt at fixing the GPU CI build ( #4 )
2025-10-24 17:03:35 -07:00
Matt Pharr
b6d9ce0831
Another attempt at fixing the GPU CI build ( #3 )
2025-10-24 15:31:31 -07:00
Matt Pharr
6e32904799
Another attempt at fixing the GPU CI build ( #2 )
2025-10-24 14:23:27 -07:00
Matt Pharr
500a5be84d
Another attempt at fixing the GPU CI build
2025-10-24 13:46:23 -07:00
Matt Pharr
5805005167
Attempt to fix ci-gpu CI build
...
- apt-get update
- Fix path to windows pbrt.exe
- Stop caching OptiX headers; hopefully no longer needed
2025-10-24 06:38:14 -07:00
Gon Solo
344b2beef4
Three more occurrences of OPTIX7.
2025-10-24 08:52:09 +02:00
Gon Solo
da60a89ca2
Restrict to GCC and Clang.
2025-10-24 08:47:06 +02:00
Matt Pharr
d2dc5b4137
Drop OptiX 7.5.0, add 9.0.0 to CI builds
2025-10-23 19:28:00 -07:00
Matt Pharr
935c10f7f4
Merge pull request #516 from gonsolo/noseven
...
Remove Optix version.
2025-10-23 19:27:02 -07:00
Matt Pharr
8de4354af0
Merge pull request #517 from gonsolo/unused
...
Remove unused filterOptions.
2025-10-23 11:56:13 -07:00
Matt Pharr
14abed7519
Merge pull request #519 from gonsolo/unused2
...
Remove unused variable.
2025-10-23 11:54:47 -07:00
Matt Pharr
c70b8671a9
Merge pull request #520 from gonsolo/dim
...
Remove a warning about dim 0.
2025-10-23 11:53:27 -07:00
Gon Solo
82efbd535b
Remove a warning about dim 0.
2025-10-23 11:48:14 +02:00
Gon Solo
18b7c2a2a4
Remove unused variable.
2025-10-23 11:32:00 +02:00
Gon Solo
7f217866a7
Suppress a deprecation warning.
...
The solution for the warning in string.cpp will only arrive in C++26.
2025-10-23 11:23:58 +02:00
Gon Solo
1b89ed472a
Remove unused filterOptions.
2025-10-23 11:14:01 +02:00
Gon Solo
e1288833cb
Remove Optix version.
...
Since CI is running on Optix 7 and 8, and I have PBRT compiled locally
with Optix 9, it doesn't make sense to call it OPTIX7 anymore.
2025-10-23 10:40:10 +02:00
Matt Pharr
970fee03b7
parallel_test.cpp: attempt to work around windows test failures
2025-10-22 13:51:38 -07:00
Matt Pharr
0d6d9573e9
Fix HashBuffer to include sizeof(T) in size passed to MurmurHash64A.
...
Updated callers in test code that weren't expecting this. (Callers in
existing code were expecting it but not getting it!)
Fixes #487 .
2025-10-22 13:41:35 -07:00
Matt Pharr
85918d59e4
flip.cpp: add cstdint include to make gcc happy
2025-10-22 12:59:33 -07:00
Matt Pharr
35bb9b88c0
Merge pull request #513 from jflatt-gia/scale2x
...
Add Optix 2X scaler to imgtool
2025-10-22 12:35:02 -07:00
Matt Pharr
70f8b9ed92
Merge pull request #480 from johnnynunez/patch-1
...
Update ci-gpu.yml
2025-10-22 12:32:10 -07:00
Matt Pharr
689587986d
Merge pull request #515 from SPolton/fix-cuda-13
...
Fix CUDA 13.x Compatibility in PBRT-v4
2025-10-22 12:22:44 -07:00
Matt Pharr
49c38c2526
Merge pull request #502 from gonsolo/fix_gcc_15
...
Fix build with GCC 15.
2025-10-22 12:21:23 -07:00
Matt Pharr
d36160ebe5
Merge pull request #514 from Ka1serM/fix-cmake-build
...
Fix fatal CMake build error "Could NOT find ZLIB" from OpenEXR
Fixes #467 , #503 , and #493 .
2025-10-22 12:19:58 -07:00
Matt Pharr
7d728002ce
Update utf8proc version to hopefully fix build.
2025-10-22 12:02:52 -07:00
Matt Pharr
df937186ae
More submodule version updates to make github's cmake happy
2025-10-22 11:57:58 -07:00
Matt Pharr
90c73ac71a
Update to latest zlib released version
2025-10-22 11:41:43 -07:00