Browse Source

Test: create fake pointer values from size_t, not int.

Should fix the remaining MSVC C4312 warnings.
pull/638/head
Vladimír Vondruš 2 years ago
parent
commit
8bd42f5a3b
  1. 16
      src/Magnum/DebugTools/Test/CompareMaterialTest.cpp
  2. 24
      src/Magnum/MaterialTools/Test/CopyTest.cpp
  3. 4
      src/Magnum/SceneTools/Test/SceneConverterImplementationTest.cpp
  4. 6
      src/Magnum/Text/Test/AbstractGlyphCacheTest.cpp
  5. 4
      src/Magnum/Text/Test/AbstractShaperTest.cpp
  6. 4
      src/Magnum/Trade/Test/AbstractImporterTest.cpp
  7. 140
      src/Magnum/Trade/Test/AbstractSceneConverterTest.cpp
  8. 4
      src/Magnum/Trade/Test/MeshDataTest.cpp
  9. 20
      src/Magnum/Trade/Test/SceneDataTest.cpp
  10. 4
      src/Magnum/Vk/Test/BufferTest.cpp
  11. 26
      src/Magnum/Vk/Test/DescriptorSetLayoutTest.cpp
  12. 44
      src/Magnum/Vk/Test/FramebufferTest.cpp
  13. 12
      src/Magnum/Vk/Test/ImageTest.cpp
  14. 2
      src/Magnum/Vk/Test/ImageViewTest.cpp
  15. 26
      src/Magnum/Vk/Test/MeshTest.cpp
  16. 12
      src/Magnum/Vk/Test/PipelineLayoutTest.cpp
  17. 26
      src/Magnum/Vk/Test/PipelineTest.cpp
  18. 14
      src/Magnum/Vk/Test/QueueTest.cpp
  19. 8
      src/Magnum/Vk/Test/RenderPassTest.cpp
  20. 12
      src/Magnum/Vk/Test/ShaderSetTest.cpp

16
src/Magnum/DebugTools/Test/CompareMaterialTest.cpp

@ -208,12 +208,12 @@ const struct {
" - OcclusionTexture @ UnsignedInt: 3\n"}, " - OcclusionTexture @ UnsignedInt: 3\n"},
{"different attribute types", {"different attribute types",
Trade::MaterialData{{}, { Trade::MaterialData{{}, {
{"pointer", reinterpret_cast<void*>(0xdead)}, {"pointer", reinterpret_cast<void*>(std::size_t{0xdead})},
{"integer", 5u}, {"integer", 5u},
{"scale", 0.5f}, {"scale", 0.5f},
}}, }},
Trade::MaterialData{{}, { Trade::MaterialData{{}, {
{"pointer", reinterpret_cast<const void*>(0xdead)}, {"pointer", reinterpret_cast<const void*>(std::size_t{0xdead})},
{"integer", 5}, {"integer", 5},
{"scale", "small"}, {"scale", "small"},
}}, }},
@ -239,16 +239,16 @@ const struct {
{Trade::MaterialAttribute::NormalTexture, 5u}, {Trade::MaterialAttribute::NormalTexture, 5u},
{Trade::MaterialAttribute::NormalTextureSwizzle, Trade::MaterialTextureSwizzle::RGB}, {Trade::MaterialAttribute::NormalTextureSwizzle, Trade::MaterialTextureSwizzle::RGB},
{"buffer", Containers::ArrayView<const void>{"\x56\x78\x22"}}, {"buffer", Containers::ArrayView<const void>{"\x56\x78\x22"}},
{"pointer", reinterpret_cast<const void*>(0xbeef)}, {"pointer", reinterpret_cast<const void*>(std::size_t{0xbeef})},
{"pointerMutable", reinterpret_cast<void*>(0xdead)}, {"pointerMutable", reinterpret_cast<void*>(std::size_t{0xdead})},
}}, }},
Trade::MaterialData{{}, { Trade::MaterialData{{}, {
{Trade::MaterialAttribute::Metalness, 5.5f}, {Trade::MaterialAttribute::Metalness, 5.5f},
{Trade::MaterialAttribute::NormalTexture, 5u}, {Trade::MaterialAttribute::NormalTexture, 5u},
{Trade::MaterialAttribute::NormalTextureSwizzle, Trade::MaterialTextureSwizzle::RG}, {Trade::MaterialAttribute::NormalTextureSwizzle, Trade::MaterialTextureSwizzle::RG},
{"buffer", Containers::ArrayView<const void>{"\x56\x78\x22"}}, {"buffer", Containers::ArrayView<const void>{"\x56\x78\x22"}},
{"pointer", reinterpret_cast<const void*>(0xbeef)}, {"pointer", reinterpret_cast<const void*>(std::size_t{0xbeef})},
{"pointerMutable", reinterpret_cast<void*>(0xdead)}, {"pointerMutable", reinterpret_cast<void*>(std::size_t{0xdead})},
}}, }},
"Materials a and b have different attribute values. Actual (+) vs expected (-):\n" "Materials a and b have different attribute values. Actual (+) vs expected (-):\n"
" Base layer:\n" " Base layer:\n"
@ -276,13 +276,13 @@ const struct {
{Trade::MaterialAttribute::NormalTexture, 5u}, {Trade::MaterialAttribute::NormalTexture, 5u},
{Trade::MaterialAttribute::NormalTextureScale, 0.5f}, {Trade::MaterialAttribute::NormalTextureScale, 0.5f},
{Trade::MaterialAttribute::OcclusionTexture, 3u}, {Trade::MaterialAttribute::OcclusionTexture, 3u},
{"texturePointer", reinterpret_cast<void*>(0xdead)}, {"texturePointer", reinterpret_cast<void*>(std::size_t{0xdead})},
}, {3, 5}}, }, {3, 5}},
Trade::MaterialData{{}, { Trade::MaterialData{{}, {
{Trade::MaterialAttribute::DoubleSided, false}, {Trade::MaterialAttribute::DoubleSided, false},
{Trade::MaterialAttribute::NormalTexture, 5u}, {Trade::MaterialAttribute::NormalTexture, 5u},
{Trade::MaterialAttribute::OcclusionTexture, 3u}, {Trade::MaterialAttribute::OcclusionTexture, 3u},
{"texturePointer", reinterpret_cast<const void*>(0xdead)}, {"texturePointer", reinterpret_cast<const void*>(std::size_t{0xdead})},
{Trade::MaterialAttribute::NormalTextureLayer, 2u}, {Trade::MaterialAttribute::NormalTextureLayer, 2u},
}, {2, 4, 5}}, }, {2, 4, 5}},
"Materials a and b have different layers. Actual (+) vs expected (-):\n" "Materials a and b have different layers. Actual (+) vs expected (-):\n"

24
src/Magnum/MaterialTools/Test/CopyTest.cpp

@ -64,11 +64,11 @@ void CopyTest::singleLayer() {
{Trade::MaterialAttribute::AlphaBlend, true}, {Trade::MaterialAttribute::AlphaBlend, true},
{Trade::MaterialAttribute::BaseColor, 0xff3366ff_rgbaf}, {Trade::MaterialAttribute::BaseColor, 0xff3366ff_rgbaf},
{"baseColorTextureName", "yesss.png"}, {"baseColorTextureName", "yesss.png"},
}, {3}, reinterpret_cast<void*>(0xdeadbeef)}; }, {3}, reinterpret_cast<void*>(std::size_t{0xdeadbeef})};
Trade::MaterialData copy = MaterialTools::copy(material); Trade::MaterialData copy = MaterialTools::copy(material);
CORRADE_COMPARE(copy.types(), Trade::MaterialType::PbrMetallicRoughness); CORRADE_COMPARE(copy.types(), Trade::MaterialType::PbrMetallicRoughness);
CORRADE_COMPARE(copy.importerState(), reinterpret_cast<void*>(0xdeadbeef)); CORRADE_COMPARE(copy.importerState(), reinterpret_cast<void*>(std::size_t{0xdeadbeef}));
CORRADE_COMPARE(copy.layerDataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable); CORRADE_COMPARE(copy.layerDataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable);
CORRADE_COMPARE(copy.layerCount(), 1); CORRADE_COMPARE(copy.layerCount(), 1);
@ -93,11 +93,11 @@ void CopyTest::singleLayerNoLayerData() {
{Trade::MaterialAttribute::AlphaBlend, true}, {Trade::MaterialAttribute::AlphaBlend, true},
{Trade::MaterialAttribute::BaseColor, 0xff3366ff_rgbaf}, {Trade::MaterialAttribute::BaseColor, 0xff3366ff_rgbaf},
{"baseColorTextureName", "yesss.png"}, {"baseColorTextureName", "yesss.png"},
}, reinterpret_cast<void*>(0xdeadbeef)}; }, reinterpret_cast<void*>(std::size_t{0xdeadbeef})};
Trade::MaterialData copy = MaterialTools::copy(material); Trade::MaterialData copy = MaterialTools::copy(material);
CORRADE_COMPARE(copy.types(), Trade::MaterialType::PbrMetallicRoughness); CORRADE_COMPARE(copy.types(), Trade::MaterialType::PbrMetallicRoughness);
CORRADE_COMPARE(copy.importerState(), reinterpret_cast<void*>(0xdeadbeef)); CORRADE_COMPARE(copy.importerState(), reinterpret_cast<void*>(std::size_t{0xdeadbeef}));
CORRADE_COMPARE(copy.layerDataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable); CORRADE_COMPARE(copy.layerDataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable);
CORRADE_COMPARE(copy.layerCount(), 1); CORRADE_COMPARE(copy.layerCount(), 1);
@ -116,11 +116,11 @@ void CopyTest::multipleLayers() {
{Trade::MaterialAttribute::AlphaBlend, true}, {Trade::MaterialAttribute::AlphaBlend, true},
{Trade::MaterialAttribute::BaseColor, 0xff3366ff_rgbaf}, {Trade::MaterialAttribute::BaseColor, 0xff3366ff_rgbaf},
{"baseColorTextureName", "yesss.png"}, {"baseColorTextureName", "yesss.png"},
}, {2, 3}, reinterpret_cast<void*>(0xdeadbeef)}; }, {2, 3}, reinterpret_cast<void*>(std::size_t{0xdeadbeef})};
Trade::MaterialData copy = MaterialTools::copy(material); Trade::MaterialData copy = MaterialTools::copy(material);
CORRADE_COMPARE(copy.types(), Trade::MaterialType::PbrMetallicRoughness); CORRADE_COMPARE(copy.types(), Trade::MaterialType::PbrMetallicRoughness);
CORRADE_COMPARE(copy.importerState(), reinterpret_cast<void*>(0xdeadbeef)); CORRADE_COMPARE(copy.importerState(), reinterpret_cast<void*>(std::size_t{0xdeadbeef}));
CORRADE_COMPARE(copy.layerDataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable); CORRADE_COMPARE(copy.layerDataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable);
CORRADE_COMPARE(copy.layerCount(), 2); CORRADE_COMPARE(copy.layerCount(), 2);
@ -150,9 +150,9 @@ void CopyTest::rvalueNotOwned() {
Trade::MaterialData copy = MaterialTools::copy(Trade::MaterialData{Trade::MaterialType::PbrMetallicRoughness, Trade::MaterialData copy = MaterialTools::copy(Trade::MaterialData{Trade::MaterialType::PbrMetallicRoughness,
Trade::DataFlag::Mutable, attributes, Trade::DataFlag::Mutable, attributes,
Trade::DataFlag::Mutable|Trade::DataFlag::ExternallyOwned, layers, Trade::DataFlag::Mutable|Trade::DataFlag::ExternallyOwned, layers,
reinterpret_cast<void*>(0xdeadbeef)}); reinterpret_cast<void*>(std::size_t{0xdeadbeef})});
CORRADE_COMPARE(copy.types(), Trade::MaterialType::PbrMetallicRoughness); CORRADE_COMPARE(copy.types(), Trade::MaterialType::PbrMetallicRoughness);
CORRADE_COMPARE(copy.importerState(), reinterpret_cast<void*>(0xdeadbeef)); CORRADE_COMPARE(copy.importerState(), reinterpret_cast<void*>(std::size_t{0xdeadbeef}));
CORRADE_COMPARE(copy.layerDataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable); CORRADE_COMPARE(copy.layerDataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable);
CORRADE_COMPARE(copy.layerCount(), 2); CORRADE_COMPARE(copy.layerCount(), 2);
@ -175,9 +175,9 @@ void CopyTest::rvalueOwnedAttributesLayers() {
const void* originalAttributes = attributes.data(); const void* originalAttributes = attributes.data();
const void* originalLayers = layers.data(); const void* originalLayers = layers.data();
Trade::MaterialData copy = MaterialTools::copy(Trade::MaterialData{Trade::MaterialType::PbrMetallicRoughness, Utility::move(attributes), Utility::move(layers), reinterpret_cast<void*>(0xdeadbeef)}); Trade::MaterialData copy = MaterialTools::copy(Trade::MaterialData{Trade::MaterialType::PbrMetallicRoughness, Utility::move(attributes), Utility::move(layers), reinterpret_cast<void*>(std::size_t{0xdeadbeef})});
CORRADE_COMPARE(copy.types(), Trade::MaterialType::PbrMetallicRoughness); CORRADE_COMPARE(copy.types(), Trade::MaterialType::PbrMetallicRoughness);
CORRADE_COMPARE(copy.importerState(), reinterpret_cast<void*>(0xdeadbeef)); CORRADE_COMPARE(copy.importerState(), reinterpret_cast<void*>(std::size_t{0xdeadbeef}));
CORRADE_COMPARE(copy.layerDataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable); CORRADE_COMPARE(copy.layerDataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable);
CORRADE_COMPARE(copy.layerData().data(), originalLayers); CORRADE_COMPARE(copy.layerData().data(), originalLayers);
@ -201,9 +201,9 @@ void CopyTest::rvalueOwnedAttributesNoLayerData() {
Containers::Array<UnsignedInt> layers{InPlaceInit, {2, 3}}; Containers::Array<UnsignedInt> layers{InPlaceInit, {2, 3}};
const void* originalAttributes = attributes.data(); const void* originalAttributes = attributes.data();
Trade::MaterialData copy = MaterialTools::copy(Trade::MaterialData{Trade::MaterialType::PbrMetallicRoughness, Utility::move(attributes), reinterpret_cast<void*>(0xdeadbeef)}); Trade::MaterialData copy = MaterialTools::copy(Trade::MaterialData{Trade::MaterialType::PbrMetallicRoughness, Utility::move(attributes), reinterpret_cast<void*>(std::size_t{0xdeadbeef})});
CORRADE_COMPARE(copy.types(), Trade::MaterialType::PbrMetallicRoughness); CORRADE_COMPARE(copy.types(), Trade::MaterialType::PbrMetallicRoughness);
CORRADE_COMPARE(copy.importerState(), reinterpret_cast<void*>(0xdeadbeef)); CORRADE_COMPARE(copy.importerState(), reinterpret_cast<void*>(std::size_t{0xdeadbeef}));
CORRADE_COMPARE(copy.layerDataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable); CORRADE_COMPARE(copy.layerDataFlags(), Trade::DataFlag::Owned|Trade::DataFlag::Mutable);
CORRADE_COMPARE(copy.layerCount(), 1); CORRADE_COMPARE(copy.layerCount(), 1);

4
src/Magnum/SceneTools/Test/SceneConverterImplementationTest.cpp

@ -627,8 +627,8 @@ void SceneConverterImplementationTest::infoMaterials() {
{"notAColour4", Vector4{0.1f, 0.2f, 0.3f, 0.4f}}, {"notAColour4", Vector4{0.1f, 0.2f, 0.3f, 0.4f}},
{"notAColour3", Vector3{0.2f, 0.3f, 0.4f}}, {"notAColour3", Vector3{0.2f, 0.3f, 0.4f}},
{"data", Containers::ArrayView<const void>{"0123456789abcdef", 17}}, {"data", Containers::ArrayView<const void>{"0123456789abcdef", 17}},
{"deadBeef", reinterpret_cast<const void*>(0xdeadbeef)}, {"deadBeef", reinterpret_cast<const void*>(std::size_t(0xdeadbeef))},
{"undeadBeef", reinterpret_cast<void*>(0xbeefbeef)}, {"undeadBeef", reinterpret_cast<void*>(std::size_t(0xbeefbeef))},
}}; }};
/* Second has layers, custom layers, unnamed layers and a name */ /* Second has layers, custom layers, unnamed layers and a name */

