Browse Source

GL: fix out of bounds accesses in Shader limit queries.

Sigh, it really took quite a while (half a decade??) to discover and fix
this.
pull/504/head
Vladimír Vondruš 5 years ago
parent
commit
315e31476a
  1. 3
      doc/changelog.dox
  2. 2
      src/Magnum/GL/Implementation/ShaderState.h

3
doc/changelog.dox

@ -337,6 +337,9 @@ See also:
accident and it was also not really moving everything properly, especially
when delayed creation was done on the moved-to object
- @ref GL::Renderer::MemoryBarrier::ShaderStorage had an incorrect value
- @ref GL::Shader limit queries for a particular shader stage on desktop were
out-of-bounds array accesses, causing wrong or random values being returned
for most shader-related limits
- Fixed assertions related to OpenGL driver workarounds when the proprietary
AMDGPU PRO drivers are used on Linux
- @ref Platform::EmscriptenApplication randomly created antialiased contexts

2
src/Magnum/GL/Implementation/ShaderState.h

@ -45,7 +45,7 @@ struct ShaderState {
enum: std::size_t {
#if !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL)
StageCount = 4
StageCount = 6
#else
StageCount = 2
#endif

Loading…
Cancel
Save