Comments (2)
This is clearly a spec bug and the intent is that undefined
is allowed when there is no depth aspect on the format.
from gpuweb.
The spec language as written is correct, because of a confusing WebIDL detail:
Since depthCompare
is an optional dictionary member, if depthCompare: undefined
in JS, then depthCompare
does not appear at all in the ordered map
that the spec "sees". At the algorithm level, we can't tell the difference between {}
and {depthCompare: undefined}
.
The language "is provided" checks if the key is the ordered map
, so it implies "not undefined".
- We should consider clearer language than "is provided". I think I picked that assuming
undefined
sounds like 'explicitly not providing' something, but I'm sure there's a better word. - @jimblandy points out a separate minor issue here though which is that we neglected to check "depthWriteEnabled is provided" before accessing it.
from gpuweb.
Related Issues (20)
- Clarify supported context formats definition HOT 1
- Do pipeline-creation errors encompass the whole module or just the GPUProgrammableStage? HOT 5
- Syntax problem in English HOT 1
- Texture Format RGBA32Float Does Not Support Storage Texture Access StorageTextureAccess::ReadWrite HOT 1
- Clamping behavior when comparison sampling `depth24plus` HOT 6
- Hardware feature levels (and compat) HOT 6
- GL_EXT_fragment_shader_barycentric HOT 1
- GPURenderCommandsMixin.draw / drawIndexed allows for the execution of far too many vertices HOT 10
- Unclear who "consumer" is. HOT 1
- Allow all vertex input attributes to be considered OOB if at least one is (in the "process vertices" algorithm) HOT 2
- Clarification regarding double negation (--) operator? HOT 10
- Type inconsistency between drawIndexed and drawIndexedIndirect calls HOT 2
- It should be possible to define an 'override' that evaluates depending on other 'override' constants HOT 7
- Static Samplers Proposal HOT 4
- maxInterStageShaderComponents seems to overlap with maxInterStageShaderVariables
- mapAsync early-reject doesn't generate a validation error
- Optional<T> type, like in Rust HOT 6
- GPUDeviceLostReason should contain more values HOT 7
- writing to storage buffers/textures in fragment shaders with multisample targets is not portable. HOT 2
- Should copyExternalImageToTexture allow a slice of a 3d texture as a destination? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gpuweb.