6
src/Magnum/Text/Test/AbstractGlyphCacheTest.cpp

@ -612,7 +612,7 @@ void AbstractGlyphCacheTest::setInvalidGlyph2DNot2D() {
void AbstractGlyphCacheTest::addFont() { void AbstractGlyphCacheTest::addFont() {
DummyGlyphCache cache{PixelFormat::R32F, {1024, 512}}; DummyGlyphCache cache{PixelFormat::R32F, {1024, 512}};
const AbstractFont* font = reinterpret_cast<const AbstractFont*>(0xdeadbeef); const AbstractFont* font = reinterpret_cast<const AbstractFont*>(std::size_t{0xdeadbeef});
CORRADE_COMPARE(cache.findFont(*font), Containers::NullOpt); CORRADE_COMPARE(cache.findFont(*font), Containers::NullOpt);
CORRADE_COMPARE(cache.addFont(35, nullptr), 0); CORRADE_COMPARE(cache.addFont(35, nullptr), 0);
@ -636,7 +636,7 @@ void AbstractGlyphCacheTest::addFontDuplicatePointer() {
cache.addFont(7, nullptr); cache.addFont(7, nullptr);
const AbstractFont* font = reinterpret_cast<const AbstractFont*>(0xdeadbeef); const AbstractFont* font = reinterpret_cast<const AbstractFont*>(std::size_t{0xdeadbeef});
cache.addFont(35, font); cache.addFont(35, font);
std::ostringstream out; std::ostringstream out;
@ -649,7 +649,7 @@ void AbstractGlyphCacheTest::fontOutOfRange() {
CORRADE_SKIP_IF_NO_ASSERT(); CORRADE_SKIP_IF_NO_ASSERT();
DummyGlyphCache cache{PixelFormat::R32F, {1024, 512}}; DummyGlyphCache cache{PixelFormat::R32F, {1024, 512}};
const AbstractFont* font = reinterpret_cast<const AbstractFont*>(0xdeadbeef); const AbstractFont* font = reinterpret_cast<const AbstractFont*>(std::size_t{0xdeadbeef});
cache.addFont(35, nullptr); cache.addFont(35, nullptr);
cache.addFont(12, font); cache.addFont(12, font);
CORRADE_COMPARE(cache.fontCount(), 2); CORRADE_COMPARE(cache.fontCount(), 2);

4
src/Magnum/Text/Test/AbstractShaperTest.cpp

@ -176,7 +176,7 @@ void AbstractShaperTest::featureRangeConstructBeginEnd() {
CORRADE_COMPARE(cc.end(), 26); CORRADE_COMPARE(cc.end(), 26);
} }
AbstractFont& FakeFont = *reinterpret_cast<AbstractFont*>(0xdeadbeef); AbstractFont& FakeFont = *reinterpret_cast<AbstractFont*>(std::size_t{0xdeadbeef});
struct DummyShaper: AbstractShaper { struct DummyShaper: AbstractShaper {
using AbstractShaper::AbstractShaper; using AbstractShaper::AbstractShaper;
@ -210,7 +210,7 @@ void AbstractShaperTest::constructMove() {
CORRADE_COMPARE(&b.font(), &FakeFont); CORRADE_COMPARE(&b.font(), &FakeFont);
CORRADE_COMPARE(b.glyphCount(), 0); CORRADE_COMPARE(b.glyphCount(), 0);
DummyShaper c{*reinterpret_cast<AbstractFont*>(0xcafebabe)}; DummyShaper c{*reinterpret_cast<AbstractFont*>(std::size_t{0xcafebabe})};
c = Utility::move(b); c = Utility::move(b);
CORRADE_COMPARE(&b.font(), &FakeFont); CORRADE_COMPARE(&b.font(), &FakeFont);
CORRADE_COMPARE(b.glyphCount(), 0); CORRADE_COMPARE(b.glyphCount(), 0);

4
src/Magnum/Trade/Test/AbstractImporterTest.cpp

@ -1026,7 +1026,7 @@ void AbstractImporterTest::openState() {
void doClose() override { _opened = false; } void doClose() override { _opened = false; }
void doOpenState(const void* state, Containers::StringView filePath) override { void doOpenState(const void* state, Containers::StringView filePath) override {
CORRADE_COMPARE(state, reinterpret_cast<const void*>(0xbadcafe)); CORRADE_COMPARE(state, reinterpret_cast<const void*>(std::size_t{0xbadcafe}));
CORRADE_COMPARE(filePath, "yello/foo/"); CORRADE_COMPARE(filePath, "yello/foo/");
_opened = true; _opened = true;
} }
@ -1035,7 +1035,7 @@ void AbstractImporterTest::openState() {
} importer; } importer;
CORRADE_VERIFY(!importer.isOpened()); CORRADE_VERIFY(!importer.isOpened());
CORRADE_VERIFY(importer.openState(reinterpret_cast<const void*>(0xbadcafe), "yello/foo/")); CORRADE_VERIFY(importer.openState(reinterpret_cast<const void*>(std::size_t{0xbadcafe}), "yello/foo/"));
CORRADE_VERIFY(importer.isOpened()); CORRADE_VERIFY(importer.isOpened());
importer.close(); importer.close();

140
src/Magnum/Trade/Test/AbstractSceneConverterTest.cpp

@ -1861,7 +1861,7 @@ void AbstractSceneConverterTest::beginEnd() {
bool doIsOpened() const override { return true; } bool doIsOpened() const override { return true; }
const void* doImporterState() const override { const void* doImporterState() const override {
return reinterpret_cast<const void*>(0xdeadbeef); return reinterpret_cast<const void*>(std::size_t{0xdeadbeef});
} }
}; };
@ -1879,7 +1879,7 @@ void AbstractSceneConverterTest::beginEnd() {
Containers::Pointer<AbstractImporter> out = converter.end(); Containers::Pointer<AbstractImporter> out = converter.end();
CORRADE_VERIFY(out); CORRADE_VERIFY(out);
CORRADE_COMPARE(out->importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(out->importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
CORRADE_VERIFY(converter.endCalled); CORRADE_VERIFY(converter.endCalled);
CORRADE_VERIFY(!converter.isConverting()); CORRADE_VERIFY(!converter.isConverting());
} }
@ -2775,7 +2775,7 @@ void AbstractSceneConverterTest::addScene() {
CORRADE_COMPARE(id, sceneCount()); CORRADE_COMPARE(id, sceneCount());
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(scene.importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(scene.importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -2786,10 +2786,10 @@ void AbstractSceneConverterTest::addScene() {
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.sceneCount(), 0); CORRADE_COMPARE(converter.sceneCount(), 0);
CORRADE_COMPARE(converter.add(SceneData{SceneMappingType::UnsignedInt, 0, nullptr, nullptr, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(SceneData{SceneMappingType::UnsignedInt, 0, nullptr, nullptr, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.sceneCount(), 1); CORRADE_COMPARE(converter.sceneCount(), 1);
CORRADE_COMPARE(converter.add(SceneData{SceneMappingType::UnsignedInt, 0, nullptr, nullptr, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 1); CORRADE_COMPARE(converter.add(SceneData{SceneMappingType::UnsignedInt, 0, nullptr, nullptr, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 1);
CORRADE_COMPARE(converter.sceneCount(), 2); CORRADE_COMPARE(converter.sceneCount(), 2);
} }
@ -3041,7 +3041,7 @@ void AbstractSceneConverterTest::addAnimation() {
CORRADE_COMPARE(id, animationCount()); CORRADE_COMPARE(id, animationCount());
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(animation.importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(animation.importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -3052,10 +3052,10 @@ void AbstractSceneConverterTest::addAnimation() {
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.animationCount(), 0); CORRADE_COMPARE(converter.animationCount(), 0);
CORRADE_COMPARE(converter.add(AnimationData{nullptr, nullptr, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(AnimationData{nullptr, nullptr, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.animationCount(), 1); CORRADE_COMPARE(converter.animationCount(), 1);
CORRADE_COMPARE(converter.add(AnimationData{nullptr, nullptr, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 1); CORRADE_COMPARE(converter.add(AnimationData{nullptr, nullptr, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 1);
CORRADE_COMPARE(converter.animationCount(), 2); CORRADE_COMPARE(converter.animationCount(), 2);
} }
@ -3185,7 +3185,7 @@ void AbstractSceneConverterTest::addLight() {
CORRADE_COMPARE(id, lightCount()); CORRADE_COMPARE(id, lightCount());
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(light.importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(light.importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -3196,10 +3196,10 @@ void AbstractSceneConverterTest::addLight() {
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.lightCount(), 0); CORRADE_COMPARE(converter.lightCount(), 0);
CORRADE_COMPARE(converter.add(LightData{LightType::Point, {}, 0.0f, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(LightData{LightType::Point, {}, 0.0f, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.lightCount(), 1); CORRADE_COMPARE(converter.lightCount(), 1);
CORRADE_COMPARE(converter.add(LightData{LightType::Point, {}, 0.0f, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 1); CORRADE_COMPARE(converter.add(LightData{LightType::Point, {}, 0.0f, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 1);
CORRADE_COMPARE(converter.lightCount(), 2); CORRADE_COMPARE(converter.lightCount(), 2);
} }
@ -3268,7 +3268,7 @@ void AbstractSceneConverterTest::addCamera() {
CORRADE_COMPARE(id, cameraCount()); CORRADE_COMPARE(id, cameraCount());
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(camera.importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(camera.importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -3279,10 +3279,10 @@ void AbstractSceneConverterTest::addCamera() {
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.cameraCount(), 0); CORRADE_COMPARE(converter.cameraCount(), 0);
CORRADE_COMPARE(converter.add(CameraData{CameraType::Orthographic3D, {}, 0.0f, 1.0f, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(CameraData{CameraType::Orthographic3D, {}, 0.0f, 1.0f, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.cameraCount(), 1); CORRADE_COMPARE(converter.cameraCount(), 1);
CORRADE_COMPARE(converter.add(CameraData{CameraType::Orthographic3D, {}, 0.0f, 1.0f, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 1); CORRADE_COMPARE(converter.add(CameraData{CameraType::Orthographic3D, {}, 0.0f, 1.0f, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 1);
CORRADE_COMPARE(converter.cameraCount(), 2); CORRADE_COMPARE(converter.cameraCount(), 2);
} }
@ -3351,7 +3351,7 @@ void AbstractSceneConverterTest::addSkin2D() {
CORRADE_COMPARE(id, skin2DCount()); CORRADE_COMPARE(id, skin2DCount());
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(skin.importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(skin.importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -3362,10 +3362,10 @@ void AbstractSceneConverterTest::addSkin2D() {
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.skin2DCount(), 0); CORRADE_COMPARE(converter.skin2DCount(), 0);
CORRADE_COMPARE(converter.add(SkinData2D{nullptr, nullptr, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(SkinData2D{nullptr, nullptr, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.skin2DCount(), 1); CORRADE_COMPARE(converter.skin2DCount(), 1);
CORRADE_COMPARE(converter.add(SkinData2D{nullptr, nullptr, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 1); CORRADE_COMPARE(converter.add(SkinData2D{nullptr, nullptr, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 1);
CORRADE_COMPARE(converter.skin2DCount(), 2); CORRADE_COMPARE(converter.skin2DCount(), 2);
} }
@ -3434,7 +3434,7 @@ void AbstractSceneConverterTest::addSkin3D() {
CORRADE_COMPARE(id, skin3DCount()); CORRADE_COMPARE(id, skin3DCount());
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(skin.importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(skin.importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -3445,10 +3445,10 @@ void AbstractSceneConverterTest::addSkin3D() {
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.skin3DCount(), 0); CORRADE_COMPARE(converter.skin3DCount(), 0);
CORRADE_COMPARE(converter.add(SkinData3D{nullptr, nullptr, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(SkinData3D{nullptr, nullptr, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.skin3DCount(), 1); CORRADE_COMPARE(converter.skin3DCount(), 1);
CORRADE_COMPARE(converter.add(SkinData3D{nullptr, nullptr, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 1); CORRADE_COMPARE(converter.add(SkinData3D{nullptr, nullptr, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 1);
CORRADE_COMPARE(converter.skin3DCount(), 2); CORRADE_COMPARE(converter.skin3DCount(), 2);
} }
@ -3517,7 +3517,7 @@ void AbstractSceneConverterTest::addMesh() {
CORRADE_COMPARE(id, meshCount()); CORRADE_COMPARE(id, meshCount());
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(mesh.importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(mesh.importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -3528,10 +3528,10 @@ void AbstractSceneConverterTest::addMesh() {
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.meshCount(), 0); CORRADE_COMPARE(converter.meshCount(), 0);
CORRADE_COMPARE(converter.add(MeshData{MeshPrimitive::Triangles, 0, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(MeshData{MeshPrimitive::Triangles, 0, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.meshCount(), 1); CORRADE_COMPARE(converter.meshCount(), 1);
CORRADE_COMPARE(converter.add(MeshData{MeshPrimitive::Triangles, 0, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 1); CORRADE_COMPARE(converter.add(MeshData{MeshPrimitive::Triangles, 0, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 1);
CORRADE_COMPARE(converter.meshCount(), 2); CORRADE_COMPARE(converter.meshCount(), 2);
} }
@ -4070,7 +4070,7 @@ void AbstractSceneConverterTest::addMeshLevels() {
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(meshLevels.size(), 3); CORRADE_COMPARE(meshLevels.size(), 3);
CORRADE_COMPARE(meshLevels[1].importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(meshLevels[1].importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -4083,14 +4083,14 @@ void AbstractSceneConverterTest::addMeshLevels() {
CORRADE_COMPARE(converter.meshCount(), 0); CORRADE_COMPARE(converter.meshCount(), 0);
CORRADE_COMPARE(converter.add({ CORRADE_COMPARE(converter.add({
MeshData{MeshPrimitive::Lines, 0}, MeshData{MeshPrimitive::Lines, 0},
MeshData{MeshPrimitive::Triangles, 3, reinterpret_cast<const void*>(0xdeadbeef)}, MeshData{MeshPrimitive::Triangles, 3, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})},
MeshData{MeshPrimitive::Faces, 0}, MeshData{MeshPrimitive::Faces, 0},
}, "hello"), 0); }, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.meshCount(), 1); CORRADE_COMPARE(converter.meshCount(), 1);
CORRADE_COMPARE(converter.add({ CORRADE_COMPARE(converter.add({
MeshData{MeshPrimitive::Faces, 2}, MeshData{MeshPrimitive::Faces, 2},
MeshData{MeshPrimitive::Meshlets, 1, reinterpret_cast<const void*>(0xdeadbeef)}, MeshData{MeshPrimitive::Meshlets, 1, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})},
MeshData{MeshPrimitive::Points, 0}, MeshData{MeshPrimitive::Points, 0},
}, "hello"), 1); }, "hello"), 1);
CORRADE_COMPARE(converter.meshCount(), 2); CORRADE_COMPARE(converter.meshCount(), 2);
@ -4188,7 +4188,7 @@ void AbstractSceneConverterTest::addMeshThroughLevels() {
bool doAdd(UnsignedInt, const Containers::Iterable<const MeshData>& meshLevels, Containers::StringView name) override { bool doAdd(UnsignedInt, const Containers::Iterable<const MeshData>& meshLevels, Containers::StringView name) override {
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(meshLevels.size(), 1); CORRADE_COMPARE(meshLevels.size(), 1);
CORRADE_COMPARE(meshLevels[0].importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(meshLevels[0].importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -4198,7 +4198,7 @@ void AbstractSceneConverterTest::addMeshThroughLevels() {
} converter; } converter;
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.add(MeshData{MeshPrimitive::Triangles, 0, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(MeshData{MeshPrimitive::Triangles, 0, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.meshCount(), 1); CORRADE_COMPARE(converter.meshCount(), 1);
} }
@ -4287,7 +4287,7 @@ void AbstractSceneConverterTest::addMaterial() {
CORRADE_COMPARE(id, materialCount()); CORRADE_COMPARE(id, materialCount());
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(material.importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(material.importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -4298,10 +4298,10 @@ void AbstractSceneConverterTest::addMaterial() {
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.materialCount(), 0); CORRADE_COMPARE(converter.materialCount(), 0);
CORRADE_COMPARE(converter.add(MaterialData{{}, nullptr, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(MaterialData{{}, nullptr, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.materialCount(), 1); CORRADE_COMPARE(converter.materialCount(), 1);
CORRADE_COMPARE(converter.add(MaterialData{{}, nullptr, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 1); CORRADE_COMPARE(converter.add(MaterialData{{}, nullptr, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 1);
CORRADE_COMPARE(converter.materialCount(), 2); CORRADE_COMPARE(converter.materialCount(), 2);
} }
@ -4370,7 +4370,7 @@ void AbstractSceneConverterTest::addTexture() {
CORRADE_COMPARE(id, textureCount()); CORRADE_COMPARE(id, textureCount());
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(texture.importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(texture.importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -4381,10 +4381,10 @@ void AbstractSceneConverterTest::addTexture() {
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.textureCount(), 0); CORRADE_COMPARE(converter.textureCount(), 0);
CORRADE_COMPARE(converter.add(TextureData{{}, {}, {}, {}, {}, 0, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(TextureData{{}, {}, {}, {}, {}, 0, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.textureCount(), 1); CORRADE_COMPARE(converter.textureCount(), 1);
CORRADE_COMPARE(converter.add(TextureData{{}, {}, {}, {}, {}, 0, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 1); CORRADE_COMPARE(converter.add(TextureData{{}, {}, {}, {}, {}, 0, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 1);
CORRADE_COMPARE(converter.textureCount(), 2); CORRADE_COMPARE(converter.textureCount(), 2);
} }
@ -4453,7 +4453,7 @@ void AbstractSceneConverterTest::addImage1D() {
CORRADE_COMPARE(id, image1DCount()); CORRADE_COMPARE(id, image1DCount());
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(image.importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(image.importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -4466,10 +4466,10 @@ void AbstractSceneConverterTest::addImage1D() {
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.image1DCount(), 0); CORRADE_COMPARE(converter.image1DCount(), 0);
CORRADE_COMPARE(converter.add(ImageData1D{PixelFormat::RGBA8Unorm, 1, {}, imageData, ImageFlags1D{}, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(ImageData1D{PixelFormat::RGBA8Unorm, 1, {}, imageData, ImageFlags1D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.image1DCount(), 1); CORRADE_COMPARE(converter.image1DCount(), 1);
CORRADE_COMPARE(converter.add(ImageData1D{PixelFormat::RGBA8Unorm, 1, {}, imageData, ImageFlags1D{}, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 1); CORRADE_COMPARE(converter.add(ImageData1D{PixelFormat::RGBA8Unorm, 1, {}, imageData, ImageFlags1D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 1);
CORRADE_COMPARE(converter.image1DCount(), 2); CORRADE_COMPARE(converter.image1DCount(), 2);
} }
@ -4639,7 +4639,7 @@ void AbstractSceneConverterTest::addImage2D() {
CORRADE_COMPARE(id, image2DCount()); CORRADE_COMPARE(id, image2DCount());
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(image.importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(image.importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -4652,10 +4652,10 @@ void AbstractSceneConverterTest::addImage2D() {
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.image2DCount(), 0); CORRADE_COMPARE(converter.image2DCount(), 0);
CORRADE_COMPARE(converter.add(ImageData2D{PixelFormat::RGBA8Unorm, {1, 1}, {}, imageData, ImageFlags2D{}, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(ImageData2D{PixelFormat::RGBA8Unorm, {1, 1}, {}, imageData, ImageFlags2D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.image2DCount(), 1); CORRADE_COMPARE(converter.image2DCount(), 1);
CORRADE_COMPARE(converter.add(ImageData2D{PixelFormat::RGBA8Unorm, {1, 1}, {}, imageData, ImageFlags2D{}, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 1); CORRADE_COMPARE(converter.add(ImageData2D{PixelFormat::RGBA8Unorm, {1, 1}, {}, imageData, ImageFlags2D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 1);
CORRADE_COMPARE(converter.image2DCount(), 2); CORRADE_COMPARE(converter.image2DCount(), 2);
} }
@ -4849,7 +4849,7 @@ void AbstractSceneConverterTest::addImage3D() {
CORRADE_COMPARE(id, image3DCount()); CORRADE_COMPARE(id, image3DCount());
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(image.importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(image.importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -4862,10 +4862,10 @@ void AbstractSceneConverterTest::addImage3D() {
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.image3DCount(), 0); CORRADE_COMPARE(converter.image3DCount(), 0);
CORRADE_COMPARE(converter.add(ImageData3D{PixelFormat::RGBA8Unorm, {1, 1, 1}, {}, imageData, ImageFlags3D{}, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(ImageData3D{PixelFormat::RGBA8Unorm, {1, 1, 1}, {}, imageData, ImageFlags3D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.image3DCount(), 1); CORRADE_COMPARE(converter.image3DCount(), 1);
CORRADE_COMPARE(converter.add(ImageData3D{PixelFormat::RGBA8Unorm, {1, 1, 1}, {}, imageData, ImageFlags3D{}, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 1); CORRADE_COMPARE(converter.add(ImageData3D{PixelFormat::RGBA8Unorm, {1, 1, 1}, {}, imageData, ImageFlags3D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 1);
CORRADE_COMPARE(converter.image3DCount(), 2); CORRADE_COMPARE(converter.image3DCount(), 2);
} }
@ -5039,7 +5039,7 @@ void AbstractSceneConverterTest::addImageLevels1D() {
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(imageLevels.size(), 3); CORRADE_COMPARE(imageLevels.size(), 3);
CORRADE_COMPARE(imageLevels[1].importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(imageLevels[1].importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -5055,14 +5055,14 @@ void AbstractSceneConverterTest::addImageLevels1D() {
CORRADE_COMPARE(converter.add({ CORRADE_COMPARE(converter.add({
/* Arbitrary dimensions should be fine */ /* Arbitrary dimensions should be fine */
ImageData1D{PixelFormat::RGBA8Unorm, 4, DataFlags{}, imageData}, ImageData1D{PixelFormat::RGBA8Unorm, 4, DataFlags{}, imageData},
ImageData1D{PixelFormat::RGBA8Unorm, 2, DataFlags{}, imageData, ImageFlags1D{}, reinterpret_cast<const void*>(0xdeadbeef)}, ImageData1D{PixelFormat::RGBA8Unorm, 2, DataFlags{}, imageData, ImageFlags1D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})},
ImageData1D{PixelFormat::RGBA8Unorm, 3, DataFlags{}, imageData} ImageData1D{PixelFormat::RGBA8Unorm, 3, DataFlags{}, imageData}
}, "hello"), 0); }, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.image1DCount(), 1); CORRADE_COMPARE(converter.image1DCount(), 1);
CORRADE_COMPARE(converter.add({ CORRADE_COMPARE(converter.add({
ImageData1D{PixelFormat::RGBA8Unorm, 2, DataFlags{}, imageData}, ImageData1D{PixelFormat::RGBA8Unorm, 2, DataFlags{}, imageData},
ImageData1D{PixelFormat::RGBA8Unorm, 1, DataFlags{}, imageData, ImageFlags1D{}, reinterpret_cast<const void*>(0xdeadbeef)}, ImageData1D{PixelFormat::RGBA8Unorm, 1, DataFlags{}, imageData, ImageFlags1D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})},
ImageData1D{PixelFormat::RGBA8Unorm, 4, DataFlags{}, imageData} ImageData1D{PixelFormat::RGBA8Unorm, 4, DataFlags{}, imageData}
}, "hello"), 1); }, "hello"), 1);
CORRADE_COMPARE(converter.image1DCount(), 2); CORRADE_COMPARE(converter.image1DCount(), 2);
@ -5257,7 +5257,7 @@ void AbstractSceneConverterTest::addImageLevels2D() {
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(imageLevels.size(), 3); CORRADE_COMPARE(imageLevels.size(), 3);
CORRADE_COMPARE(imageLevels[1].importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(imageLevels[1].importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -5273,14 +5273,14 @@ void AbstractSceneConverterTest::addImageLevels2D() {
CORRADE_COMPARE(converter.add({ CORRADE_COMPARE(converter.add({
/* Arbitrary dimensions should be fine */ /* Arbitrary dimensions should be fine */
ImageData2D{PixelFormat::RGBA8Unorm, {4, 1}, DataFlags{}, imageData}, ImageData2D{PixelFormat::RGBA8Unorm, {4, 1}, DataFlags{}, imageData},
ImageData2D{PixelFormat::RGBA8Unorm, {2, 2}, DataFlags{}, imageData, ImageFlags2D{}, reinterpret_cast<const void*>(0xdeadbeef)}, ImageData2D{PixelFormat::RGBA8Unorm, {2, 2}, DataFlags{}, imageData, ImageFlags2D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})},
ImageData2D{PixelFormat::RGBA8Unorm, {1, 3}, DataFlags{}, imageData} ImageData2D{PixelFormat::RGBA8Unorm, {1, 3}, DataFlags{}, imageData}
}, "hello"), 0); }, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.image2DCount(), 1); CORRADE_COMPARE(converter.image2DCount(), 1);
CORRADE_COMPARE(converter.add({ CORRADE_COMPARE(converter.add({
ImageData2D{PixelFormat::RGBA8Unorm, {2, 2}, DataFlags{}, imageData}, ImageData2D{PixelFormat::RGBA8Unorm, {2, 2}, DataFlags{}, imageData},
ImageData2D{PixelFormat::RGBA8Unorm, {1, 3}, DataFlags{}, imageData, ImageFlags2D{}, reinterpret_cast<const void*>(0xdeadbeef)}, ImageData2D{PixelFormat::RGBA8Unorm, {1, 3}, DataFlags{}, imageData, ImageFlags2D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})},
ImageData2D{PixelFormat::RGBA8Unorm, {4, 1}, DataFlags{}, imageData} ImageData2D{PixelFormat::RGBA8Unorm, {4, 1}, DataFlags{}, imageData}
}, "hello"), 1); }, "hello"), 1);
CORRADE_COMPARE(converter.image2DCount(), 2); CORRADE_COMPARE(converter.image2DCount(), 2);
@ -5664,7 +5664,7 @@ void AbstractSceneConverterTest::addImageLevels3D() {
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(imageLevels.size(), 3); CORRADE_COMPARE(imageLevels.size(), 3);
CORRADE_COMPARE(imageLevels[1].importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(imageLevels[1].importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -5680,14 +5680,14 @@ void AbstractSceneConverterTest::addImageLevels3D() {
CORRADE_COMPARE(converter.add({ CORRADE_COMPARE(converter.add({
/* Arbitrary dimensions should be fine */ /* Arbitrary dimensions should be fine */
ImageData3D{PixelFormat::RGBA8Unorm, {4, 1, 1}, DataFlags{}, imageData}, ImageData3D{PixelFormat::RGBA8Unorm, {4, 1, 1}, DataFlags{}, imageData},
ImageData3D{PixelFormat::RGBA8Unorm, {2, 2, 1}, DataFlags{}, imageData, ImageFlags3D{}, reinterpret_cast<const void*>(0xdeadbeef)}, ImageData3D{PixelFormat::RGBA8Unorm, {2, 2, 1}, DataFlags{}, imageData, ImageFlags3D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})},
ImageData3D{PixelFormat::RGBA8Unorm, {1, 1, 3}, DataFlags{}, imageData} ImageData3D{PixelFormat::RGBA8Unorm, {1, 1, 3}, DataFlags{}, imageData}
}, "hello"), 0); }, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.image3DCount(), 1); CORRADE_COMPARE(converter.image3DCount(), 1);
CORRADE_COMPARE(converter.add({ CORRADE_COMPARE(converter.add({
ImageData3D{PixelFormat::RGBA8Unorm, {2, 1, 2}, DataFlags{}, imageData}, ImageData3D{PixelFormat::RGBA8Unorm, {2, 1, 2}, DataFlags{}, imageData},
ImageData3D{PixelFormat::RGBA8Unorm, {1, 3, 1}, DataFlags{}, imageData, ImageFlags3D{}, reinterpret_cast<const void*>(0xdeadbeef)}, ImageData3D{PixelFormat::RGBA8Unorm, {1, 3, 1}, DataFlags{}, imageData, ImageFlags3D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})},
ImageData3D{PixelFormat::RGBA8Unorm, {1, 4, 1}, DataFlags{}, imageData} ImageData3D{PixelFormat::RGBA8Unorm, {1, 4, 1}, DataFlags{}, imageData}
}, "hello"), 1); }, "hello"), 1);
CORRADE_COMPARE(converter.image3DCount(), 2); CORRADE_COMPARE(converter.image3DCount(), 2);
@ -5878,7 +5878,7 @@ void AbstractSceneConverterTest::addImage1DThroughLevels() {
bool doAdd(UnsignedInt, const Containers::Iterable<const ImageData1D>& imageLevels, Containers::StringView name) override { bool doAdd(UnsignedInt, const Containers::Iterable<const ImageData1D>& imageLevels, Containers::StringView name) override {
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(imageLevels.size(), 1); CORRADE_COMPARE(imageLevels.size(), 1);
CORRADE_COMPARE(imageLevels[0].importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(imageLevels[0].importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -5890,7 +5890,7 @@ void AbstractSceneConverterTest::addImage1DThroughLevels() {
const char imageData[4]{}; const char imageData[4]{};
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.add(ImageData1D{PixelFormat::RGBA8Unorm, 1, {}, imageData, ImageFlags1D{}, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(ImageData1D{PixelFormat::RGBA8Unorm, 1, {}, imageData, ImageFlags1D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.image1DCount(), 1); CORRADE_COMPARE(converter.image1DCount(), 1);
} }
@ -5908,7 +5908,7 @@ void AbstractSceneConverterTest::addImage2DThroughLevels() {
bool doAdd(UnsignedInt, const Containers::Iterable<const ImageData2D>& imageLevels, Containers::StringView name) override { bool doAdd(UnsignedInt, const Containers::Iterable<const ImageData2D>& imageLevels, Containers::StringView name) override {
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(imageLevels.size(), 1); CORRADE_COMPARE(imageLevels.size(), 1);
CORRADE_COMPARE(imageLevels[0].importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(imageLevels[0].importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -5920,7 +5920,7 @@ void AbstractSceneConverterTest::addImage2DThroughLevels() {
const char imageData[4]{}; const char imageData[4]{};
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.add(ImageData2D{PixelFormat::RGBA8Unorm, {1, 1}, {}, imageData, ImageFlags2D{}, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(ImageData2D{PixelFormat::RGBA8Unorm, {1, 1}, {}, imageData, ImageFlags2D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.image2DCount(), 1); CORRADE_COMPARE(converter.image2DCount(), 1);
} }
@ -5938,7 +5938,7 @@ void AbstractSceneConverterTest::addImage3DThroughLevels() {
bool doAdd(UnsignedInt, const Containers::Iterable<const ImageData3D>& imageLevels, Containers::StringView name) override { bool doAdd(UnsignedInt, const Containers::Iterable<const ImageData3D>& imageLevels, Containers::StringView name) override {
CORRADE_COMPARE(name, "hello"); CORRADE_COMPARE(name, "hello");
CORRADE_COMPARE(imageLevels.size(), 1); CORRADE_COMPARE(imageLevels.size(), 1);
CORRADE_COMPARE(imageLevels[0].importerState(), reinterpret_cast<const void*>(0xdeadbeef)); CORRADE_COMPARE(imageLevels[0].importerState(), reinterpret_cast<const void*>(std::size_t{0xdeadbeef}));
addCalled = true; addCalled = true;
return true; return true;
@ -5950,7 +5950,7 @@ void AbstractSceneConverterTest::addImage3DThroughLevels() {
const char imageData[4]{}; const char imageData[4]{};
CORRADE_VERIFY(converter.begin()); CORRADE_VERIFY(converter.begin());
CORRADE_COMPARE(converter.add(ImageData3D{PixelFormat::RGBA8Unorm, {1, 1, 1}, {}, imageData, ImageFlags3D{}, reinterpret_cast<const void*>(0xdeadbeef)}, "hello"), 0); CORRADE_COMPARE(converter.add(ImageData3D{PixelFormat::RGBA8Unorm, {1, 1, 1}, {}, imageData, ImageFlags3D{}, reinterpret_cast<const void*>(std::size_t{0xdeadbeef})}, "hello"), 0);
CORRADE_VERIFY(converter.addCalled); CORRADE_VERIFY(converter.addCalled);
CORRADE_COMPARE(converter.image3DCount(), 1); CORRADE_COMPARE(converter.image3DCount(), 1);
} }
@ -5994,7 +5994,7 @@ void AbstractSceneConverterTest::addImporterContents() {
return Utility::format("Scene {}", id); return Utility::format("Scene {}", id);
} }
Containers::Optional<SceneData> doScene(UnsignedInt id) override { Containers::Optional<SceneData> doScene(UnsignedInt id) override {
return SceneData{SceneMappingType::UnsignedInt, 0, nullptr, {}, reinterpret_cast<const void*>(0x5ce00000 + id)}; return SceneData{SceneMappingType::UnsignedInt, 0, nullptr, {}, reinterpret_cast<const void*>(std::size_t{0x5ce00000 + id})};
} }
UnsignedInt doAnimationCount() const override { UnsignedInt doAnimationCount() const override {
@ -6009,7 +6009,7 @@ void AbstractSceneConverterTest::addImporterContents() {
return Utility::format("Animation {}", id); return Utility::format("Animation {}", id);
} }
Containers::Optional<AnimationData> doAnimation(UnsignedInt id) override { Containers::Optional<AnimationData> doAnimation(UnsignedInt id) override {
return AnimationData{nullptr, {}, reinterpret_cast<const void*>(0x40100000 + id)}; return AnimationData{nullptr, {}, reinterpret_cast<const void*>(std::size_t{0x40100000 + id})};
} }
UnsignedInt doLightCount() const override { UnsignedInt doLightCount() const override {
@ -6024,7 +6024,7 @@ void AbstractSceneConverterTest::addImporterContents() {
return Utility::format("Light {}", id); return Utility::format("Light {}", id);
} }
Containers::Optional<LightData> doLight(UnsignedInt id) override { Containers::Optional<LightData> doLight(UnsignedInt id) override {
return LightData{LightType::Point, {}, {}, reinterpret_cast<const void*>(0x11600000 + id)}; return LightData{LightType::Point, {}, {}, reinterpret_cast<const void*>(std::size_t{0x11600000 + id})};
} }
UnsignedInt doCameraCount() const override { UnsignedInt doCameraCount() const override {
@ -6039,7 +6039,7 @@ void AbstractSceneConverterTest::addImporterContents() {
return Utility::format("Camera {}", id); return Utility::format("Camera {}", id);
} }
Containers::Optional<CameraData> doCamera(UnsignedInt id) override { Containers::Optional<CameraData> doCamera(UnsignedInt id) override {
return CameraData{CameraType::Orthographic2D, {}, 0.0f, 0.0f, reinterpret_cast<const void*>(0xca0e0000 + id)}; return CameraData{CameraType::Orthographic2D, {}, 0.0f, 0.0f, reinterpret_cast<const void*>(std::size_t{0xca0e0000 + id})};
} }
UnsignedInt doSkin2DCount() const override { UnsignedInt doSkin2DCount() const override {
@ -6054,7 +6054,7 @@ void AbstractSceneConverterTest::addImporterContents() {
return Utility::format("2D skin {}", id); return Utility::format("2D skin {}", id);
} }
Containers::Optional<SkinData2D> doSkin2D(UnsignedInt id) override { Containers::Optional<SkinData2D> doSkin2D(UnsignedInt id) override {
return SkinData2D{{}, {}, reinterpret_cast<const void*>(0x50102d00 + id)}; return SkinData2D{{}, {}, reinterpret_cast<const void*>(std::size_t{0x50102d00 + id})};
} }
UnsignedInt doSkin3DCount() const override { UnsignedInt doSkin3DCount() const override {
@ -6069,7 +6069,7 @@ void AbstractSceneConverterTest::addImporterContents() {
return Utility::format("3D skin {}", id); return Utility::format("3D skin {}", id);
} }
Containers::Optional<SkinData3D> doSkin3D(UnsignedInt id) override { Containers::Optional<SkinData3D> doSkin3D(UnsignedInt id) override {
return SkinData3D{{}, {}, reinterpret_cast<const void*>(0x50103d00 + id)}; return SkinData3D{{}, {}, reinterpret_cast<const void*>(std::size_t{0x50103d00 + id})};
} }
UnsignedInt doMeshCount() const override { UnsignedInt doMeshCount() const override {
@ -6088,7 +6088,7 @@ void AbstractSceneConverterTest::addImporterContents() {
return Utility::format("Mesh {}", id); return Utility::format("Mesh {}", id);
} }
Containers::Optional<MeshData> doMesh(UnsignedInt id, UnsignedInt level) override { Containers::Optional<MeshData> doMesh(UnsignedInt id, UnsignedInt level) override {
return MeshData{{}, 0, reinterpret_cast<const void*>(0x0e500000 + id + level*16)}; return MeshData{{}, 0, reinterpret_cast<const void*>(std::size_t{0x0e500000 + id + level*16})};
} }
UnsignedInt doMaterialCount() const override { UnsignedInt doMaterialCount() const override {
@ -6103,7 +6103,7 @@ void AbstractSceneConverterTest::addImporterContents() {
return Utility::format("Material {}", id); return Utility::format("Material {}", id);
} }
Containers::Optional<MaterialData> doMaterial(UnsignedInt id) override { Containers::Optional<MaterialData> doMaterial(UnsignedInt id) override {
return MaterialData{{}, {}, reinterpret_cast<const void*>(0x0a7e0000 + id)}; return MaterialData{{}, {}, reinterpret_cast<const void*>(std::size_t{0x0a7e0000 + id})};
} }
UnsignedInt doTextureCount() const override { UnsignedInt doTextureCount() const override {
@ -6118,7 +6118,7 @@ void AbstractSceneConverterTest::addImporterContents() {
return Utility::format("Texture {}", id); return Utility::format("Texture {}", id);
} }
Containers::Optional<TextureData> doTexture(UnsignedInt id) override { Containers::Optional<TextureData> doTexture(UnsignedInt id) override {
return TextureData{TextureType::Texture1D, SamplerFilter::Nearest, SamplerFilter::Nearest, SamplerMipmap::Nearest, SamplerWrapping::ClampToEdge, 0, reinterpret_cast<const void*>(0x7e070000 + id)}; return TextureData{TextureType::Texture1D, SamplerFilter::Nearest, SamplerFilter::Nearest, SamplerMipmap::Nearest, SamplerWrapping::ClampToEdge, 0, reinterpret_cast<const void*>(std::size_t{0x7e070000 + id})};
} }
UnsignedInt doImage1DCount() const override { UnsignedInt doImage1DCount() const override {
@ -6137,7 +6137,7 @@ void AbstractSceneConverterTest::addImporterContents() {
return Utility::format("1D image {}", id); return Utility::format("1D image {}", id);
} }
Containers::Optional<ImageData1D> doImage1D(UnsignedInt id, UnsignedInt level) override { Containers::Optional<ImageData1D> doImage1D(UnsignedInt id, UnsignedInt level) override {
return ImageData1D{PixelFormat::RGBA8Unorm, 1, {}, "yes", {}, reinterpret_cast<const void*>(0x10a91d00 + id + level*16)}; return ImageData1D{PixelFormat::RGBA8Unorm, 1, {}, "yes", {}, reinterpret_cast<const void*>(std::size_t{0x10a91d00 + id + level*16})};
} }
UnsignedInt doImage2DCount() const override { UnsignedInt doImage2DCount() const override {
@ -6156,7 +6156,7 @@ void AbstractSceneConverterTest::addImporterContents() {
return Utility::format("2D image {}", id); return Utility::format("2D image {}", id);
} }
Containers::Optional<ImageData2D> doImage2D(UnsignedInt id, UnsignedInt level) override { Containers::Optional<ImageData2D> doImage2D(UnsignedInt id, UnsignedInt level) override {
return ImageData2D{PixelFormat::RGBA8Unorm, {1, 1}, {}, "yes", {}, reinterpret_cast<const void*>(0x10a92d00 + id + level*16)}; return ImageData2D{PixelFormat::RGBA8Unorm, {1, 1}, {}, "yes", {}, reinterpret_cast<const void*>(std::size_t{0x10a92d00 + id + level*16})};
} }
UnsignedInt doImage3DCount() const override { UnsignedInt doImage3DCount() const override {
@ -6175,7 +6175,7 @@ void AbstractSceneConverterTest::addImporterContents() {
return Utility::format("3D image {}", id); return Utility::format("3D image {}", id);
} }
Containers::Optional<ImageData3D> doImage3D(UnsignedInt id, UnsignedInt level) override { Containers::Optional<ImageData3D> doImage3D(UnsignedInt id, UnsignedInt level) override {
return ImageData3D{PixelFormat::RGBA8Unorm, {1, 1, 1}, {}, "yes", {}, reinterpret_cast<const void*>(0x10a93d00 + id + level*16)}; return ImageData3D{PixelFormat::RGBA8Unorm, {1, 1, 1}, {}, "yes", {}, reinterpret_cast<const void*>(std::size_t{0x10a93d00 + id + level*16})};
} }
SceneContents contents; SceneContents contents;

4
src/Magnum/Trade/Test/MeshDataTest.cpp

@ -2782,7 +2782,7 @@ void MeshDataTest::constructAttributelessNotOwned() {
#ifndef CORRADE_TARGET_32BIT #ifndef CORRADE_TARGET_32BIT
void MeshDataTest::constructIndicesOver4GB() { void MeshDataTest::constructIndicesOver4GB() {
/* For some reason 2500 doesn't trigger an assertion, 3000 does */ /* For some reason 2500 doesn't trigger an assertion, 3000 does */
Containers::ArrayView<UnsignedInt> indices{reinterpret_cast<UnsignedInt*>(0xdeadbeef), 3000ull*1000*1000}; Containers::ArrayView<UnsignedInt> indices{reinterpret_cast<UnsignedInt*>(std::size_t{0xdeadbeef}), 3000ull*1000*1000};
MeshData data{MeshPrimitive::Triangles, MeshData data{MeshPrimitive::Triangles,
{}, indices, MeshIndexData{indices}, 5}; {}, indices, MeshIndexData{indices}, 5};
@ -2792,7 +2792,7 @@ void MeshDataTest::constructIndicesOver4GB() {
void MeshDataTest::constructAttributeOver4GB() { void MeshDataTest::constructAttributeOver4GB() {
/* For some reason 2500 doesn't trigger an assertion, 3000 does */ /* For some reason 2500 doesn't trigger an assertion, 3000 does */
Containers::ArrayView<UnsignedInt> vertices{reinterpret_cast<UnsignedInt*>(0xdeadbeef), 3000ull*1000*1000}; Containers::ArrayView<UnsignedInt> vertices{reinterpret_cast<UnsignedInt*>(std::size_t{0xdeadbeef}), 3000ull*1000*1000};
MeshData data{MeshPrimitive::Triangles, {}, vertices, { MeshData data{MeshPrimitive::Triangles, {}, vertices, {
MeshAttributeData{meshAttributeCustom(15), vertices} MeshAttributeData{meshAttributeCustom(15), vertices}

20
src/Magnum/Trade/Test/SceneDataTest.cpp

@ -3586,7 +3586,7 @@ void SceneDataTest::constructDeprecatedBoth2DAnd3D() {
#ifndef CORRADE_TARGET_32BIT #ifndef CORRADE_TARGET_32BIT
void SceneDataTest::constructMappingOver4GB() { void SceneDataTest::constructMappingOver4GB() {
Containers::ArrayView<UnsignedInt> mappingData{reinterpret_cast<UnsignedInt*>(0xdeadbeef), 3000ull*1000*1000}; Containers::ArrayView<UnsignedInt> mappingData{reinterpret_cast<UnsignedInt*>(std::size_t{0xdeadbeef}), 3000ull*1000*1000};
Containers::StridedArrayView1D<UnsignedByte> fieldData{mappingData, reinterpret_cast<UnsignedByte*>(mappingData.data()), 3000ull*1000*1000, 0}; Containers::StridedArrayView1D<UnsignedByte> fieldData{mappingData, reinterpret_cast<UnsignedByte*>(mappingData.data()), 3000ull*1000*1000, 0};
SceneData data{SceneMappingType::UnsignedInt, 1, {}, mappingData, { SceneData data{SceneMappingType::UnsignedInt, 1, {}, mappingData, {
@ -3597,7 +3597,7 @@ void SceneDataTest::constructMappingOver4GB() {
} }
void SceneDataTest::constructFieldOver4GB() { void SceneDataTest::constructFieldOver4GB() {
Containers::ArrayView<UnsignedInt> fieldData{reinterpret_cast<UnsignedInt*>(0xdeadbeef), 3000ull*1000*1000}; Containers::ArrayView<UnsignedInt> fieldData{reinterpret_cast<UnsignedInt*>(std::size_t{0xdeadbeef}), 3000ull*1000*1000};
Containers::StridedArrayView1D<UnsignedByte> mappingData{fieldData, reinterpret_cast<UnsignedByte*>(fieldData.data()), 3000ull*1000*1000, 0}; Containers::StridedArrayView1D<UnsignedByte> mappingData{fieldData, reinterpret_cast<UnsignedByte*>(fieldData.data()), 3000ull*1000*1000, 0};
SceneData data{SceneMappingType::UnsignedByte, 1, {}, fieldData, { SceneData data{SceneMappingType::UnsignedByte, 1, {}, fieldData, {
@ -3773,11 +3773,11 @@ void SceneDataTest::constructBitFieldDataNotContained() {
const Containers::Array<char> data{reinterpret_cast<char*>(0xbadda9), 10, [](char*, std::size_t){}}; const Containers::Array<char> data{reinterpret_cast<char*>(0xbadda9), 10, [](char*, std::size_t){}};
Containers::Array<char> sameDataButMovable{reinterpret_cast<char*>(0xbadda9), 10, [](char*, std::size_t){}}; Containers::Array<char> sameDataButMovable{reinterpret_cast<char*>(0xbadda9), 10, [](char*, std::size_t){}};
Containers::ArrayView<UnsignedByte> mappingData{reinterpret_cast<UnsignedByte*>(0xbadda9), 10}; Containers::ArrayView<UnsignedByte> mappingData{reinterpret_cast<UnsignedByte*>(0xbadda9), 10};
Containers::StridedBitArrayView1D dataOneByteOut{Containers::BitArrayView{reinterpret_cast<void*>(0xbaddaa), 0, 80}, 10, 8}; Containers::StridedBitArrayView1D dataOneByteOut{Containers::BitArrayView{reinterpret_cast<void*>(std::size_t{0xbaddaa}), 0, 80}, 10, 8};
Containers::StridedBitArrayView1D dataTwoBitsOut{Containers::BitArrayView{reinterpret_cast<void*>(0xbadda9), 0, 90}, 10, 9}; Containers::StridedBitArrayView1D dataTwoBitsOut{Containers::BitArrayView{reinterpret_cast<void*>(std::size_t{0xbadda9}), 0, 90}, 10, 9};
Containers::StridedBitArrayView1D dataOneBitOffsetOut{Containers::BitArrayView{reinterpret_cast<void*>(0xbadda9), 4, 95}, 5, 19}; Containers::StridedBitArrayView1D dataOneBitOffsetOut{Containers::BitArrayView{reinterpret_cast<void*>(std::size_t{0xbadda9}), 4, 95}, 5, 19};
Containers::StridedBitArrayView1D dataOneBitOffsetBeforeOut{Containers::BitArrayView{reinterpret_cast<void*>(0xbadda8), 7, 80}, 10, 8}; Containers::StridedBitArrayView1D dataOneBitOffsetBeforeOut{Containers::BitArrayView{reinterpret_cast<void*>(std::size_t{0xbadda8}), 7, 80}, 10, 8};
Containers::BitArrayView dataOut{reinterpret_cast<void*>(0xdead), 7, 10}; Containers::BitArrayView dataOut{reinterpret_cast<void*>(std::size_t{0xdead}), 7, 10};
std::ostringstream out; std::ostringstream out;
Error redirectError{&out}; Error redirectError{&out};
@ -3807,7 +3807,7 @@ void SceneDataTest::constructBitFieldDataNotContained() {
/* Verify array size is taken into account as well. If not, the data would /* Verify array size is taken into account as well. If not, the data would
span only 9 bytes instead of 11, which would pass. */ span only 9 bytes instead of 11, which would pass. */
SceneData{SceneMappingType::UnsignedByte, 10, {}, data, { SceneData{SceneMappingType::UnsignedByte, 10, {}, data, {
SceneFieldData{sceneFieldCustom(773), mappingData.prefix(9), Containers::StridedBitArrayView2D{Containers::BitArrayView{reinterpret_cast<void*>(0xbadda9), 0, 81}, {9, 9}}} SceneFieldData{sceneFieldCustom(773), mappingData.prefix(9), Containers::StridedBitArrayView2D{Containers::BitArrayView{reinterpret_cast<void*>(std::size_t{0xbadda9}), 0, 81}, {9, 9}}}
}}; }};
/* Not checking for nullptr data, since that got checked for mapping view /* Not checking for nullptr data, since that got checked for mapping view
already and there's no way to trigger it for fields */ already and there's no way to trigger it for fields */
@ -3934,7 +3934,7 @@ void SceneDataTest::constructNotOwnedFlagOwned() {
void SceneDataTest::constructMismatchedTRSViews() { void SceneDataTest::constructMismatchedTRSViews() {
CORRADE_SKIP_IF_NO_ASSERT(); CORRADE_SKIP_IF_NO_ASSERT();
Containers::ArrayView<const char> data{reinterpret_cast<char*>(0xcafe0000), Containers::ArrayView<const char> data{reinterpret_cast<char*>(std::size_t{0xcafe0000}),
4 + 3*24 + 3*4}; 4 + 3*24 + 3*4};
Containers::ArrayView<const UnsignedInt> mappingData{ Containers::ArrayView<const UnsignedInt> mappingData{
reinterpret_cast<const UnsignedInt*>(data.data() + 4 + 3*24), 3}; reinterpret_cast<const UnsignedInt*>(data.data() + 4 + 3*24), 3};
@ -4163,7 +4163,7 @@ void SceneDataTest::constructMismatchedMeshMaterialView() {
/* Different sizes, strides and offset-only field handling tested /* Different sizes, strides and offset-only field handling tested
thoroughly in constructMismatchedTRSViews() already */ thoroughly in constructMismatchedTRSViews() already */
Containers::ArrayView<const char> data{reinterpret_cast<char*>(0xcafe0000), Containers::ArrayView<const char> data{reinterpret_cast<char*>(std::size_t{0xcafe0000}),
4 + 3*8 + 3*4}; 4 + 3*8 + 3*4};
Containers::ArrayView<const UnsignedInt> mappingData{ Containers::ArrayView<const UnsignedInt> mappingData{
reinterpret_cast<const UnsignedInt*>(data.data() + 4 + 3*8), 3}; reinterpret_cast<const UnsignedInt*>(data.data() + 4 + 3*8), 3};

4
src/Magnum/Vk/Test/BufferTest.cpp

@ -219,8 +219,8 @@ void BufferTest::bufferCopyConvertDisallowed() {
void BufferTest::copyBufferInfoConstruct() { void BufferTest::copyBufferInfoConstruct() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
auto a = reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead)); auto a = reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead}));
auto b = reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xcafe)); auto b = reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xcafe}));
CopyBufferInfo info{a, b, { CopyBufferInfo info{a, b, {
{3, 0, 0}, {3, 0, 0},

26
src/Magnum/Vk/Test/DescriptorSetLayoutTest.cpp

@ -112,14 +112,14 @@ void DescriptorSetLayoutTest::bindingConstructFlags() {
void DescriptorSetLayoutTest::bindingConstructImmutableSamplers() { void DescriptorSetLayoutTest::bindingConstructImmutableSamplers() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
DescriptorSetLayoutBinding binding{15, DescriptorType::SampledImage, {reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xdead)), reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xbeef)), reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xcafe))}, ShaderStage::Fragment, DescriptorSetLayoutBinding::Flag::UpdateAfterBind}; DescriptorSetLayoutBinding binding{15, DescriptorType::SampledImage, {reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xdead})), reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xbeef})), reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xcafe}))}, ShaderStage::Fragment, DescriptorSetLayoutBinding::Flag::UpdateAfterBind};
CORRADE_COMPARE(binding->binding, 15); CORRADE_COMPARE(binding->binding, 15);
CORRADE_COMPARE(binding->descriptorType, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE); CORRADE_COMPARE(binding->descriptorType, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE);
CORRADE_COMPARE(binding->descriptorCount, 3); CORRADE_COMPARE(binding->descriptorCount, 3);
CORRADE_VERIFY(binding->pImmutableSamplers); CORRADE_VERIFY(binding->pImmutableSamplers);
CORRADE_COMPARE(binding->pImmutableSamplers[0], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xdead))); CORRADE_COMPARE(binding->pImmutableSamplers[0], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xdead})));
CORRADE_COMPARE(binding->pImmutableSamplers[1], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xbeef))); CORRADE_COMPARE(binding->pImmutableSamplers[1], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xbeef})));
CORRADE_COMPARE(binding->pImmutableSamplers[2], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xcafe))); CORRADE_COMPARE(binding->pImmutableSamplers[2], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xcafe})));
CORRADE_COMPARE(binding->stageFlags, VK_SHADER_STAGE_FRAGMENT_BIT); CORRADE_COMPARE(binding->stageFlags, VK_SHADER_STAGE_FRAGMENT_BIT);
CORRADE_COMPARE(binding.flags(), VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT); CORRADE_COMPARE(binding.flags(), VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT);
} }
@ -155,16 +155,16 @@ void DescriptorSetLayoutTest::bindingConstructCopy() {
void DescriptorSetLayoutTest::bindingConstructMove() { void DescriptorSetLayoutTest::bindingConstructMove() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
DescriptorSetLayoutBinding a{15, DescriptorType::SampledImage, {reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xdead)), reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xbeef)), reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xcafe))}, ShaderStage::Fragment, DescriptorSetLayoutBinding::Flag::UpdateAfterBind}; DescriptorSetLayoutBinding a{15, DescriptorType::SampledImage, {reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xdead})), reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xbeef})), reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xcafe}))}, ShaderStage::Fragment, DescriptorSetLayoutBinding::Flag::UpdateAfterBind};
CORRADE_COMPARE(a->descriptorCount, 3); CORRADE_COMPARE(a->descriptorCount, 3);
CORRADE_VERIFY(a->pImmutableSamplers); CORRADE_VERIFY(a->pImmutableSamplers);
CORRADE_COMPARE(a->pImmutableSamplers[1], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xbeef))); CORRADE_COMPARE(a->pImmutableSamplers[1], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xbeef})));
DescriptorSetLayoutBinding b = Utility::move(a); DescriptorSetLayoutBinding b = Utility::move(a);
CORRADE_VERIFY(!a->pImmutableSamplers); CORRADE_VERIFY(!a->pImmutableSamplers);
CORRADE_COMPARE(b->descriptorCount, 3); CORRADE_COMPARE(b->descriptorCount, 3);
CORRADE_VERIFY(b->pImmutableSamplers); CORRADE_VERIFY(b->pImmutableSamplers);
CORRADE_COMPARE(b->pImmutableSamplers[1], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xbeef))); CORRADE_COMPARE(b->pImmutableSamplers[1], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xbeef})));
CORRADE_COMPARE(b.flags(), VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT); CORRADE_COMPARE(b.flags(), VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT);
DescriptorSetLayoutBinding c{3, {}}; DescriptorSetLayoutBinding c{3, {}};
@ -172,7 +172,7 @@ void DescriptorSetLayoutTest::bindingConstructMove() {
CORRADE_VERIFY(!b->pImmutableSamplers); CORRADE_VERIFY(!b->pImmutableSamplers);
CORRADE_COMPARE(c->descriptorCount, 3); CORRADE_COMPARE(c->descriptorCount, 3);
CORRADE_VERIFY(c->pImmutableSamplers); CORRADE_VERIFY(c->pImmutableSamplers);
CORRADE_COMPARE(c->pImmutableSamplers[1], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xbeef))); CORRADE_COMPARE(c->pImmutableSamplers[1], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xbeef})));
CORRADE_COMPARE(c.flags(), VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT); CORRADE_COMPARE(c.flags(), VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT);
} }
@ -219,12 +219,12 @@ void DescriptorSetLayoutTest::createInfoConstructBindingFlags() {
void DescriptorSetLayoutTest::createInfoConstructBindingImmutableSamplers() { void DescriptorSetLayoutTest::createInfoConstructBindingImmutableSamplers() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
DescriptorSetLayoutBinding binding{3, DescriptorType::Sampler, {reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xdead)), reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xbeef))}}; DescriptorSetLayoutBinding binding{3, DescriptorType::Sampler, {reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xdead})), reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xbeef}))}};
DescriptorSetLayoutCreateInfo info{{ DescriptorSetLayoutCreateInfo info{{
{{7, DescriptorType::UniformBuffer}}, {{7, DescriptorType::UniformBuffer}},
binding, binding,
{{12, DescriptorType::CombinedImageSampler, {reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xcafe))}}}, {{12, DescriptorType::CombinedImageSampler, {reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xcafe}))}}},
}}; }};
CORRADE_COMPARE(info->bindingCount, 3); CORRADE_COMPARE(info->bindingCount, 3);
CORRADE_VERIFY(info->pBindings); CORRADE_VERIFY(info->pBindings);
@ -240,14 +240,14 @@ void DescriptorSetLayoutTest::createInfoConstructBindingImmutableSamplers() {
CORRADE_VERIFY(info->pBindings[1].pImmutableSamplers); CORRADE_VERIFY(info->pBindings[1].pImmutableSamplers);
/* The samplers should get copied, not referenced */ /* The samplers should get copied, not referenced */
CORRADE_VERIFY(info->pBindings[1].pImmutableSamplers != binding->pImmutableSamplers); CORRADE_VERIFY(info->pBindings[1].pImmutableSamplers != binding->pImmutableSamplers);
CORRADE_COMPARE(info->pBindings[1].pImmutableSamplers[0], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xdead))); CORRADE_COMPARE(info->pBindings[1].pImmutableSamplers[0], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xdead})));
CORRADE_COMPARE(info->pBindings[1].pImmutableSamplers[1], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xbeef))); CORRADE_COMPARE(info->pBindings[1].pImmutableSamplers[1], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xbeef})));
CORRADE_COMPARE(info->pBindings[2].binding, 12); CORRADE_COMPARE(info->pBindings[2].binding, 12);
CORRADE_COMPARE(info->pBindings[2].descriptorType, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER); CORRADE_COMPARE(info->pBindings[2].descriptorType, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER);
CORRADE_COMPARE(info->pBindings[2].descriptorCount, 1); CORRADE_COMPARE(info->pBindings[2].descriptorCount, 1);
CORRADE_VERIFY(info->pBindings[2].pImmutableSamplers); CORRADE_VERIFY(info->pBindings[2].pImmutableSamplers);
CORRADE_COMPARE(info->pBindings[2].pImmutableSamplers[0], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(0xcafe))); CORRADE_COMPARE(info->pBindings[2].pImmutableSamplers[0], reinterpret_cast<VkSampler>(reinterpret_cast<void*>(std::size_t{0xcafe})));
CORRADE_VERIFY(!info->pNext); CORRADE_VERIFY(!info->pNext);
} }

44
src/Magnum/Vk/Test/FramebufferTest.cpp

@ -64,20 +64,20 @@ void FramebufferTest::createInfoConstruct() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
Device device{NoCreate}; Device device{NoCreate};
auto renderPass = reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(0xdeadbeef)); auto renderPass = reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(std::size_t{0xdeadbeef}));
auto a = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe1)), {}); auto a = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe1})), {});
auto b = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe2)), {}); auto b = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe2})), {});
auto c = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe3)), {}); auto c = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe3})), {});
/** @todo use a real flag once it exists */ /** @todo use a real flag once it exists */
FramebufferCreateInfo info{renderPass, {a, b, c}, {256, 512}, FramebufferCreateInfo::Flag(0xbadda9)}; FramebufferCreateInfo info{renderPass, {a, b, c}, {256, 512}, FramebufferCreateInfo::Flag(0xbadda9)};
CORRADE_COMPARE(info->flags, 0xbadda9); CORRADE_COMPARE(info->flags, 0xbadda9);
CORRADE_COMPARE(info->renderPass, reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(0xdeadbeef))); CORRADE_COMPARE(info->renderPass, reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(std::size_t{0xdeadbeef})));
CORRADE_COMPARE(info->attachmentCount, 3); CORRADE_COMPARE(info->attachmentCount, 3);
CORRADE_VERIFY(info->pAttachments); CORRADE_VERIFY(info->pAttachments);
CORRADE_COMPARE(info->pAttachments[0], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe1))); CORRADE_COMPARE(info->pAttachments[0], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe1})));
CORRADE_COMPARE(info->pAttachments[1], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe2))); CORRADE_COMPARE(info->pAttachments[1], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe2})));
CORRADE_COMPARE(info->pAttachments[2], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe3))); CORRADE_COMPARE(info->pAttachments[2], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe3})));
CORRADE_COMPARE(info->width, 256); CORRADE_COMPARE(info->width, 256);
CORRADE_COMPARE(info->height, 512); CORRADE_COMPARE(info->height, 512);
CORRADE_COMPARE(info->layers, 1); CORRADE_COMPARE(info->layers, 1);
@ -87,20 +87,20 @@ void FramebufferTest::createInfoConstructLayered() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
Device device{NoCreate}; Device device{NoCreate};
auto renderPass = reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(0xdeadbeef)); auto renderPass = reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(std::size_t{0xdeadbeef}));
auto a = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe1)), {}); auto a = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe1})), {});
auto b = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe2)), {}); auto b = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe2})), {});
auto c = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe3)), {}); auto c = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe3})), {});
/** @todo use a real flag once it exists */ /** @todo use a real flag once it exists */
FramebufferCreateInfo info{renderPass, {a, b, c}, {256, 512, 5}, FramebufferCreateInfo::Flag(0xbadda9)}; FramebufferCreateInfo info{renderPass, {a, b, c}, {256, 512, 5}, FramebufferCreateInfo::Flag(0xbadda9)};
CORRADE_COMPARE(info->flags, 0xbadda9); CORRADE_COMPARE(info->flags, 0xbadda9);
CORRADE_COMPARE(info->renderPass, reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(0xdeadbeef))); CORRADE_COMPARE(info->renderPass, reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(std::size_t{0xdeadbeef})));
CORRADE_COMPARE(info->attachmentCount, 3); CORRADE_COMPARE(info->attachmentCount, 3);
CORRADE_VERIFY(info->pAttachments); CORRADE_VERIFY(info->pAttachments);
CORRADE_COMPARE(info->pAttachments[0], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe1))); CORRADE_COMPARE(info->pAttachments[0], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe1})));
CORRADE_COMPARE(info->pAttachments[1], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe2))); CORRADE_COMPARE(info->pAttachments[1], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe2})));
CORRADE_COMPARE(info->pAttachments[2], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe3))); CORRADE_COMPARE(info->pAttachments[2], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe3})));
CORRADE_COMPARE(info->width, 256); CORRADE_COMPARE(info->width, 256);
CORRADE_COMPARE(info->height, 512); CORRADE_COMPARE(info->height, 512);
CORRADE_COMPARE(info->layers, 5); CORRADE_COMPARE(info->layers, 5);
@ -135,27 +135,27 @@ void FramebufferTest::createInfoConstructMove() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
Device device{NoCreate}; Device device{NoCreate};
auto renderPass = reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(0xdeadbeef)); auto renderPass = reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(std::size_t{0xdeadbeef}));
auto view = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe)), {}); auto view = ImageView::wrap(device, reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe})), {});
FramebufferCreateInfo a{renderPass, {view}, {256, 512}}; FramebufferCreateInfo a{renderPass, {view}, {256, 512}};
FramebufferCreateInfo b = Utility::move(a); FramebufferCreateInfo b = Utility::move(a);
CORRADE_COMPARE(a->attachmentCount, 0); CORRADE_COMPARE(a->attachmentCount, 0);
CORRADE_VERIFY(!a->pAttachments); CORRADE_VERIFY(!a->pAttachments);
CORRADE_COMPARE(b->renderPass, reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(0xdeadbeef))); CORRADE_COMPARE(b->renderPass, reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(std::size_t{0xdeadbeef})));
CORRADE_COMPARE(b->attachmentCount, 1); CORRADE_COMPARE(b->attachmentCount, 1);
CORRADE_VERIFY(b->pAttachments); CORRADE_VERIFY(b->pAttachments);
CORRADE_COMPARE(b->pAttachments[0], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe))); CORRADE_COMPARE(b->pAttachments[0], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe})));
FramebufferCreateInfo c{VkFramebufferCreateInfo{}}; FramebufferCreateInfo c{VkFramebufferCreateInfo{}};
c = Utility::move(b); c = Utility::move(b);
CORRADE_COMPARE(b->attachmentCount, 0); CORRADE_COMPARE(b->attachmentCount, 0);
CORRADE_VERIFY(!b->pAttachments); CORRADE_VERIFY(!b->pAttachments);
CORRADE_COMPARE(c->renderPass, reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(0xdeadbeef))); CORRADE_COMPARE(c->renderPass, reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(std::size_t{0xdeadbeef})));
CORRADE_COMPARE(c->attachmentCount, 1); CORRADE_COMPARE(c->attachmentCount, 1);
CORRADE_VERIFY(c->pAttachments); CORRADE_VERIFY(c->pAttachments);
CORRADE_COMPARE(c->pAttachments[0], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(0xcafe))); CORRADE_COMPARE(c->pAttachments[0], reinterpret_cast<VkImageView>(reinterpret_cast<void*>(std::size_t{0xcafe})));
CORRADE_VERIFY(std::is_nothrow_move_constructible<FramebufferCreateInfo>::value); CORRADE_VERIFY(std::is_nothrow_move_constructible<FramebufferCreateInfo>::value);
CORRADE_VERIFY(std::is_nothrow_move_assignable<FramebufferCreateInfo>::value); CORRADE_VERIFY(std::is_nothrow_move_assignable<FramebufferCreateInfo>::value);

