{"push_id":2504517903,"size":16,"distinct_size":16,"ref":"refs/heads/split","head":"acbbe8b1723645a3367a4a0a1a9697fe81b9bf54","before":"3f9b65bd58e03af9d2aad4e3c7f84cef98b7c3ec","commits":[{"sha":"202aa014b28ba9dc7e6e7b4b84a9981312f18c8c","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Split the OpenGL layer out, pt 5: compatibility headers and aliases.\n\nWith this and buildsystem updates the rest of the library should compile\nagain.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/202aa014b28ba9dc7e6e7b4b84a9981312f18c8c"},{"sha":"40276567d4eeeeb2d0c4055d80302c4aaa5c24cd","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Split the OpenGL layer out, pt 6: adapted buildsystem of dependent libs.\n\nNow the rest should build with a lot of deprecation warnings.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/40276567d4eeeeb2d0c4055d80302c4aaa5c24cd"},{"sha":"97c1b8273f0618f4c894fe404e368b28a4ff13ba","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Split the OpenGL layer out, pt 7: renamed magnum-info to magnum-gl-info.\n\nThe WITH_MAGNUMINFO CMake option is now WITH_GL_INFO. No backwards\ncompatibility is provided, sorry.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/97c1b8273f0618f4c894fe404e368b28a4ff13ba"},{"sha":"150b22e887bbc7c4dd8cbefcb810110ba554b6d6","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Split the OpenGL layer out, pt 8: move out GL-specific PixelStorage parts.\n\nThe general part stays in the root namespace, while the GL-specific\nstuff goes to the GL namespace. Also all GL-specific documentation was\nmoved to relevant APIs in the GL namespace. This finally allows me to\nbuild PixelStorage.cpp as part of the root namespace.\n\nThe PixelStorage::pixelSize() function and\nPixelStorage::dataProperties() taking a pair of GL::PixelFormat /\nGL::PixelType enums is deprecated, use GL::pixelSize() and\ndataProperties() taking pixel size directly instead. A lot of code is\nstill using these, including images; the deprecated aliases are inlined\nin the header to avoid a compile-time dependency on the GL library.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/150b22e887bbc7c4dd8cbefcb810110ba554b6d6"},{"sha":"75ec6d227eeb52ae9bd7d609beda2b1b7fbd46f5","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Split the OpenGL layer out, pt 9: generic pixel formats.\n\nThis is quite big, so:\n\n * There are new Magnum::PixelFormat and Magnum::CompressedPixelFormat\n   enums, which contain generic API-independent formats. In particular,\n   PixelFormat replaces GL::PixelFormat and GL::PixelType with a single\n   value.\n * There's GL::pixelFormat(), GL::pixelType(),\n   GL::compressedPixelFormat() to convert the generic enums to\n   GL-specific. The mapping is only in one direction, done with a lookup\n   table (generic enums are indices to that table).\n * GL classes taking the formats directly (such as GL::BufferImage) have\n   overloads that take both the GL-specific and generic format.\n * The generic Image, CompressedImage, ImageView, CompressedImageView,\n   and Trade::ImageData classes now accept the generic formats\n   first-class. However, it's also possible to store an\n   implementation-specific value to cover cases where a generic format\n   enum doesn't have support for a particular format. This is done by\n   wrapping the value using pixelFormatWrap() or\n   compressedPixelFormatWrap(). Particular GPU APIs then assume it's\n   their implementation-specific value and extract the value back using\n   pixelFormatUnwrap() or compressedPixelFormatUnwrap(). There's also an\n   isPixelFormatImplementationSpecific() and\n   isCompressedPixelFormatImplementationSpecific() that distinguishes\n   these values.\n * Many operations need pixel size and in order to have it even for\n   implementation-specific formats, a corresponding pixelSize()\n   overload is found via ADL on construction and the calculated size\n   stored along the format. Previously the pixel size was only\n   calculated on demand, but that's not possible now. In case such\n   overload is not available, it's possible to pass pixel size manually\n   as well.\n * In order to support the GL format+type pair, Image, ImageView and\n   Trade::ImageData, there's now an additional untyped formatExtra()\n   field that holds the second value.\n * The CompressedPixelStorage class is now unconditionally available on\n   all targets, including OpenGL ES and WebGL. However, on OpenGL ES the\n   GL APIs expect that it's all at default values.\n\nI attempted to preserve backwards compatibility as much as possible:\n\n * The PixelFormat and CompressedPixelFormat enum now contains generic\n   API-independent values. The GL-specific formats are present there,\n   but marked as deprecated. Use either the generic values or\n   GL::PixelFormat (togehter with GL::PixelType) and\n   GL::CompressedPixelFormat instead. There's a lot of ugliness caused\n   by this, but seems to work well.\n * *Image::type() functions are deprecated as they were too\n   GL-specific. Use formatExtra() and cast it to GL::PixelType instead.\n * Image constructors take templated format or format+extra arguments,\n   so passing GL-specific values to them should still work.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/75ec6d227eeb52ae9bd7d609beda2b1b7fbd46f5"},{"sha":"8c15df1d9fb0d36afa309f2bb26b903fe862117d","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Split the OpenGL layer out, pt 10: test the new image APIs.\n\nWith the previous commits the original tests passed (which is\ndesired), but these were using deprecated functionality and not\ncovering the new stuff. These tests are not using the deprecated\nfunctionality, which means I don't need to build them as part of\nthe GL library anymore.\n\nThe GL::BufferImage test is still using the deprecated\nfunctionality though, in order to check I didn't break anything\nby accident.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/8c15df1d9fb0d36afa309f2bb26b903fe862117d"},{"sha":"886facd2363d3b233d53322d0ce3557173ce8c90","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Don't return redundant info from Image*::dataProperties().\n\nIt was returning either pixel size or compressed block size, which is\nnow available directly via other means.\n\nThis is a breaking change, but I don't expect these functions to be\nused widely beyond Magnum internals.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/886facd2363d3b233d53322d0ce3557173ce8c90"},{"sha":"269ff7124f11db9d0ff0558830c9934e1ac3bbf5","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Split the OpenGL layer out, pt 11: generic MeshPrimitive and MeshIndexType.\n\nSimilarly to pixel formats, there is now generic Magnum::MeshPrimitive\nand Magnum::MeshIndexType, which is convertible to GL::MeshPrimitive and\nGL::MeshIndexType using GL::meshPrimitive() and GL::meshIndexType(). In\naddition, the following is done:\n\n * The original GL::Mesh::IndexType is now GL::MeshIndexType, original\n   name is now just a typedef.\n * GL::Mesh::indexSize() is deprecated in favor of\n   Magnum::meshIndexTypeSize() and GL::Mesh::indexTypeSize().\n * New GL::Mesh::indexType() and GL::MeshView::mesh() getters (not sure\n   why they were omitted)\n * GL::Mesh::indexType(), GL::Mesh::indexTypeSize(),\n   GL::MeshView::setIndexRange() now expect that the mesh is indexed\n   (useful property in my opinion, also avoids getting random results).\n * The extra MeshPrimitive::LinesAdjacency etc. are still present for\n   backwards compatibility, but marked as deprecated. Use\n   GL::MeshPrimitive values instead.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/269ff7124f11db9d0ff0558830c9934e1ac3bbf5"},{"sha":"214d364a7440ea139ab97aad8327826fe9ce4d23","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Split the OpenGL layer out, pt 12: generic sampler state.\n\nThe Sampler class was split into GL::Sampler (which is now mostly just a\nplaceholder for implementing OpenGL sampler objects), pairs of generic /\nGL-specific SamplerFormat / GL::SamplerFormat, SamplerMipmap /\nGL::SamplerMipmap, SamplerWrapping / GL::SamplerWrapping enums and the\nGL-specific GL::SamplerCompareMode, GL::SamplerCompareFunction,\nGL::SamplerDepthStencilMode enums.\n\nThe old Sampler class is marked as deprecated and aliases its enum to\nthe generic enums (or to the GL-specific ones in case the generic\nversions are not available).","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/214d364a7440ea139ab97aad8327826fe9ce4d23"},{"sha":"5465040b963437bc11564d8b2a1a4c0fb99c462f","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"MSVC 2015 compatibility: unbreak the build by ensuring using is only once.\n\nEFFING HELL. With multiple definitions random symbols are getting lost.\nHow that can ever happen?!","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/5465040b963437bc11564d8b2a1a4c0fb99c462f"},{"sha":"e7c3a859fc1b5fa54f5f9fc5736ba9a8f80626da","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Make deprecated GL-dependent functionality templated.\n\nOtherwise MSVC (and probably MinGW as well) try to instantiate them in\nthe binary, (obviously) failing with a linker error.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/e7c3a859fc1b5fa54f5f9fc5736ba9a8f80626da"},{"sha":"720ed6d212e90741f12aae039a5a6983ac6cb465","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"MSVC compatibility: fix Trade::Implementation and Implementation clash.\n\nNot sure why it happens only here.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/720ed6d212e90741f12aae039a5a6983ac6cb465"},{"sha":"ba8e96ee65c1fe6c8f473f17a91175cbe870c0ef","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Split the OpenGL layer out, pt 13: renamed GL-related macros.\n\nThe MAGNUM_ASSERT_VERSION_SUPPORTED(),\nMAGNUM_ASSERT_EXTENSION_SUPPORTED(), MAGNUM_VERIFY_NO_ERROR() macros are\nnow MAGNUM_ASSERT_GL_VERSION_SUPPORTED(),\nMAGNUM_ASSERT_GL_EXTENSION_SUPPORTED() and MAGNUM_VERIFY_NO_GL_ERROR().\nBackwards-compatible aliases are in the original headers, as usual.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/ba8e96ee65c1fe6c8f473f17a91175cbe870c0ef"},{"sha":"aa8222e41e26aee1073b7dad9945a3d0090b6deb","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Split the OpenGL layer out, pt 14: Platform::{Context => GLContext}.\n\nCompatibility header and alias in the next commit so Git is able to\nrecognize the file move.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/aa8222e41e26aee1073b7dad9945a3d0090b6deb"},{"sha":"109465a4f5d1ff18fb328822841ef4ee9effbc0c","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Split the OpenGL layer out, pt 15: compatibility for Platform::Context.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/109465a4f5d1ff18fb328822841ef4ee9effbc0c"},{"sha":"acbbe8b1723645a3367a4a0a1a9697fe81b9bf54","author":{"name":"Vladimír Vondruš","email":"f2bb90146807e08fcc15dab4e439f67a0cd3f9e7@centrum.cz"},"message":"Split the OpenGL layer out, pt 16: {Extensions::GL => GL::Extensions}.\n\nWas Magnum::GL::Extensions::GL before and the redundancy was completely\nunnecessary. Potential future extensions coming from GLX, EGL or whatnot\nwill most probably be in the Platform namespace in a completely separate\nfile, so this is not a problem.\n\nAll code internal to the GL library is affected, not much the outside,\nas that is handled by the compatibility alias.","distinct":true,"url":"https://api.github.com/repos/mosra/magnum/commits/acbbe8b1723645a3367a4a0a1a9697fe81b9bf54"}]}
{"actor":{"display_login":"mosra"}}