Ian Romanick
Ian Romanick
The spec is unclear whether memory decorated with `writeonly` can be passed to, for example, `atomicAdd`. The atomic operations are specifically described to read then write the memory in question,...
The GLSL 4.60 (and also earlier) spec says for `min`: > Returns y if y < x; otherwise it returns x. The GLSL.std.460 spec says for `FMin`: > Result is...
The `ARB_bindless_texture` extension predates `ARB_gpu_shader_int64` by a couple years. At the time 64-bit integer types were only provided by NVIDIA vendor extensions. As a result, `ARB_bindless_texture` says: (19) How does...
Section 10.7.4 (Transferring Vertices With ArrayElement) says: > If `ArrayElement` is called while primitive restart is enabled (see section 10.3.6 and i is equal to the primitive restart index, then...
What should be in `buf` when the code below is executed? The second call to `glShaderSource` should not generate an error, so it should presumably replace the existing shader source...
A few bits of the OpenGL 3.1+ specification combine to generate an interaction that may be impossible to satisfy. - Starting in OpenGL 3.1, primitive restart enable became server state....
When an application uses immediate-mode drawing commands, the OpenGL implementation must buffer vertices submitted. The OpenGL specification does not place limits on the number of vertices that may be submitted...
In [GL_NV_primitive_restart](https://www.khronos.org/registry/OpenGL/extensions/NV/NV_primitive_restart.txt), the enable and the restart index are client state. In unextended OpenGL 3.1 or OpenGL 3.2+ Core Profile, there is, effectively, no client vertex state. As a result,...
Between the two optimizations, performance of decompressing a very large file on my Meteor Lake laptop was improved by ~11%.