12
src/Magnum/Vk/Test/ImageTest.cpp

@ -481,8 +481,8 @@ void ImageTest::imageCopyConvertDisallowed() {
void ImageTest::copyImageInfoConstruct() { void ImageTest::copyImageInfoConstruct() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
auto a = reinterpret_cast<VkImage>(reinterpret_cast<void*>(0xdead)); auto a = reinterpret_cast<VkImage>(reinterpret_cast<void*>(std::size_t{0xdead}));
auto b = reinterpret_cast<VkImage>(reinterpret_cast<void*>(0xcafe)); auto b = reinterpret_cast<VkImage>(reinterpret_cast<void*>(std::size_t{0xcafe}));
CopyImageInfo info{a, ImageLayout::Preinitialized, b, ImageLayout::General, { CopyImageInfo info{a, ImageLayout::Preinitialized, b, ImageLayout::General, {
{ImageAspect::Color, 3, 0, 0, {}, 0, 0, 0, {}, {}}, {ImageAspect::Color, 3, 0, 0, {}, 0, 0, 0, {}, {}},
@ -716,8 +716,8 @@ void ImageTest::bufferImageCopyConvertDisallowed() {
void ImageTest::copyBufferToImageInfoConstruct() { void ImageTest::copyBufferToImageInfoConstruct() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
auto a = reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead)); auto a = reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead}));
auto b = reinterpret_cast<VkImage>(reinterpret_cast<void*>(0xcafe)); auto b = reinterpret_cast<VkImage>(reinterpret_cast<void*>(std::size_t{0xcafe}));
CopyBufferToImageInfo info{a, b, ImageLayout::TransferDestination, { CopyBufferToImageInfo info{a, b, ImageLayout::TransferDestination, {
BufferImageCopy1D{5, ImageAspect::Color, 0, {}}, BufferImageCopy1D{5, ImageAspect::Color, 0, {}},
@ -771,8 +771,8 @@ void ImageTest::copyBufferToImageInfoConvertToVk() {
void ImageTest::copyImageToBufferInfoConstruct() { void ImageTest::copyImageToBufferInfoConstruct() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
auto a = reinterpret_cast<VkImage>(reinterpret_cast<void*>(0xcafe)); auto a = reinterpret_cast<VkImage>(reinterpret_cast<void*>(std::size_t{0xcafe}));
auto b = reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead)); auto b = reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead}));
CopyImageToBufferInfo info{a, ImageLayout::TransferSource, b, { CopyImageToBufferInfo info{a, ImageLayout::TransferSource, b, {
BufferImageCopy1D{5, ImageAspect::Color, 0, {}}, BufferImageCopy1D{5, ImageAspect::Color, 0, {}},

2
src/Magnum/Vk/Test/ImageViewTest.cpp

@ -109,7 +109,7 @@ ImageViewTest::ImageViewTest() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
const VkImage imageHandle{reinterpret_cast<VkImage>(reinterpret_cast<void*>(0xdeadbeef))}; const VkImage imageHandle{reinterpret_cast<VkImage>(reinterpret_cast<void*>(std::size_t{0xdeadbeef}))};
template<class T> void ImageViewTest::createInfoConstruct() { template<class T> void ImageViewTest::createInfoConstruct() {
/** @todo use a real flag once it exists */ /** @todo use a real flag once it exists */

26
src/Magnum/Vk/Test/MeshTest.cpp

@ -184,9 +184,9 @@ void MeshTest::addVertexBuffer() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
mesh.addVertexBuffer(5, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead)), 15); mesh.addVertexBuffer(5, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead})), 15);
CORRADE_COMPARE_AS(mesh.vertexBuffers(), Containers::arrayView({ CORRADE_COMPARE_AS(mesh.vertexBuffers(), Containers::arrayView({
VkBuffer{}, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead)) VkBuffer{}, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead}))
}), TestSuite::Compare::Container); }), TestSuite::Compare::Container);
CORRADE_COMPARE_AS(mesh.vertexBufferOffsets(), Containers::arrayView<UnsignedLong>({ CORRADE_COMPARE_AS(mesh.vertexBufferOffsets(), Containers::arrayView<UnsignedLong>({
0, 15 0, 15
@ -195,10 +195,10 @@ void MeshTest::addVertexBuffer() {
0, 3 0, 3
}), TestSuite::Compare::Container); }), TestSuite::Compare::Container);
mesh.addVertexBuffer(1, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xbeef)), 37); mesh.addVertexBuffer(1, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xbeef})), 37);
CORRADE_COMPARE_AS(mesh.vertexBuffers(), Containers::arrayView({ CORRADE_COMPARE_AS(mesh.vertexBuffers(), Containers::arrayView({
reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xbeef)), reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xbeef})),
reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead)) reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead}))
}), TestSuite::Compare::Container); }), TestSuite::Compare::Container);
CORRADE_COMPARE_AS(mesh.vertexBufferOffsets(), Containers::arrayView<UnsignedLong>({ CORRADE_COMPARE_AS(mesh.vertexBufferOffsets(), Containers::arrayView<UnsignedLong>({
37, 15 37, 15
@ -217,16 +217,16 @@ void MeshTest::addVertexBufferOwned() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
Device device{NoCreate}; Device device{NoCreate};
Buffer a = Buffer::wrap(device, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead))); Buffer a = Buffer::wrap(device, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead})));
Buffer b = Buffer::wrap(device, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xbeef))); Buffer b = Buffer::wrap(device, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xbeef})));
mesh.addVertexBuffer(5, Utility::move(a), 15) mesh.addVertexBuffer(5, Utility::move(a), 15)
.addVertexBuffer(1, Utility::move(b), 37); .addVertexBuffer(1, Utility::move(b), 37);
CORRADE_VERIFY(!a.handle()); CORRADE_VERIFY(!a.handle());
CORRADE_VERIFY(!b.handle()); CORRADE_VERIFY(!b.handle());
CORRADE_COMPARE_AS(mesh.vertexBuffers(), Containers::arrayView({ CORRADE_COMPARE_AS(mesh.vertexBuffers(), Containers::arrayView({
reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xbeef)), reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xbeef})),
reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead)) reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead}))
}), TestSuite::Compare::Container); }), TestSuite::Compare::Container);
CORRADE_COMPARE_AS(mesh.vertexBufferOffsets(), Containers::arrayView<UnsignedLong>({ CORRADE_COMPARE_AS(mesh.vertexBufferOffsets(), Containers::arrayView<UnsignedLong>({
37, 15 37, 15
@ -261,9 +261,9 @@ template<class T> void MeshTest::setIndexBuffer() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
mesh.setIndexBuffer(reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead)), 15, T::UnsignedByte); mesh.setIndexBuffer(reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead})), 15, T::UnsignedByte);
CORRADE_VERIFY(mesh.isIndexed()); CORRADE_VERIFY(mesh.isIndexed());
CORRADE_COMPARE(mesh.indexBuffer(), reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead))); CORRADE_COMPARE(mesh.indexBuffer(), reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead})));
CORRADE_COMPARE(mesh.indexBufferOffset(), 15); CORRADE_COMPARE(mesh.indexBufferOffset(), 15);
CORRADE_COMPARE(mesh.indexType(), MeshIndexType::UnsignedByte); CORRADE_COMPARE(mesh.indexType(), MeshIndexType::UnsignedByte);
} }
@ -274,13 +274,13 @@ template<class T> void MeshTest::setIndexBufferOwned() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
Device device{NoCreate}; Device device{NoCreate};
Buffer a = Buffer::wrap(device, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead))); Buffer a = Buffer::wrap(device, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead})));
Mesh mesh{MeshLayout{MeshPrimitive::Triangles}}; Mesh mesh{MeshLayout{MeshPrimitive::Triangles}};
mesh.setIndexBuffer(Utility::move(a), 15, T::UnsignedByte); mesh.setIndexBuffer(Utility::move(a), 15, T::UnsignedByte);
CORRADE_VERIFY(!a.handle()); CORRADE_VERIFY(!a.handle());
CORRADE_VERIFY(mesh.isIndexed()); CORRADE_VERIFY(mesh.isIndexed());
CORRADE_COMPARE(mesh.indexBuffer(), reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead))); CORRADE_COMPARE(mesh.indexBuffer(), reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead})));
CORRADE_COMPARE(mesh.indexBufferOffset(), 15); CORRADE_COMPARE(mesh.indexBufferOffset(), 15);
CORRADE_COMPARE(mesh.indexType(), MeshIndexType::UnsignedByte); CORRADE_COMPARE(mesh.indexType(), MeshIndexType::UnsignedByte);
} }

