Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-29Finish adding SPDX tags and setup a reuse checked in Github Actions CIJon Leech
2021-01-14meta: Update copyright headers to 2021.Hans-Kristian Arntzen
2020-12-01Add MIT dual license for the SPIRV-Cross API.Hans-Kristian Arntzen
2020-09-04Merge pull request #1461 from Kangz/fix-warningsHans-Kristian Arntzen
Fix -Wduplicate-enum and -Wrange-for-analysis.
2020-09-04Fix -Wduplicate-enum and -Wrange-for-analysis.Corentin Wallez
2020-07-29GLSL: Be more aggressive about using type_alias.Hans-Kristian Arntzen
To facilitate an improved linking-by-name use case for older GL, we will be more aggressive about merging struct definitions, even for rather unrelated cases where we don't strictly need to use type aliases.
2020-07-01Run format_all.sh.Hans-Kristian Arntzen
2020-05-25Handle physical pointers in reflection API.Hans-Kristian Arntzen
2020-04-18Reflection: Add specialization constant namePanagiotis Christopoulos Charitos
Fixes #1311
2020-01-16Update license headers to 2020.2020-01-16Hans-Kristian Arntzen
2020-01-16Run format_all.sh.Hans-Kristian Arntzen
2020-01-15Reflection: Add array stride/matrix stride reflection.Hans-Kristian Arntzen
2020-01-15Reflection: Emit reflection information for array size literalness.Hans-Kristian Arntzen
If not literal, check specialization_constant entries for "variable_id" to link up ID with spec constant values. This maps directly to C++ API.
2019-10-07Run format_all.sh.Hans-Kristian Arntzen
2019-10-04Reflect: Deal with workgroup size being specialization constants.Hans-Kristian Arntzen
2019-10-03reflection: Write workgroup_size to JSON for compute shadersFrank Richter
2019-09-06Refactor into stronger types in public API.Hans-Kristian Arntzen
Some fallout where internal functions are using stronger types. Overkill to move everything over to strong types right now, but perhaps move over to it slowly over time.
2019-05-23MSL: Fix struct declaration order with complex type aliases.Hans-Kristian Arntzen
MSL generally emits the aliases, which means we cannot always place the master type first, unlike GLSL and HLSL. The logic fix is just to reorder after we have tagged types with packing information, rather than doing it in the parser fixup.
2019-04-09Reduce pressure on global allocation.Hans-Kristian Arntzen
- Replace ostringstream with custom implementation. ~30% performance uplift on vector-shuffle-oom test. Allocations are measurably reduced in Valgrind. - Replace std::vector with SmallVector. Classic malloc optimization, small vectors are backed by inline data. ~ 7-8% gain on vector-shuffle-oom on GCC 8 on Linux. - Use an object pool for IVariant type. We generally allocate a lot of SPIR* objects. We can amortize these allocations neatly by pooling them. - ~15% overall uplift on ./test_shaders.py --iterations 10000 shaders/.
2019-03-29Add an option to override the namespace used for spirv_cross.Hans-Kristian Arntzen
This is a pragmatic trick to avoid symbol collision where a project links against SPIRV-Cross statically, while linking to other projects which also use SPIRV-Cross statically. We can end up with very awkward symbol collisions which can resolve themselves silently because SPIRV-Cross is pulled in as necessary. To fix this, we must use different symbols and embed two copies of SPIRV-Cross in this scenario, now with different namespaces, which in turn leads to different symbols.
2019-03-26Add reflection support for ray tracing acceleration structuresPatrick Mours
2019-03-26Add reflection support for ray tracing exection modelsPatrick Mours
2019-02-28Replace locale handling.Hans-Kristian Arntzen
We were using std::locale::global() to force a C locale which is not safe when SPIRV-Cross is used in a multi-threaded environment. To fix this, we could tap into various per-platform specific locale handling to get safe thread-local locales, but since locales only affect the decimal point in floats, we simply query the locale instead and do the necessary radix replacement ourselves, without touching the locale. This should be much safer and cleaner than the alternative.
2019-02-19Fix edge case where opaque types can be declared on stack.Hans-Kristian Arntzen
In the bizarre case where the ID of a loaded opaque type aliased with a literal which was used as part of another texturing instruction, we could end up with a case where domination analysis assumed the loaded opaque type needed to be moved to a different scope. Fix the issue by never doing dominance analysis for opaque temporaries, and be more robust when analyzing texturing instructions. Also make sure reflection output is deterministic. This patch slightly alterered output for some unknown reason, but it came from an unordered_map, so it's fine.
2019-01-30Update to latest glslang/SPIRV-Tools.Hans-Kristian Arntzen
Fix various bugs along the way.
2019-01-10Iterate over just types in reflection backend.Hans-Kristian Arntzen
2019-01-10Make meta a hashmap.Hans-Kristian Arntzen
A flat array was consuming way too much memory and was far too slow to initialize properly with a very large ID bound (8 million IDs, showed up as #1 hotspot in perf). Meta struct does not have to be in-order as we never iterate over it in a meaningful way, so using a hashmap here is reasonable. Very few IDs should need decorations or meta-data, so this should also be a quite decent memory save. For the pathological case, a 6x uplift was observed.
2019-01-04Nonfunctional: Update copyright headers for 2019.Hans-Kristian Arntzen
2018-10-19Hoist out parsing module from spirv_cross::Compiler.Hans-Kristian Arntzen
This is a large refactor which splits out the SPIR-V parser from Compiler and moves it into its more appropriately named Parser module. The Parser is responsible for building a ParsedIR structure which is then consumed by one or more compilers. Compiler can take a ParsedIR by value or move reference. This should allow for optimal case for both multiple compilations and single compilation scenarios.
2018-06-22Fix warnings and run format_all.sh.Hans-Kristian Arntzen
2018-06-21Prefix integer types with underscoreBrad Davis
2018-06-20Add specialization constant output in reflectionBrad Davis
2018-06-20More feedbackBrad Davis
2018-06-20Code consolidation, const correctness, faster regression testingBrad Davis
2018-06-20PR feedbackBrad Davis
2018-06-20Working on reflection outputBrad Davis