Vladimír Vondruš
9e71e5ab0e
Vk: store the set of dynamic states in a Pipeline instance.
...
Will be subsequently useful for command buffers.
5 years ago
Vladimír Vondruš
ac62a6c708
Vk: debug output for DynamicRasterizationState[s].
...
Will save them to a Pipeline and when there's a getter for something,
it's good to have a printer for it as well. Or at least for the tests.
5 years ago
Vladimír Vondruš
f9d8032fc9
Revert "Vk: use a compute pipeline for Pipeline move/wrap tests."
...
Err, I'll actually need those to test the dynamic state. Again pushed
too soon.
This reverts commit 321bb0d9c1 .
5 years ago
Vladimír Vondruš
d436e7ab50
Vk: expose EXT_robustness2 and EXT_image_robustness2 extensions.
5 years ago
Vladimír Vondruš
41b59d8176
Math: add [Unsigned]Byte/[Unsigned]Short variants of castInto().
5 years ago
Vladimír Vondruš
f2563b8cd0
doc: some initial platform docs for Vulkan.
5 years ago
Vladimír Vondruš
82b2da0b22
GL: make gl_PointSize-related APIs easier to search for.
5 years ago
Vladimír Vondruš
20c3d37701
doc: fix a critical omission in the Getting Started Guide.
5 years ago
Vladimír Vondruš
d6d2ade9b3
Vk: doc++
5 years ago
Vladimír Vondruš
5604ccf3cd
Vk: implement binding a pipeline.
5 years ago
Vladimír Vondruš
321bb0d9c1
Vk: use a compute pipeline for Pipeline move/wrap tests.
...
So much shorter.
5 years ago
Vladimír Vondruš
45c4fa20f7
Vk: compute pipeline creation.
...
Because I needed something simple to test pipeline binding with. Also,
my first handwritten SPIR-V compute shader! It does absolutely nothing,
yay.
5 years ago
Vladimír Vondruš
5f02973957
Vk: rename tests for consistency.
5 years ago
Vladimír Vondruš
f84a385fea
Vk: initial rasterization pipeline creation.
...
I named it RasterizationPipelineCreateInfo and not
GraphicsPipelineCreateInfo because there's now a
RayTracingPipelineCreateInfo as well, which is *also* graphics, and it
would be confusing for everyone except people already drowned in Vulkan
naming quirks.
5 years ago
Vladimír Vondruš
6e1920e367
Vk: minor.
...
Name the move constructor/assignment arguments so it's clearer that it's
indeed a custom implementation and not just a defaulted function moved
into the cpp.
5 years ago
Vladimír Vondruš
0c96b74109
Vk: list files needed by ShaderVkTest.
5 years ago
Vladimír Vondruš
1da2f64ce9
Vk: undefine a temporary macro.
5 years ago
Vladimír Vondruš
f438199b7a
Vk: doc++
...
Buncha brainfarts in there.
5 years ago
Vladimír Vondruš
b5a4fc03b0
Vk: add missing enums and/or docs for VK_KHR_acceleration_structure.
5 years ago
Vladimír Vondruš
f32cc66d3d
Vk: a container for a shader set needed by a pipeline.
5 years ago
Vladimír Vondruš
65346cdb5a
Vk: an extremely minimal PipelineLayout wrapper.
...
As in, does absolutely nothing.
5 years ago
Vladimír Vondruš
7a0da83c44
doc: introduce \relativeref and shorten some excessive references.
...
It doesn't help the overflowing Vk::DeviceFeature table 100%, but it's
better a bit.
5 years ago
Vladimír Vondruš
661c26be2d
Vk: recognize VK_EXT_extended_dynamic_state.
5 years ago
Vladimír Vondruš
c1a3a89fb1
Vk: doc++
5 years ago
Vladimír Vondruš
99b3c94e17
external: regenerate Vulkan headers.
5 years ago
Vladimír Vondruš
e23af8b4a6
Vk: provide comparison for MeshLayout.
...
First step towards pipeline caches. Gah the pointer jungle is making
this unnecessarily hard.
5 years ago
Vladimír Vondruš
1f89710b35
Vk: enforce binding and location ordering in MeshLayout.
...
In order to make them easier to compare.
5 years ago
Vladimír Vondruš
bbb066664b
Vk: add a wrapper for mesh layout setup.
...
Next up is *the unthinkable*, a Vk::Mesh. After that I'll finally have
enough APIs exposed to document everything including command buffer
recording and submission.
5 years ago
Vladimír Vondruš
bd56ed2d51
Vk: add a helper for connecting just one structure.
...
Without the extra overhead of Reference.
5 years ago
Vladimír Vondruš
11cca8e315
Vk: add a VertexFormat enum.
...
Similar to PixelFormat, to filter out values that make no sense as a
vertex format (such as sRGB) and add others (such as doubles). And
documenting which are guaranteed to be supported and which not. The
hasVkFormat(Magnum::VertexFormat) and vkFormat(Magnum::VertexFormat)
were also deprecated in favor of the new hasVertexFormat() /
vertexFormat() APIs.
5 years ago
Vladimír Vondruš
437b3d1556
GL: don't check for Windows-only workarounds everywhere.
...
Apparently nobody tried to run AMDGPU PRO drivers on Linux until now.
Sorry.
5 years ago
Vladimír Vondruš
18cced3e6b
Vk: add an execution-only pipelineBarrier() overload.
...
Useful for WAR barriers. I also *finally* get why is it called a
pipeline barrier and not a memory barrier.
5 years ago
Vladimír Vondruš
d4f4540913
Vk: this might be important to mention.
5 years ago
Vladimír Vondruš
f721fac45d
Vk: don't use ImageUsage::Sampled on a linear image.
...
SwiftShader doesn't support that and we don't actually need it there.
5 years ago
Vladimír Vondruš
4906b23c21
Vk: use sRGB literals in doc snippets.
...
Let's encourage proper practices.
5 years ago
Vladimír Vondruš
5e74ec7be3
package: test with VK_KHR_copy_commands2 disabled as well.
...
For a broader test coverage.
5 years ago
Vladimír Vondruš
2ab4a8a78a
Vk: doc++
5 years ago
Vladimír Vondruš
2c25cd6fc0
Vk: an ability to check if a particular extension revision is supported.
...
Qt's QVulkanWindow has that and it seems useful, especially for weird
extensions like VK_KHR_memory_model where their structure layout changes
over time.
5 years ago
Vladimír Vondruš
7461a2fe0a
Vk: well OF COURSE I made an error when using std::lower_bound()!
...
Goddammit, C++, why the hell all APIs have to be so error prone. You
didn't learn from C's mistakes at all, did you.
5 years ago
Vladimír Vondruš
79c3519045
Vk: add driver workaround scaffolding and the first one for SwiftShader.
...
Yay? It's funny, what produces correct result causes validation errors.
I suppose this will be very similar for all other workarounds.
5 years ago
Vladimír Vondruš
1a1eacc844
Vk: pass VkPhysicalDevice to Device::wrap().
...
It's needed in order to access Device::properties(), which is
mandatory for the driver workarounds happening in the next commit.
5 years ago
Vladimír Vondruš
762604ee7f
Vk: test that Device::properties() exist even for wrapped devices.
...
It explodes!!
5 years ago
Vladimír Vondruš
4af6e9489c
Vk: doc++
5 years ago
Vladimír Vondruš
15fd1c432a
Vk: naming whoopsie.
5 years ago
Vladimír Vondruš
156e7b64bf
Vk: wait, why the whole LayerProperties are not const?
5 years ago
Vladimír Vondruš
1940488da4
Vk: rework {Extension,Layer}Properties internals using ArrayTuple.
...
These were implemented long before ArrayTuple was a thing and while the
allocation saving optimization makes sense, the implementation is way
too error prone.
This also means Array (and thus <new> and other heavy shit) isn't
included in the headers, which leads to further slimming of compile
times across the library.
5 years ago
Vladimír Vondruš
c913db810b
Vk: document required ImageUsage in all APIs taking images.
5 years ago
Vladimír Vondruš
a0659b85f7
Vk: unify formatting on Buffer / Image creation snippets.
...
One Weird Tricks That Makes Clang Format Furious. See Here How.
5 years ago
Vladimír Vondruš
b743185dd4
Vk: clean up some minor copypaste naming weirdness.
5 years ago
Vladimír Vondruš
9e3680e3e1
doc: update the GL troubleshooting docs a bit.
...
And use a bit more English in there.
5 years ago