12
src/Magnum/Vk/Test/PipelineLayoutTest.cpp

@ -66,15 +66,15 @@ void PipelineLayoutTest::createInfoConstruct() {
void PipelineLayoutTest::createInfoConstructDescriptorSetLayouts() { void PipelineLayoutTest::createInfoConstructDescriptorSetLayouts() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
VkDescriptorSetLayout layouts[]{reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(0xdead)), reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(0xbeef))}; VkDescriptorSetLayout layouts[]{reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(std::size_t{0xdead})), reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(std::size_t{0xbeef}))};
PipelineLayoutCreateInfo info{layouts}; PipelineLayoutCreateInfo info{layouts};
CORRADE_COMPARE(info->setLayoutCount, 2); CORRADE_COMPARE(info->setLayoutCount, 2);
CORRADE_VERIFY(info->pSetLayouts); CORRADE_VERIFY(info->pSetLayouts);
/* The contents should be copied */ /* The contents should be copied */
CORRADE_VERIFY(info->pSetLayouts != layouts); CORRADE_VERIFY(info->pSetLayouts != layouts);
CORRADE_COMPARE(info->pSetLayouts[0], reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(0xdead))); CORRADE_COMPARE(info->pSetLayouts[0], reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(std::size_t{0xdead})));
CORRADE_COMPARE(info->pSetLayouts[1], reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(0xbeef))); CORRADE_COMPARE(info->pSetLayouts[1], reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(std::size_t{0xbeef})));
} }
void PipelineLayoutTest::createInfoConstructNoInit() { void PipelineLayoutTest::createInfoConstructNoInit() {
@ -105,7 +105,7 @@ void PipelineLayoutTest::createInfoConstructCopy() {
void PipelineLayoutTest::createInfoConstructMove() { void PipelineLayoutTest::createInfoConstructMove() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
PipelineLayoutCreateInfo a{reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(0xdead)), reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(0xbeef))}; PipelineLayoutCreateInfo a{reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(std::size_t{0xdead})), reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(std::size_t{0xbeef}))};
CORRADE_COMPARE(a->setLayoutCount, 2); CORRADE_COMPARE(a->setLayoutCount, 2);
CORRADE_VERIFY(a->pSetLayouts); CORRADE_VERIFY(a->pSetLayouts);
@ -114,7 +114,7 @@ void PipelineLayoutTest::createInfoConstructMove() {
CORRADE_VERIFY(!a->pSetLayouts); CORRADE_VERIFY(!a->pSetLayouts);
CORRADE_COMPARE(b->setLayoutCount, 2); CORRADE_COMPARE(b->setLayoutCount, 2);
CORRADE_VERIFY(b->pSetLayouts); CORRADE_VERIFY(b->pSetLayouts);
CORRADE_COMPARE(b->pSetLayouts[1], reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(0xbeef))); CORRADE_COMPARE(b->pSetLayouts[1], reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(std::size_t{0xbeef})));
PipelineLayoutCreateInfo c; PipelineLayoutCreateInfo c;
c = Utility::move(b); c = Utility::move(b);
@ -122,7 +122,7 @@ void PipelineLayoutTest::createInfoConstructMove() {
CORRADE_VERIFY(!b->pSetLayouts); CORRADE_VERIFY(!b->pSetLayouts);
CORRADE_COMPARE(c->setLayoutCount, 2); CORRADE_COMPARE(c->setLayoutCount, 2);
CORRADE_VERIFY(c->pSetLayouts); CORRADE_VERIFY(c->pSetLayouts);
CORRADE_COMPARE(c->pSetLayouts[1], reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(0xbeef))); CORRADE_COMPARE(c->pSetLayouts[1], reinterpret_cast<VkDescriptorSetLayout>(reinterpret_cast<void*>(std::size_t{0xbeef})));
} }
void PipelineLayoutTest::constructNoCreate() { void PipelineLayoutTest::constructNoCreate() {

26
src/Magnum/Vk/Test/PipelineTest.cpp

@ -191,7 +191,7 @@ void PipelineTest::rasterizationCreateInfoConstruct() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
RasterizationPipelineCreateInfo info{shaderSet, meshLayout, reinterpret_cast<VkPipelineLayout>(reinterpret_cast<void*>(0xdead)), reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(0xbeef)), 15, 3, RasterizationPipelineCreateInfo::Flag::DisableOptimization|RasterizationPipelineCreateInfo::Flag::AllowDerivatives}; RasterizationPipelineCreateInfo info{shaderSet, meshLayout, reinterpret_cast<VkPipelineLayout>(reinterpret_cast<void*>(std::size_t{0xdead})), reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(std::size_t{0xbeef})), 15, 3, RasterizationPipelineCreateInfo::Flag::DisableOptimization|RasterizationPipelineCreateInfo::Flag::AllowDerivatives};
CORRADE_COMPARE(info->flags, VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT|VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT); CORRADE_COMPARE(info->flags, VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT|VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT);
CORRADE_COMPARE(info->stageCount, 2); CORRADE_COMPARE(info->stageCount, 2);
CORRADE_COMPARE(info->pStages, shaderSet.stages()); CORRADE_COMPARE(info->pStages, shaderSet.stages());
@ -215,8 +215,8 @@ void PipelineTest::rasterizationCreateInfoConstruct() {
CORRADE_COMPARE(info->pColorBlendState->pAttachments[i].colorWriteMask, VK_COLOR_COMPONENT_R_BIT|VK_COLOR_COMPONENT_G_BIT|VK_COLOR_COMPONENT_B_BIT|VK_COLOR_COMPONENT_A_BIT); CORRADE_COMPARE(info->pColorBlendState->pAttachments[i].colorWriteMask, VK_COLOR_COMPONENT_R_BIT|VK_COLOR_COMPONENT_G_BIT|VK_COLOR_COMPONENT_B_BIT|VK_COLOR_COMPONENT_A_BIT);
} }
CORRADE_VERIFY(!info->pDynamicState); CORRADE_VERIFY(!info->pDynamicState);
CORRADE_COMPARE(info->layout, reinterpret_cast<VkPipelineLayout>(reinterpret_cast<void*>(0xdead))); CORRADE_COMPARE(info->layout, reinterpret_cast<VkPipelineLayout>(reinterpret_cast<void*>(std::size_t{0xdead})));
CORRADE_COMPARE(info->renderPass, reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(0xbeef))); CORRADE_COMPARE(info->renderPass, reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(std::size_t{0xbeef})));
CORRADE_COMPARE(info->subpass, 15); CORRADE_COMPARE(info->subpass, 15);
} }
@ -544,14 +544,14 @@ void PipelineTest::computeCreateInfoConstruct() {
/* Yes, I know Fragment is wrong, it's just for testing */ /* Yes, I know Fragment is wrong, it's just for testing */
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
shaderSet.addShader(ShaderStage::Fragment, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(0xbeef)), name); shaderSet.addShader(ShaderStage::Fragment, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(std::size_t{0xbeef})), name);
ComputePipelineCreateInfo info{shaderSet, reinterpret_cast<VkPipelineLayout>(reinterpret_cast<void*>(0xdead)), ComputePipelineCreateInfo::Flag::DisableOptimization|ComputePipelineCreateInfo::Flag::AllowDerivatives}; ComputePipelineCreateInfo info{shaderSet, reinterpret_cast<VkPipelineLayout>(reinterpret_cast<void*>(std::size_t{0xdead})), ComputePipelineCreateInfo::Flag::DisableOptimization|ComputePipelineCreateInfo::Flag::AllowDerivatives};
CORRADE_COMPARE(info->flags, VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT|VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT); CORRADE_COMPARE(info->flags, VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT|VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT);
CORRADE_COMPARE(info->stage.stage, VK_SHADER_STAGE_FRAGMENT_BIT); CORRADE_COMPARE(info->stage.stage, VK_SHADER_STAGE_FRAGMENT_BIT);
CORRADE_COMPARE(info->stage.module, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(0xbeef))); CORRADE_COMPARE(info->stage.module, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(std::size_t{0xbeef})));
CORRADE_COMPARE(info->stage.pName, name.data()); CORRADE_COMPARE(info->stage.pName, name.data());
CORRADE_COMPARE(info->layout, reinterpret_cast<VkPipelineLayout>(reinterpret_cast<void*>(0xdead))); CORRADE_COMPARE(info->layout, reinterpret_cast<VkPipelineLayout>(reinterpret_cast<void*>(std::size_t{0xdead})));
} }
void PipelineTest::computeCreateInfoConstructOwnedEntrypoint() { void PipelineTest::computeCreateInfoConstructOwnedEntrypoint() {
@ -641,10 +641,10 @@ void PipelineTest::memoryBarrierConstructFromVk() {
void PipelineTest::bufferMemoryBarrierConstruct() { void PipelineTest::bufferMemoryBarrierConstruct() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
BufferMemoryBarrier barrier{Access::ColorAttachmentWrite|Access::DepthStencilAttachmentWrite, Access::TransferRead, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead)), 3, 5}; BufferMemoryBarrier barrier{Access::ColorAttachmentWrite|Access::DepthStencilAttachmentWrite, Access::TransferRead, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead})), 3, 5};
CORRADE_COMPARE(barrier->srcAccessMask, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT|VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT); CORRADE_COMPARE(barrier->srcAccessMask, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT|VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT);
CORRADE_COMPARE(barrier->dstAccessMask, VK_ACCESS_TRANSFER_READ_BIT); CORRADE_COMPARE(barrier->dstAccessMask, VK_ACCESS_TRANSFER_READ_BIT);
CORRADE_COMPARE(barrier->buffer, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(0xdead))); CORRADE_COMPARE(barrier->buffer, reinterpret_cast<VkBuffer>(reinterpret_cast<void*>(std::size_t{0xdead})));
CORRADE_COMPARE(barrier->offset, 3); CORRADE_COMPARE(barrier->offset, 3);
CORRADE_COMPARE(barrier->size, 5); CORRADE_COMPARE(barrier->size, 5);
} }
@ -672,12 +672,12 @@ void PipelineTest::bufferMemoryBarrierConstructFromVk() {
void PipelineTest::imageMemoryBarrierConstruct() { void PipelineTest::imageMemoryBarrierConstruct() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
ImageMemoryBarrier barrier{Access::ColorAttachmentWrite|Access::DepthStencilAttachmentWrite, Access::TransferRead, ImageLayout::Preinitialized, ImageLayout::TransferSource, reinterpret_cast<VkImage>(reinterpret_cast<void*>(0xdead)), ImageAspect::Color|ImageAspect::Depth, 3, 5, 7, 9}; ImageMemoryBarrier barrier{Access::ColorAttachmentWrite|Access::DepthStencilAttachmentWrite, Access::TransferRead, ImageLayout::Preinitialized, ImageLayout::TransferSource, reinterpret_cast<VkImage>(reinterpret_cast<void*>(std::size_t{0xdead})), ImageAspect::Color|ImageAspect::Depth, 3, 5, 7, 9};
CORRADE_COMPARE(barrier->srcAccessMask, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT|VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT); CORRADE_COMPARE(barrier->srcAccessMask, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT|VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT);
CORRADE_COMPARE(barrier->dstAccessMask, VK_ACCESS_TRANSFER_READ_BIT); CORRADE_COMPARE(barrier->dstAccessMask, VK_ACCESS_TRANSFER_READ_BIT);
CORRADE_COMPARE(barrier->oldLayout, VK_IMAGE_LAYOUT_PREINITIALIZED); CORRADE_COMPARE(barrier->oldLayout, VK_IMAGE_LAYOUT_PREINITIALIZED);
CORRADE_COMPARE(barrier->newLayout, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL); CORRADE_COMPARE(barrier->newLayout, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
CORRADE_COMPARE(barrier->image, reinterpret_cast<VkImage>(reinterpret_cast<void*>(0xdead))); CORRADE_COMPARE(barrier->image, reinterpret_cast<VkImage>(reinterpret_cast<void*>(std::size_t{0xdead})));
CORRADE_COMPARE(barrier->subresourceRange.aspectMask, VK_IMAGE_ASPECT_COLOR_BIT|VK_IMAGE_ASPECT_DEPTH_BIT); CORRADE_COMPARE(barrier->subresourceRange.aspectMask, VK_IMAGE_ASPECT_COLOR_BIT|VK_IMAGE_ASPECT_DEPTH_BIT);
CORRADE_COMPARE(barrier->subresourceRange.baseMipLevel, 7); CORRADE_COMPARE(barrier->subresourceRange.baseMipLevel, 7);
CORRADE_COMPARE(barrier->subresourceRange.levelCount, 9); CORRADE_COMPARE(barrier->subresourceRange.levelCount, 9);
@ -689,7 +689,7 @@ void PipelineTest::imageMemoryBarrierConstructImplicitAspect() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
Device device{NoCreate}; Device device{NoCreate};
Image image = Image::wrap(device, reinterpret_cast<VkImage>(reinterpret_cast<void*>(0xdead)), PixelFormat::Depth24UnormStencil8UI); Image image = Image::wrap(device, reinterpret_cast<VkImage>(reinterpret_cast<void*>(std::size_t{0xdead})), PixelFormat::Depth24UnormStencil8UI);
ImageMemoryBarrier barrier{ ImageMemoryBarrier barrier{
Access::ColorAttachmentRead, Access::TransferWrite, Access::ColorAttachmentRead, Access::TransferWrite,
@ -699,7 +699,7 @@ void PipelineTest::imageMemoryBarrierConstructImplicitAspect() {
CORRADE_COMPARE(barrier->dstAccessMask, VK_ACCESS_TRANSFER_WRITE_BIT); CORRADE_COMPARE(barrier->dstAccessMask, VK_ACCESS_TRANSFER_WRITE_BIT);
CORRADE_COMPARE(barrier->oldLayout, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL); CORRADE_COMPARE(barrier->oldLayout, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL);
CORRADE_COMPARE(barrier->newLayout, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL); CORRADE_COMPARE(barrier->newLayout, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL);
CORRADE_COMPARE(barrier->image, reinterpret_cast<VkImage>(reinterpret_cast<void*>(0xdead))); CORRADE_COMPARE(barrier->image, reinterpret_cast<VkImage>(reinterpret_cast<void*>(std::size_t{0xdead})));
CORRADE_COMPARE(barrier->subresourceRange.aspectMask, VK_IMAGE_ASPECT_DEPTH_BIT|VK_IMAGE_ASPECT_STENCIL_BIT); CORRADE_COMPARE(barrier->subresourceRange.aspectMask, VK_IMAGE_ASPECT_DEPTH_BIT|VK_IMAGE_ASPECT_STENCIL_BIT);
CORRADE_COMPARE(barrier->subresourceRange.baseMipLevel, 7); CORRADE_COMPARE(barrier->subresourceRange.baseMipLevel, 7);
CORRADE_COMPARE(barrier->subresourceRange.levelCount, 9); CORRADE_COMPARE(barrier->subresourceRange.levelCount, 9);

14
src/Magnum/Vk/Test/QueueTest.cpp

@ -131,14 +131,14 @@ void QueueTest::submitInfoConstructCommandBuffers() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
info.setCommandBuffers({ info.setCommandBuffers({
reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(0xbadbeef)), reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(std::size_t{0xbadbeef})),
reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(0xcafecafe)) reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(std::size_t{0xcafecafe}))
}); });
CORRADE_COMPARE(info->commandBufferCount, 2); CORRADE_COMPARE(info->commandBufferCount, 2);
CORRADE_VERIFY(info->pCommandBuffers); CORRADE_VERIFY(info->pCommandBuffers);
CORRADE_COMPARE(info->pCommandBuffers[0], reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(0xbadbeef))); CORRADE_COMPARE(info->pCommandBuffers[0], reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(std::size_t{0xbadbeef})));
CORRADE_COMPARE(info->pCommandBuffers[1], reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(0xcafecafe))); CORRADE_COMPARE(info->pCommandBuffers[1], reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(std::size_t{0xcafecafe})));
} }
void QueueTest::submitInfoConstructFromVk() { void QueueTest::submitInfoConstructFromVk() {
@ -158,14 +158,14 @@ void QueueTest::submitInfoConstructMove() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
SubmitInfo a; SubmitInfo a;
a.setCommandBuffers({{}, reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(0xcafecafe))}); a.setCommandBuffers({{}, reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(std::size_t{0xcafecafe}))});
SubmitInfo b = Utility::move(a); SubmitInfo b = Utility::move(a);
CORRADE_COMPARE(a->commandBufferCount, 0); CORRADE_COMPARE(a->commandBufferCount, 0);
CORRADE_VERIFY(!a->pCommandBuffers); CORRADE_VERIFY(!a->pCommandBuffers);
CORRADE_COMPARE(b->commandBufferCount, 2); CORRADE_COMPARE(b->commandBufferCount, 2);
CORRADE_VERIFY(b->pCommandBuffers); CORRADE_VERIFY(b->pCommandBuffers);
CORRADE_COMPARE(b->pCommandBuffers[1], reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(0xcafecafe))); CORRADE_COMPARE(b->pCommandBuffers[1], reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(std::size_t{0xcafecafe})));
SubmitInfo c{VkSubmitInfo{}}; SubmitInfo c{VkSubmitInfo{}};
c = Utility::move(b); c = Utility::move(b);
@ -173,7 +173,7 @@ void QueueTest::submitInfoConstructMove() {
CORRADE_VERIFY(!b->pCommandBuffers); CORRADE_VERIFY(!b->pCommandBuffers);
CORRADE_COMPARE(c->commandBufferCount, 2); CORRADE_COMPARE(c->commandBufferCount, 2);
CORRADE_VERIFY(c->pCommandBuffers); CORRADE_VERIFY(c->pCommandBuffers);
CORRADE_COMPARE(c->pCommandBuffers[1], reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(0xcafecafe))); CORRADE_COMPARE(c->pCommandBuffers[1], reinterpret_cast<VkCommandBuffer>(reinterpret_cast<void*>(std::size_t{0xcafecafe})));
} }
}}}} }}}}

