Vladimír Vondruš
495c1d9a7f
Vk: doc++
5 years ago
Vladimír Vondruš
9aeefce801
doc: document the need for & / && CreateInfo setter overloads.
5 years ago
Vladimír Vondruš
349dc77322
Vk: don't use VK_STRUCTURE_TYPE_APPLICATION_INFO for sType in tests.
...
The problem is that, of all structure type enums, this one is 0, and
thus doesn't check for accidentally zeroed-out memory.
5 years ago
Vladimír Vondruš
9dbe377ac4
Vk: properly test Image::format().
5 years ago
Vladimír Vondruš
fd46515a21
Vk: account for cursed drivers doing cursed things with extensions.
5 years ago
Vladimír Vondruš
7ee30c55e3
Vk: command buffer begin and end.
5 years ago
Vladimír Vondruš
32cc6ed69d
Vk: fence status, reset and wait.
...
I was hesitating a bit with the <chrono> include but I can't think of
anything better right now. It's "only" 4k lines on C++11 (and I bet most
of it is <type_traits>), so should be fine.
5 years ago
Vladimír Vondruš
d00d1cb781
Shaders: initialize all members also with NoCreate.
...
Otherwise the _lightCount gets a random value, which makes debugging of
accidentally not created instances harder than strictly necessary.
5 years ago
Vladimír Vondruš
2bcb5d6d9e
Vk: more useful MAGNUM_VK_INTERNAL_ASSERT_SUCCESS_OR().
...
Another breaking change here, sorry -- I don't expect anyone to be
seriously using these ... yet :)
5 years ago
Vladimír Vondruš
b977a14214
Vk: unneeded include.
...
Probably a leftover from before the moment when I realized I can't use
a Reference due to the NoCreate constructor.
5 years ago
Vladimír Vondruš
5099b8c997
Vk: add a Fence wrapper.
5 years ago
Vladimír Vondruš
ab7e216f6c
Doc++
5 years ago
Vladimír Vondruš
fe0af1c5f8
Trade: shorten new test names to make ctest output fit into 80 chars.
...
Oh my OCD!
5 years ago
Vladimír Vondruš
76f6ca6264
doc: add BMP and HDR to the file format list.
...
That's everything stb_image_write supports.
5 years ago
Vladimír Vondruš
7137747b1b
CMake: it doesn't make sense to not FORCE this.
5 years ago
Vladimír Vondruš
40ee8f0934
Shaders: document relation to glAlphaFunc().
5 years ago
Vladimír Vondruš
9e3084ef4b
CMake: make it possible to selectively disable static plugins as well.
...
Instead of only having a possibility of building some plugins as static
while the default is dynamic.
5 years ago
Vladimír Vondruš
5c554a039e
Vk: doc++
5 years ago
Vladimír Vondruš
082f7a6c3a
doc: rules for move-only CreateInfo wrappers.
5 years ago
Vladimír Vondruš
46a30e2ff1
Vk: doc++
...
Was changing this throughout the RenderPass implementation but this got
forgotten.
5 years ago
Vladimír Vondruš
71af6a034c
Vk: implement a Framebuffer wrapper.
...
EZ, for once.
5 years ago
Vladimír Vondruš
acb1859979
package/ci: limit jobs on GCC.
...
Well, no wonder it OOMs with 38 parallel jobs on ~10-20 GB RAM depending
on how the VMs are loaded, heh. Will revisit when I get rid of more STL,
this has to suffice for now.
5 years ago
Vladimír Vondruš
0a108a892b
doc: add PSD to the file format tables.
5 years ago
Vladimír Vondruš
329ea4d33d
Trade: shh, GCC 4.8.
...
Or does THIS cause the OOMs?
5 years ago
Vladimír Vondruš
92735064e0
Trade: split MaterialData test into more files.
...
The 5000-line monster took 3.3 second and over 320 MB to compile. While
that may be fine for other projects, that's completely unacceptable here
-- and it seems that this one test is the cause for most of the recent
OOM issues on the CI.
Moreover, I'll be expanding MaterialData with thinfilm, sheen and other
properties that got recently added to glTF and expanding a single test
file with those simply wouldn't scale anymore.
5 years ago
Vladimír Vondruš
5a1f43f20b
Switch to the new & optimized GenerateSequence from Corrade.
...
This should help slightly with compiler memory usage, on GCC 10 the huge
Trade::MaterialData test used "only" 309 instead of 318 MB after this
change.
5 years ago
Vladimír Vondruš
4a93c092b0
Vk: image view wrapper.
...
This was done quite a long time ago but then I got stuck on device
features for cubemaps. Sigh.
5 years ago
Vladimír Vondruš
a89f3c5943
doc: I died in the middle of a sentence here.
...
Happens way too often, honestly.
5 years ago
Vladimír Vondruš
0684894324
Vk: whoops, forgot these.
...
What's the Developer Guidelines for if I don't use them.
5 years ago
Vladimír Vondruš
ef0113f558
doc: introduce \requires_vk_feature, add useful info to the group pages.
5 years ago
Vladimír Vondruš
88d2acc66e
Vk: expand the Result enum with values for all extensions we have.
...
So people can use the MAGNUM_VK_INTERNAL_ASSERT_SUCCESS() macro on their
raw Vulkan calls and it reports a name back instead of a number.
5 years ago
Vladimír Vondruš
7bdf0feba1
Vk: expose the new RT extensions.
...
Enabling them in the Vulkan header, function pointer loader, extension
lists and feature queries / setup:
- KHR_acceleration_structure
- KHR_deferred_host_operations
- KHR_pipeline_library
- KHR_ray_tracing_pipeline
- KHR_ray_query
5 years ago
Vladimír Vondruš
13c0e1faeb
external: minor Vulkan header updates.
5 years ago
Vladimír Vondruš
3f1a3eb1c2
Vk: a bit more robust feature enablement.
...
Because the drivers don't seem to check that features are actually
supported for anything beyond VkPhysicalDeviceFeatures2, we have to do
that instead. Additionally, we also check if a feature is enabled but
the extension that needs it is not (which isn't checked by drivers
either).
5 years ago
Vladimír Vondruš
aad588054a
Vk: implement Device feature enablement.
...
This was way more pain that initially expected, especially in regards to
preserving externally-specified pNext chains without writing to them in
any way.
5 years ago
Vladimír Vondruš
a4382c6305
Vk: more utilites for heavyweight structure chain processing.
...
Gah, these device features are *hell*.
5 years ago
Vladimír Vondruš
6f867c2ab3
Vk: doc++
5 years ago
Vladimír Vondruš
3e2698cc0e
doc: expand Developers Guide with notes about Vulkan features.
5 years ago
Vladimír Vondruš
51cf303585
Vk: list device features in magnum-vk-info.
...
It's reusing an internal file to make them display nicely, I hope that
doesn't make it too ugly / too sad that library users can't do the same
thing in their code.
5 years ago
Vladimír Vondruš
1ee2b40c53
Vk: fetching of supported device features.
...
This is what I needed BigEnumSet for -- good thing I didn't even try to
have 128-bit enums because I'm now at 110 values and it's still far from
complete. Next step is enabling those features when creating a device,
which should hopefully be a lot less code, reusing most of what was
here.
5 years ago
Vladimír Vondruš
ff916e1934
Vk: internal helper for checking both extension and its core version.
...
Not exactly sure about the semantics yet, so keeping it private. In
particular, if this should be the default behavior for
isExtensionEnabled() (would make sense probably?), or for
isExtensionSupported(), and what should be the API that separates the
version from the extension so we can decide which function pointer to
fetch.
5 years ago
Vladimír Vondruš
613a0d8cf6
Vk: write an internal helper for connecting Vulkan structures.
5 years ago
Vladimír Vondruš
96bb9dbaae
Test: prefix VersionTest with repo name to avoid conflicts.
...
Would break due to a conflicting target name / executable in subproject
setups that enable BUILD_TESTS.
5 years ago
Vladimír Vondruš
75d2e20c97
Vk: move constructors should be implicit, so test that property.
5 years ago
Vladimír Vondruš
d06e64d770
Vk: rename DeviceVkTest test case for clarity.
...
Was copied from InstanceVkTest where it's for both layers and
extensions. Not here.
5 years ago
Vladimír Vondruš
ccab98920f
Vk: DeviceCreateInfo state is allocated always.
...
Probably some leftover from the early days.
5 years ago
Vladimír Vondruš
71b2fca3d8
Vk: rename private Device member for clarity.
5 years ago
Vladimír Vondruš
6acd7b72b1
Vk: doc++
5 years ago
Vladimír Vondruš
4f789ce92b
Vk: okay, I need these weird extension definitions now.
5 years ago
Vladimír Vondruš
2fb56fe507
Math: accidentally used a float literal, causing warnings with Matrix3d.
5 years ago