Vladimír Vondruš
a27802e67c
GL: sigh, windows.h.
6 years ago
Vladimír Vondruš
3942dff532
GL: add a test for global function pointers across libraries as well.
...
Fails. The huge change just before should have made the fix possible,
but apparently it's not so simple. Nothing is ever simple. Sigh.
6 years ago
Vladimír Vondruš
9c14d8e354
Introduce a BUILD_STATIC_UNIQUE_GLOBALS option.
...
Same as in Corrade. Because BUILD_STATIC is independent between Corrade
and Magnum this option is also independent -- the corner cases and bad
interactions would be otherwise too complex to handle (e.g., in case of
a dynamic Corrade and static Magnum it would be impossible to enable
this option for Magnum etc etc).
6 years ago
Vladimír Vondruš
d366e0e7a0
GL: exposed clip / cull distance APIs.
6 years ago
Vladimír Vondruš
2c5aea6999
GL: forgot to list those GLES extensions.
...
They were listed on WebGL tho. Sigh.
6 years ago
Vladimír Vondruš
7c0b7ad426
GL: and this is misplaced also.
6 years ago
Vladimír Vondruš
391dfbda4f
GL: not that it mattered much, but AbstractQuery forgot to move _flags.
...
These are not really used much so it probably didn't cause any bugs, but
nevertheless. Found while fixing something else.
6 years ago
Vladimír Vondruš
0cd72b1883
GL: give up and disable ARB_explicit_uniform_location on Intel Windows.
...
SIGH FFS.
6 years ago
Vladimír Vondruš
5c10d6eb1e
GL: implemented ARB_pipeline_statistics_query from GL 4.6.
...
Need this for the upcoming FrameProfiler.
6 years ago
Vladimír Vondruš
5ec5b35931
GL: fix double conversion warning in a test.
6 years ago
Vladimír Vondruš
86a5a63af9
Test: most tests now pass on Zink as well.
...
Just adding a bunch of extension checks that I thought I would never
need again.
6 years ago
Vladimír Vondruš
3bce67dfea
GL: don't ask for GL_CONTEXT_PROFILE_MASK on GL < 3.2.
...
Makes Zink sad.
6 years ago
Vladimír Vondruš
403ed25b12
GL: don't call GL3+ APIs on GL 2.1.
...
Makes Zink sad.
6 years ago
Vladimír Vondruš
6274911a3e
GL: make the double precision shader tests work on llvmpipe.
...
It doesn't support GLSL 4.00 yet, but the extension alone is supported.
6 years ago
Vladimír Vondruš
65a2ced2a7
Make this compile and test cleanly with CORRADE_NO_ASSERT defined.
6 years ago
Vladimír Vondruš
d3f2235759
Adapted to Corrade changes.
6 years ago
Vladimír Vondruš
d209d496bc
GL: this is done since 0e50f0feea.
6 years ago
Vladimír Vondruš
c03ed3af75
doc: show how to set up blending for alpha / transparency.
...
Hopefully more discoverable now also.
6 years ago
Vladimír Vondruš
960fd278cc
GL: doc++
6 years ago
Vladimír Vondruš
8146051634
GL: doc++
6 years ago
Vladimír Vondruš
e5075803eb
GL: state reset needs to unbind PBOs when entering external code.
...
Qt is not PBO-aware and it messes with its state when resizing a window.
6 years ago
Vladimír Vondruš
a119ee2bb2
GL: fix compilation with ANGLE on macOS.
...
This assumed that non-iOS Apple platform is always desktop GL. Wrong.
6 years ago
Vladimír Vondruš
081dd8981f
Doxygen, FFS.
6 years ago
Vladimír Vondruš
dd07145fa2
GL: add a GL::AbstractShaderProgram::maxGeometryOutputVertices() query.
6 years ago
Vladimír Vondruš
99bc8deaf0
GL: reorder tests to match execution order.
6 years ago
Vladimír Vondruš
e455a6731a
GL: add a NoCreate Shader constructor.
...
It wasn't there because I thought it was not needed. I need it now.
6 years ago
Vladimír Vondruš
9bb590280a
GL: keeping copy but deleting a move is ... just wrong.
...
I blame my 2013 self who didn't have so clear idea about move semantics
yet.
6 years ago
Vladimír Vondruš
db16201fbe
GL: support converting matrix VertexFormats to DynamicAttribute as well.
6 years ago
Vladimír Vondruš
e983a2a168
GL: make it possible to describe matrix attributes with DynamicAttribute.
...
Not sure why this wasn't done when originally implementing those.
6 years ago
Vladimír Vondruš
da323625b2
GL: rename Attribute::VectorCount to Vectors for consistency.
...
Deprecated alias kept for compatibility, as usual.
6 years ago
Vladimír Vondruš
e3fcf9db57
GL: support custom stride between vectors in matrix Attributes.
...
Needed so e.g. Matrix3x3s can have four-byte-aligned columns.
6 years ago
Vladimír Vondruš
19787a4282
GL: improve test coverage of the Attribute classes a bit.
6 years ago
Vladimír Vondruš
b7da1323c8
Minor cleanup.
6 years ago
Vladimír Vondruš
de9c289328
Adapted all code and doc snippets to GL library changes.
6 years ago
Vladimír Vondruš
32d49db402
GL: mesh.draw(shader) -> shader.draw(mesh).
...
As usual, the old APIs are still present, but marked as deprecated.
Existing code is not updated yet to ensure I didn't break anything with
this.
This way it's much more intuitive and makes the code shorter and nicer
in many cases. Shaders are now also able to hide irrelevant
draw/dispatch APIs to avoid accidents.
6 years ago
Vladimír Vondruš
d096aa68cc
Add MeshPrimitive::Instances, Faces and Edges.
...
To support meshes that are not so GPU-friendly. And also meshlets at a
later point.
6 years ago
Vladimír Vondruš
c9634508e3
Enlarge MeshPrimitive to four bytes, allow wrapping impl-specific values.
...
And also handle them specially in GL::meshPrimitive() and
Vk::vkPrimitiveTopology().
6 years ago
Vladimír Vondruš
7d44bccd9b
Provide reliable mapping of VertexFormat to GL and Vulkan.
...
GL was missing a check whether given format is available on a target
(for example double types are not on ES), and for Vulkan we need something
similar to pixel format mapping as well.
6 years ago
Vladimír Vondruš
13c071a1aa
GL: allow to construct DynamicAttribute from VertexFormat.
6 years ago
Vladimír Vondruš
006790969a
Trade, MeshTools: deprecate MeshDataXD and everything that uses it.
6 years ago
Vladimír Vondruš
d46061b285
Make MeshPrimitive and MeshIndexType enums only 8bit.
...
Otherwise they take up too much space.
6 years ago
Vladimír Vondruš
7fd92c10dd
Reserve zero MeshPrimitive and MeshIndexType for invalid values.
...
Better for checking accidents, as picking a wrong primitive / index type
can lead to *serious* rendering issues. Similarly to a change done to
(Compressed)PixelFormat in 2019.10.
6 years ago
Vladimír Vondruš
4f0170ace4
GL: taking just an init list in MeshView::draw() was a stupid idea.
...
With just that, it wouldn't be possible to draw a runtime-dependent
amount of MeshViews (for example when culling them).
6 years ago
Vladimír Vondruš
7c25dc64f2
GL: reading from front buffer is n/a on WebGL, so don't expose that.
6 years ago
Vladimír Vondruš
af05883ec8
GL: doc++
6 years ago
Vladimír Vondruš
3f57130547
GL, Vk: future-proof mesh primitive and index mapping tables.
...
The test now explicitly goes through all generic names and checks that
the mapping doesn't blow up.
6 years ago
Vladimír Vondruš
b5d9e1cfb7
GL: improve a test.
...
It's tested everywhere but here so I guess it was some accidental
omission.
6 years ago
Vladimír Vondruš
5b61f64a50
doc: another day, another heap of Doxygen fun.
6 years ago
Vladimír Vondruš
946c3cdac9
GL: rename PixelType::HalfFloat and Attribute::DataType::HalfFloat to Half.
...
For consistency with the Half type we use elsewhere. The old enums are
still available, but deprecated and scheduled for removal.
6 years ago
Vladimír Vondruš
241cde706f
GL: new Mesh::maxVertexAttributeStride() query.
...
Good thing I checked this -- based on WebGL I was under assumption that
all GPUs have it just 256, but that was really just WebGL limitation.
Also ugh why this query wasn't there since the 90's?
6 years ago