-
Notifications
You must be signed in to change notification settings - Fork 557
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support XFB in MoltenVK #2169
base: main
Are you sure you want to change the base?
Support XFB in MoltenVK #2169
Commits on Aug 23, 2022
-
MSL: Add a mechanism to fix up shader outputs.
This is analogous to the existing support for fixing up shader inputs. It is intended to be used with tessellation to add implicit builtins that are read from a later stage, despite not being written in an earlier stage. (Believe it or not, this is in fact legal in Vulkan.) Helps fix 8 CTS tests under `dEQP-VK.pipeline.*.no_position`. (Eight other tests work solely by accident without this change.)
Configuration menu - View commit details
-
Copy full SHA for 10154f5 - Browse repository at this point
Copy the full SHA 10154f5View commit details -
Merged in msl-shader-output-fixup (pull request KhronosGroup#2)
MSL: Add a mechanism to fix up shader outputs. Approved-by: Steven Winston
Configuration menu - View commit details
-
Copy full SHA for 2127a3b - Browse repository at this point
Copy the full SHA 2127a3bView commit details
Commits on Feb 16, 2023
-
MSL: Deduplicate function constants.
It is possible in SPIR-V to declare multiple specialization constants with the same constant ID. The most common cause of this in GLSL is defining a spec constant, then declaring the workgroup size to use that spec constant by its ID. But, MSL forbids defining multiple function constants with the same function constant ID. So, we must only emit one definition of the actual function constant (with the `[[function_constant(id)]]` attribute); but we can point the other variables at this one definition. Fixes three tests in the Vulkan CTS under `dEQP-VK.compute.basic.max_local_size_*`.
Configuration menu - View commit details
-
Copy full SHA for 4a8543e - Browse repository at this point
Copy the full SHA 4a8543eView commit details
Commits on Feb 17, 2023
-
Merged in msl-duplicate-spec-id (pull request KhronosGroup#8)
MSL: Deduplicate function constants. Approved-by: Steven Winston
Configuration menu - View commit details
-
Copy full SHA for f195855 - Browse repository at this point
Copy the full SHA f195855View commit details
Commits on May 9, 2023
-
Checkpoint for transform feedback work.
Does analysis of outputs and sorts them into buffers. Nothing else yet.
Configuration menu - View commit details
-
Copy full SHA for 343ff6e - Browse repository at this point
Copy the full SHA 343ff6eView commit details
Commits on May 10, 2023
-
Merge remote-tracking branch 'origin/master'
# Conflicts: # main.cpp # spirv_cross_c.cpp # spirv_cross_c.h # spirv_msl.cpp # spirv_msl.hpp
Configuration menu - View commit details
-
Copy full SHA for 048ac2d - Browse repository at this point
Copy the full SHA 048ac2dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 179c6e0 - Browse repository at this point
Copy the full SHA 179c6e0View commit details
Commits on May 11, 2023
-
Checkpoint: Beginnings of writing XFB data.
This only does the bare minimum needed to write XFB data (and not even that actually). It still needs to calculate the offset in the buffer where the data need to be written, and primitive types other than points need to be implemented.
Configuration menu - View commit details
-
Copy full SHA for f1c0ad2 - Browse repository at this point
Copy the full SHA f1c0ad2View commit details
Commits on May 13, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 117eaa3 - Browse repository at this point
Copy the full SHA 117eaa3View commit details
Commits on May 15, 2023
-
Merge branch 'master' into xfb
# Conflicts: # reference/shaders-msl/comp/local-size-duplicate-spec-id.comp # spirv_msl.cpp
Configuration menu - View commit details
-
Copy full SHA for 1e8cbe4 - Browse repository at this point
Copy the full SHA 1e8cbe4View commit details
Commits on May 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for f1913aa - Browse repository at this point
Copy the full SHA f1913aaView commit details
Commits on May 19, 2023
-
Configuration menu - View commit details
-
Copy full SHA for f8a27d9 - Browse repository at this point
Copy the full SHA f8a27d9View commit details -
Dynamic is an undefined primitive type. xfb_primitive_type needs to b…
…e updated to be used.
Configuration menu - View commit details
-
Copy full SHA for cebb964 - Browse repository at this point
Copy the full SHA cebb964View commit details
Commits on Jun 19, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 37c0972 - Browse repository at this point
Copy the full SHA 37c0972View commit details
Commits on Jun 20, 2023
-
Configuration menu - View commit details
-
Copy full SHA for aab161a - Browse repository at this point
Copy the full SHA aab161aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d2329a - Browse repository at this point
Copy the full SHA 9d2329aView commit details
Commits on Jul 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 111cebb - Browse repository at this point
Copy the full SHA 111cebbView commit details
Commits on Jul 24, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e3cf900 - Browse repository at this point
Copy the full SHA e3cf900View commit details
Commits on Aug 10, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 562b959 - Browse repository at this point
Copy the full SHA 562b959View commit details
Commits on Aug 17, 2023
-
Configuration menu - View commit details
-
Copy full SHA for d62fe77 - Browse repository at this point
Copy the full SHA d62fe77View commit details
Commits on Aug 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 36d39df - Browse repository at this point
Copy the full SHA 36d39dfView commit details
Commits on Aug 22, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 35858fb - Browse repository at this point
Copy the full SHA 35858fbView commit details
Commits on Aug 23, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 3c427de - Browse repository at this point
Copy the full SHA 3c427deView commit details
Commits on Sep 7, 2023
-
Configuration menu - View commit details
-
Copy full SHA for c352f94 - Browse repository at this point
Copy the full SHA c352f94View commit details
Commits on Sep 8, 2023
-
Add a variable for the XFB counter buffer.
This lets us reference it later.
Configuration menu - View commit details
-
Copy full SHA for 001ff7d - Browse repository at this point
Copy the full SHA 001ff7dView commit details
Commits on Sep 13, 2023
-
Really crappy checkpoint for XFB work.
I don't expect this to build, let alone work. (Really, all these changes ought to be squashed when merged to SPIRV-Cross.)
Configuration menu - View commit details
-
Copy full SHA for 28babde - Browse repository at this point
Copy the full SHA 28babdeView commit details
Commits on Sep 15, 2023
-
Configuration menu - View commit details
-
Copy full SHA for fb520f4 - Browse repository at this point
Copy the full SHA fb520f4View commit details -
Fix indices of triangle strips to account for winding.
Work out how indexing works for triangle fans. A little bit closer...
Configuration menu - View commit details
-
Copy full SHA for 556c9fa - Browse repository at this point
Copy the full SHA 556c9faView commit details
Commits on Sep 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b6279e5 - Browse repository at this point
Copy the full SHA b6279e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 579635a - Browse repository at this point
Copy the full SHA 579635aView commit details -
Correct instance term in index.
It should be based on the number of primitives written. Add missing instance term to the triangle fan base index.
Configuration menu - View commit details
-
Copy full SHA for b86f512 - Browse repository at this point
Copy the full SHA b86f512View commit details -
Configuration menu - View commit details
-
Copy full SHA for 66ca6c4 - Browse repository at this point
Copy the full SHA 66ca6c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 948651b - Browse repository at this point
Copy the full SHA 948651bView commit details -
Configuration menu - View commit details
-
Copy full SHA for e74800f - Browse repository at this point
Copy the full SHA e74800fView commit details -
Configuration menu - View commit details
-
Copy full SHA for b352521 - Browse repository at this point
Copy the full SHA b352521View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2798c48 - Browse repository at this point
Copy the full SHA 2798c48View commit details -
Make sure the local copy of the output is declared.
We need to use a local copy because the vertex may need to be written more than once.
Configuration menu - View commit details
-
Copy full SHA for b931900 - Browse repository at this point
Copy the full SHA b931900View commit details
Commits on Sep 18, 2023
-
Don't add captured outputs to the regular output struct.
Instead, go through the local variables we declared earlier. Almost done.
Configuration menu - View commit details
-
Copy full SHA for ab2b37b - Browse repository at this point
Copy the full SHA ab2b37bView commit details -
Add offsets and padding to transform feedback structs.
This gives them the correct layout in memory.
Configuration menu - View commit details
-
Copy full SHA for a1d92e7 - Browse repository at this point
Copy the full SHA a1d92e7View commit details -
Use mark_as_packable() to mark the buffer structs as needing repacking.
That way, any nested structs get repacked as well.
Configuration menu - View commit details
-
Copy full SHA for 2959f3a - Browse repository at this point
Copy the full SHA 2959f3aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 16dd1f1 - Browse repository at this point
Copy the full SHA 16dd1f1View commit details -
Only create a per-patch output block for tessellation control shaders.
This is the only type of shader that can even have such outputs. Not only does this save some work in most cases, it also fixes a problem with the next patch.
Configuration menu - View commit details
-
Copy full SHA for 742f725 - Browse repository at this point
Copy the full SHA 742f725View commit details -
Make sure the local variable for an output block gets created.
We still rely on it to pass around and collect the output. To avoid duplicates, only do this if we would not do this normally.
Configuration menu - View commit details
-
Copy full SHA for 8f66f30 - Browse repository at this point
Copy the full SHA 8f66f30View commit details -
Simplify the code to add members to the XFB buffer blocks.
Use the offset from the `XfbOutput` struct instead of querying it again from the ID. Use the `member_index` local instead of using `size() - 1` when setting member decorations. Don't set the qualified name for builtin block variabless--we handle those a different way. Use the member index from the `XfbOutput` when inspecing the original block type instead of the `member_index` local. This one was a real bug; honestly, I don't know how it even worked before.
Configuration menu - View commit details
-
Copy full SHA for 2e14c91 - Browse repository at this point
Copy the full SHA 2e14c91View commit details -
Make sure captured outputs passed as implicit arguments have correct …
…types. Make sure they use the `thread` AS and that they have the `packed_` prefix, if necessary.
Configuration menu - View commit details
-
Copy full SHA for 8dbf250 - Browse repository at this point
Copy the full SHA 8dbf250View commit details -
Only use qualified name for builtins in the entry point().
Add missing changes from previous patch.
Configuration menu - View commit details
-
Copy full SHA for b020270 - Browse repository at this point
Copy the full SHA b020270View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3521814 - Browse repository at this point
Copy the full SHA 3521814View commit details -
Configuration menu - View commit details
-
Copy full SHA for bf4f823 - Browse repository at this point
Copy the full SHA bf4f823View commit details -
Configuration menu - View commit details
-
Copy full SHA for 109959e - Browse repository at this point
Copy the full SHA 109959eView commit details
Commits on Sep 19, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 3bd855f - Browse repository at this point
Copy the full SHA 3bd855fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1154932 - Browse repository at this point
Copy the full SHA 1154932View commit details -
Configuration menu - View commit details
-
Copy full SHA for a547b52 - Browse repository at this point
Copy the full SHA a547b52View commit details -
Configuration menu - View commit details
-
Copy full SHA for 64fa0b6 - Browse repository at this point
Copy the full SHA 64fa0b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for dada588 - Browse repository at this point
Copy the full SHA dada588View commit details -
Attempt to work around weird brokenness that only happens...
...on the builder and not for me.
Configuration menu - View commit details
-
Copy full SHA for adb3a7b - Browse repository at this point
Copy the full SHA adb3a7bView commit details -
Try again to get the stupid compiler on the builder to see that std::…
…hash<enum> is supposed to just work.
Configuration menu - View commit details
-
Copy full SHA for fec7607 - Browse repository at this point
Copy the full SHA fec7607View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0393302 - Browse repository at this point
Copy the full SHA 0393302View commit details -
hypothesis was correct for unordered_map stands to reason unordered_s…
…et also doesn't support enum in C++11 for hash key
Configuration menu - View commit details
-
Copy full SHA for 739a140 - Browse repository at this point
Copy the full SHA 739a140View commit details
Commits on Nov 17, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 15a8b70 - Browse repository at this point
Copy the full SHA 15a8b70View commit details
Commits on Nov 29, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 575e75d - Browse repository at this point
Copy the full SHA 575e75dView commit details
Commits on Dec 17, 2023
-
Unfinished support for XFB+tessellation.
Only gets the base of the primitive so far.
Configuration menu - View commit details
-
Copy full SHA for 8bcfd32 - Browse repository at this point
Copy the full SHA 8bcfd32View commit details