Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Bulk Load Demo sample not compatible with Visual C++ platform toolset v143

Open
#56 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
42/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Stale
Tech stack
cpp
Domain
build-system

Research direction

Start with Shaders/ColorSpaceUtility.hlsli and the v143 build errors shown in the issue, then inspect the BulkLoadDemo solution and its Core, Model, BulkLoadDemo, and MiniArchive projects. Rebuild Bulk Load Demo with Visual Studio platform toolset v143 and Windows SDK 10.0; done means the solution builds without the reported shader errors.

Written by the indexing model from the issue text.

Description

When opening Bulk Load Demo in Visual Studio using platform toolset v143, Windows SDK version 10.0, user is informed that ..\Core\Core.vcxproj, ..\Model\Model.vcxproj, ..\BulkLoadDemo\BulkLoadDemo.vcxproj, and ..\MiniArchive\MiniArchive.vcxproj may be upgraded to target the latest Microsoft toolset. If the user chooses to do this, the solution 'BulkLoadDemo' will generate the following build errors:

2>In file included from Shaders\AdaptExposureCS.hlsl:19:
2>In file included from Shaders/ShaderUtility.hlsli:19:
2>Shaders/ColorSpaceUtility.hlsli(40,26): error G5A95C174: condition for short-circuiting ternary operator must be scalar, for non-scalar types use 'select'
2> return x < 0.0031308 ? 12.92 * x : 1.055 * pow(x, 1.0 / 2.4) - 0.055;
2> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2> select(x < 0.0031308, 12.92 * x, 1.0549999999999999 * pow(x, 1. / 2.3999999999999999) - 0.055)
2>Shaders/ColorSpaceUtility.hlsli(46,24): error G5A95C174: condition for short-circuiting ternary operator must be scalar, for non-scalar types use 'select'
2> return x < 0.04045 ? x / 12.92 : pow( (x + 0.055) / 1.055, 2.4 );
2> ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2> select(x < 0.04045, x / 12.92, pow((x + 0.055) / 1.0549999999999999, 2.3999999999999999))
2>Shaders/ColorSpaceUtility.hlsli(52,26): error G5A95C174: condition for short-circuiting ternary operator must be scalar, for non-scalar types use 'select'
2> return x < 0.0031308 ? 12.92 * x : 1.13005 * sqrt(x - 0.00228) - 0.13448 * x + 0.005719;
2> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2> select(x < 0.0031308, 12.92 * x, 1.13005 * sqrt(x - 0.0022799999999999999) - 0.13447999999999999 * x + 0.0057190000000000001)
2>Shaders/ColorSpaceUtility.hlsli(57,24): error G5A95C174: condition for short-circuiting ternary operator must be scalar, for non-scalar types use 'select'
2> return x < 0.04045 ? x / 12.92 : -7.43605 * x - 31.24297 * sqrt(-0.53792 * x + 1.279924) + 35.34864;
2> ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2> select(x < 0.04045, x / 12.92, -7.4360499999999998 * x - 31.24297 * sqrt(-0.53791999999999995 * x + 1.2799240000000001) + 35.348640000000003)
2>Shaders/ColorSpaceUtility.hlsli(65,23): error G5A95C174: condition for short-circuiting ternary operator must be scalar, for non-scalar types use 'select'
2> return x < 0.0181 ? 4.5 * x : 1.0993 * pow(x, 0.45) - 0.0993;
2> ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2> select(x < 0.018100000000000002, 4.5 * x, 1.0992999999999999 * pow(x, 0.45000000000000001) - 0.099299999999999999)
2>Shaders/ColorSpaceUtility.hlsli(70,24): error G5A95C174: condition for short-circuiting ternary operator must be scalar, for non-scalar types use 'select'
2> return x < 0.08145 ? x / 4.5 : pow((x + 0.0993) / 1.0993, 1.0 / 0.45);
2> ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2> select(x < 0.081449999999999994, x / 4.5, pow((x + 0.099299999999999999) / 1.0992999999999999, 1. / 0.45000000000000001))
2>
2>Done building project "Core.vcxproj" -- FAILED.

Dominant language
C++
Stars
897
Forks
111
Avg merge
13h 58m
Merged PRs (30d)
12

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/DirectStorage

All issues in microsoft/DirectStorage

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.