KhronosGroup / KhronosGroup/WebGL

texture-corner-cases-video does not use UNPACK_COLORSPACE_CONVERSION_WEBGL = None

Open
#3,343 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
HTML
Stars
2.9k
Forks
703
Avg merge
2d 9h
Merged PRs (30d)
4

Description

texture-corner-cases-video does not use UNPACK_COLORSPACE_CONVERSION_WEBGL = None

explained by @greggman in related but orthogonal issue #3341:

> When UNPACK_COLORSPACE_CONVERSION_WEBGL = true there ZERO guarantee of anything whatsoever. The browser stuffs whatever data it has into the texture as is. Some browsers might have applied color space, they might have applied a display profile, they might have applied anything. They may or may not support the various ways of specifying a color space in the file itself. That's undefined just like it's undefined what formats a browser supports (gif? jpg? webp? animated png? jpeg2000? tiff? not sure if Safari still supports tiff but it did at one time and no other browser did) it's also undefined what details of a file format a browser supports. For example it might ignore png color spaces just like many browsers ignored animated png files for a long time.

(With true == BROWSER_DEFAULT_WEBGL and false == None)

Given following facts
1. Using `UNPACK_COLORSPACE_CONVERSION_WEBGL = BROWSER_DEFAULT_WEBGL`, the pixel values are undefined
2. The test uses `UNPACK_COLORSPACE_CONVERSION_WEBGL = BROWSER_DEFAULT_WEBGL`
3. The test asserts specific defined pixel values

Sounds like a contradiction?

Maybe the test could use `UNPACK_COLORSPACE_CONVERSION_WEBGL = None` ?

Contributor guide

Open the contributing guide

Research direction

Locate the texture-corner-cases-video test and inspect how it sets UNPACK_COLORSPACE_CONVERSION_WEBGL. Change the setting to None as proposed, then run the relevant test to confirm its specific pixel-value assertions still pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
html, javascript
Domain
computer-graphics, testing
Issue type
Bug
Difficulty
2/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.