Vladimír Vondruš
08bd6e9ae9
Test: fix wrong plugin name in a message.
6 years ago
Vladimír Vondruš
6e8e78c0e4
GL: verify that NoCreate constructors are explicit.
6 years ago
Vladimír Vondruš
75d238f50b
GL: implemented ARB_buffer_storage.
6 years ago
Vladimír Vondruš
aa13d08bac
GL: newer SwiftShader implements NV_read_stencil, but it's broken.
...
XFAIl on that.
6 years ago
Vladimír Vondruš
851af4fded
GL: add *Texture::target().
...
Useful when interacting with raw GL code.
6 years ago
Vladimír Vondruš
51473776f1
GL: repro for the last remaining Apple buffer texture issue.
6 years ago
Vladimír Vondruš
d0fa28c331
Use the new half/packed typedefs where appropriate.
...
Had this in a stash for a while, not sure why it wasn't commited
already.
6 years ago
Vladimír Vondruš
54c42dfb4d
GL,Audio: sort extension lists alphabetically.
...
So we can throw away the unordered_map and do the search on constant
data.
6 years ago
Vladimír Vondruš
b45514cb1c
GL,Audio: use CORRADE_ITERATION() in extension list tests.
6 years ago
Vladimír Vondruš
19e0e96d74
Updated copyright year.
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š
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š
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š
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š
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š
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š
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š
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š
cc401b2b3c
GL: implemented missing Renderer::setPatch*() for tessellation shaders.
...
The last bits!
6 years ago
Vladimír Vondruš
0e50f0feea
GL: implement {EXT,ARB}_draw_buffers{2,_blend,_indexed}.
...
I also figured out a new, faster & less verbose way to handle multiple
code paths in some cases -- why didn't I think of that earlier?
6 years ago
Vladimír Vondruš
d955908a38
GL: allow creating a Buffer and directly filling it with data.
6 years ago
Vladimír Vondruš
6aaf783867
GL: reduce amount of included stuff in a test.
6 years ago
Vladimír Vondruš
24cc971b1f
GL: reworked apple-buffer-texture-unbind-on-buffer-modify workaround.
...
Much smaller, nicer and more robust.
6 years ago
Vladimír Vondruš
0e1779ad61
GL: a new case that the new Apple BufferTexture workaround doesn't fix.
...
Sigh.
6 years ago
Vladimír Vondruš
e97b04f66d
GL: new apple-buffer-texture-detach-on-data-modify workaround.
6 years ago
Vladimír Vondruš
86dbd86e74
GL: added BufferTexture::resetBuffer().
6 years ago
Vladimír Vondruš
61af7672d1
Test: adapted for the upcoming asserting CORRADE_GRACEFUL_ASSERT.
6 years ago
Vladimír Vondruš
50ac6d1a13
Test: fix false sense of security in pixel/mesh enum mapping tests.
...
The stripped-down versions didn't actually test for correct order
because there was no external API result to check against expected
output. That's fixed now, plus clarified some comments and removed
copypasted nonsense.
6 years ago
Vladimír Vondruš
b3759b6a98
GL: ensure gl_PointCoord works correctly also on compatibility profile.
7 years ago
Vladimír Vondruš
26accc7ec1
GL: AMD on Windows is also useless for framebufer format queries :/
7 years ago
Vladimír Vondruš
24f7d45364
Implement globals shared across DLLs on Windows.
7 years ago