58a67e4e0a
Binary JSON is said to become deprecated. Therefore, add support for CBOR. Binary JSON is still supported for deserialization, so all existing .qsb files will continue to work, as long as the binaryjson feature is enabled in the Qt build. Also makes QShaderDescription comparable. This is important for tests in particular. A nice side effect of using CBOR is that .qsb files become smaller. For a typical Qt Quick material shader this can mean a reduction of 300 bytes or more. Task-number: QTBUG-79576 Change-Id: I5547c0266e3e8128c9653e954e47487352267f71 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> |
||
---|---|---|
.. | ||
color_all_v1.vert.qsb | ||
color_spirv_v1.vert.qsb | ||
color.vert | ||
README | ||
texture_all_v2.frag.qsb | ||
texture_all_v3.frag.qsb | ||
texture.frag |
Warning: Do NOT regenerate the .qsb files without proper planning and understanding the following. Among other things, we are also testing backwards compatibility for QShader deserialization. .qsb files with _v1 in the name were produced with an older qtshadertools and have a QSB_VERSION of 1. Files with _v2 are generated with a newer qsb, those have QSB_VERSION 2. The difference is the support for nativeResourceBindingMap() which is only present in v2. Files with _v3 come from an even newer qsb, and have QSB_VERSION 3. The difference to 2 is the use of CBOR instead of binary JSON for QShaderDescription.