**System Information**
Operating system: tested on both Linux (NixOS) and Windows 10
Graphics card: Linux: RTX 3060, Windows: RTX 3090
**Blender Version**
Broken: 2.93 - 3.0.0
Worked: 2.92
**Short description of error**
When using a custom Open Color IO configuration, Blender silently fails to use custom Display Devices that include a 1D LUT in their transform.
If Blender is run outside of a console, it silently fails. (The colors in the view may change slightly from sRGB, but it is not correct and is not utilizing the selected Display Device.) If Blender is run from the console, the following error is emitted to the console when attempting to switch to the custom Display:
ERROR (gpu.shader): OCIOShader FragShader:
|
47 | outColor.r = texture1D(ocio_lut1d_0Sampler, ocio_lut1d_0_coords.r).r;
|
| Error: C7616: global function texture1D is removed after version 140
The appearance of this bug corresponds with Blender switching to Open Color IO 2.x, and seems to do with OCIO's new GPU-accelerated 1d LUT code, as per this issue on their github:
https://github.com/AcademySoftwareFoundation/OpenColorIO/issues/1486{F12735570}
Looking at that issue, it appears that a fix is available, and just needs to be incorporated into Blender.
**Exact steps for others to reproduce the error**
1. Download the attached minimal example OCIO configuration, and unzip it somewhere.
2. Launch Blender with the `OCIO` environment variable set to point to the config.ocio file in the unzipped config.
3. Under `Render Properties -> Color Management`, change `Display Device` to `Theta 360`.