8
src/Magnum/Vk/Test/RenderPassTest.cpp

@ -1122,8 +1122,8 @@ void RenderPassTest::constructCopy() {
void RenderPassTest::beginInfoConstruct() { void RenderPassTest::beginInfoConstruct() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
auto renderPass = reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(0xbadbeef)); auto renderPass = reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(std::size_t{0xbadbeef}));
auto framebuffer = reinterpret_cast<VkFramebuffer>(reinterpret_cast<void*>(0xdeadcafe)); auto framebuffer = reinterpret_cast<VkFramebuffer>(reinterpret_cast<void*>(std::size_t{0xdeadcafe}));
RenderPassBeginInfo info{renderPass, framebuffer, Range2Di{{3, 7}, {15, 78}}}; RenderPassBeginInfo info{renderPass, framebuffer, Range2Di{{3, 7}, {15, 78}}};
CORRADE_COMPARE(info->renderPass, renderPass); CORRADE_COMPARE(info->renderPass, renderPass);
@ -1136,9 +1136,9 @@ void RenderPassTest::beginInfoConstruct() {
void RenderPassTest::beginInfoConstructImplicitSize() { void RenderPassTest::beginInfoConstructImplicitSize() {
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
auto renderPass = reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(0xbadbeef)); auto renderPass = reinterpret_cast<VkRenderPass>(reinterpret_cast<void*>(std::size_t{0xbadbeef}));
Device device{NoCreate}; Device device{NoCreate};
auto framebuffer = Framebuffer::wrap(device, reinterpret_cast<VkFramebuffer>(reinterpret_cast<void*>(0xdeadcafe)), {256, 384, 16}); auto framebuffer = Framebuffer::wrap(device, reinterpret_cast<VkFramebuffer>(reinterpret_cast<void*>(std::size_t{0xdeadcafe})), {256, 384, 16});
RenderPassBeginInfo info{renderPass, framebuffer}; RenderPassBeginInfo info{renderPass, framebuffer};
CORRADE_COMPARE(info->renderPass, renderPass); CORRADE_COMPARE(info->renderPass, renderPass);

12
src/Magnum/Vk/Test/ShaderSetTest.cpp

@ -126,13 +126,13 @@ void ShaderSetTest::constructMove() {
/* The double reinterpret_cast is needed because the handle is an /* The double reinterpret_cast is needed because the handle is an
uint64_t instead of a pointer on 32-bit builds and only this works uint64_t instead of a pointer on 32-bit builds and only this works
on both */ on both */
a.addShader(ShaderStage::Geometry, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(0xdeadbeef)), "main!"_s.exceptSuffix(1), { a.addShader(ShaderStage::Geometry, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(std::size_t{0xdeadbeef})), "main!"_s.exceptSuffix(1), {
{42, 1.15f} {42, 1.15f}
}); });
/* This one has an externally-supplied specialization pointer, to /* This one has an externally-supplied specialization pointer, to
verify it's preserved on move (others will have it redirected) */ verify it's preserved on move (others will have it redirected) */
a.addShader(ShaderStage::Fragment, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(0xbadf00d)), "yours"); a.addShader(ShaderStage::Fragment, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(std::size_t{0xbadf00d})), "yours");
a.stages()[1].pSpecializationInfo = &externalSpecializationInfo2; a.stages()[1].pSpecializationInfo = &externalSpecializationInfo2;
CORRADE_COMPARE(a.stages().size(), 2); CORRADE_COMPARE(a.stages().size(), 2);
@ -221,10 +221,10 @@ void ShaderSetTest::addShader() {
Containers::StringView entrypoint = "enterHere"_s; Containers::StringView entrypoint = "enterHere"_s;
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
set.addShader(ShaderStage::Geometry, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(0xdeadbeef)), entrypoint); set.addShader(ShaderStage::Geometry, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(std::size_t{0xdeadbeef})), entrypoint);
CORRADE_COMPARE(set.stages().size(), 1); CORRADE_COMPARE(set.stages().size(), 1);
CORRADE_COMPARE(set.stages()[0].stage, VK_SHADER_STAGE_GEOMETRY_BIT); CORRADE_COMPARE(set.stages()[0].stage, VK_SHADER_STAGE_GEOMETRY_BIT);
CORRADE_COMPARE(set.stages()[0].module, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(0xdeadbeef))); CORRADE_COMPARE(set.stages()[0].module, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(std::size_t{0xdeadbeef})));
/* The name should not be copied if it's null-terminated and global */ /* The name should not be copied if it's null-terminated and global */
CORRADE_COMPARE(set.stages()[0].pName, entrypoint.data()); CORRADE_COMPARE(set.stages()[0].pName, entrypoint.data());
CORRADE_VERIFY(!set.stages()[0].pSpecializationInfo); CORRADE_VERIFY(!set.stages()[0].pSpecializationInfo);
@ -342,7 +342,7 @@ void ShaderSetTest::addShaderOwnershipTransfer() {
Device device{NoCreate}; Device device{NoCreate};
/* The double reinterpret_cast is needed because the handle is an uint64_t /* The double reinterpret_cast is needed because the handle is an uint64_t
instead of a pointer on 32-bit builds and only this works on both */ instead of a pointer on 32-bit builds and only this works on both */
auto shader = Shader::wrap(device, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(0xdeadbeef))); auto shader = Shader::wrap(device, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(std::size_t{0xdeadbeef})));
ShaderSet set; ShaderSet set;
set.addShader(ShaderStage::RayAnyHit, Utility::move(shader), "main"_s, { set.addShader(ShaderStage::RayAnyHit, Utility::move(shader), "main"_s, {
@ -351,7 +351,7 @@ void ShaderSetTest::addShaderOwnershipTransfer() {
CORRADE_COMPARE(set.stages()[0].stage, VK_SHADER_STAGE_ANY_HIT_BIT_KHR); CORRADE_COMPARE(set.stages()[0].stage, VK_SHADER_STAGE_ANY_HIT_BIT_KHR);
CORRADE_COMPARE(set.stages()[0].pName, "main"_s); CORRADE_COMPARE(set.stages()[0].pName, "main"_s);
CORRADE_COMPARE(set.stages()[0].module, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(0xdeadbeef))); CORRADE_COMPARE(set.stages()[0].module, reinterpret_cast<VkShaderModule>(reinterpret_cast<void*>(std::size_t{0xdeadbeef})));
CORRADE_VERIFY(set.stages()[0].pSpecializationInfo); CORRADE_VERIFY(set.stages()[0].pSpecializationInfo);
CORRADE_COMPARE(set.stages()[0].pSpecializationInfo->mapEntryCount, 1); CORRADE_COMPARE(set.stages()[0].pSpecializationInfo->mapEntryCount, 1);
CORRADE_VERIFY(set.stages()[0].pSpecializationInfo->pMapEntries); CORRADE_VERIFY(set.stages()[0].pSpecializationInfo->pMapEntries);

Loading…
Cancel
Save