Skip to content
This repository was archived by the owner on Oct 9, 2019. It is now read-only.

[Feature Request] OpDecorationGroup doesn't group more than one decoration. #13

Open
yxsamliu opened this issue Dec 1, 2015 · 0 comments

Comments

@yxsamliu
Copy link
Contributor

yxsamliu commented Dec 1, 2015

OpDecorationGroup doesn't support more than one decoration at a time. For instance, if multiple instructions shares 2+ decorations (constant, alignment), 2+ decoration groups are created by SPIR-V generator instead of one group that will apply both decorations.

Opened by Alexey Bader.

echuraev added a commit to echuraev/SPIRV-LLVM that referenced this issue Sep 26, 2016
In one of last change of spirv spec was added following change:
"Public SPIRV-Headers issues KhronosGroup#12 and KhronosGroup#13 and Khronos SPIR-V issue KhronosGroup#65: Allow OpVariable as an initializer for another OpVariable instruction or the Base of an OpSpecConstantOp with an AccessChain opcode."
In this way, OpVariable can be initialize before OpSpecConstantOp. To do this, it's necessary add OpSpecConstantOp in one container with OpVariable in TopologicalSort. After this change, OpSpecConstantOp and OpVariable instructions will be add to spirv file in the right order.
yxsamliu pushed a commit that referenced this issue Sep 29, 2016
* Fixed problem with OpSpecConstantOp.
In one of last change of spirv spec was added following change:
"Public SPIRV-Headers issues #12 and #13 and Khronos SPIR-V issue #65: Allow OpVariable as an initializer for another OpVariable instruction or the Base of an OpSpecConstantOp with an AccessChain opcode."
In this way, OpVariable can be initialize before OpSpecConstantOp. To do this, it's necessary add OpSpecConstantOp in one container with OpVariable in TopologicalSort. After this change, OpSpecConstantOp and OpVariable instructions will be add to spirv file in the right order.

* Renamed InstructionVec to ConstAndVarVec and fixed indentation
robclark pushed a commit to freedreno/SPIRV-LLVM that referenced this issue Jan 26, 2018
* Fixed problem with OpSpecConstantOp.
In one of last change of spirv spec was added following change:
"Public SPIRV-Headers issues KhronosGroup#12 and KhronosGroup#13 and Khronos SPIR-V issue KhronosGroup#65: Allow OpVariable as an initializer for another OpVariable instruction or the Base of an OpSpecConstantOp with an AccessChain opcode."
In this way, OpVariable can be initialize before OpSpecConstantOp. To do this, it's necessary add OpSpecConstantOp in one container with OpVariable in TopologicalSort. After this change, OpSpecConstantOp and OpVariable instructions will be add to spirv file in the right order.

* Renamed InstructionVec to ConstAndVarVec and fixed indentation
AlexeySotkin pushed a commit to AlexeySotkin/SPIRV-LLVM that referenced this issue Mar 12, 2018
* Fixed problem with OpSpecConstantOp.
In one of last change of spirv spec was added following change:
"Public SPIRV-Headers issues KhronosGroup#12 and KhronosGroup#13 and Khronos SPIR-V issue KhronosGroup#65: Allow OpVariable as an initializer for another OpVariable instruction or the Base of an OpSpecConstantOp with an AccessChain opcode."
In this way, OpVariable can be initialize before OpSpecConstantOp. To do this, it's necessary add OpSpecConstantOp in one container with OpVariable in TopologicalSort. After this change, OpSpecConstantOp and OpVariable instructions will be add to spirv file in the right order.

* Renamed InstructionVec to ConstAndVarVec and fixed indentation
AlexeySotkin pushed a commit to AlexeySotkin/SPIRV-LLVM that referenced this issue Apr 3, 2018
* Fixed problem with OpSpecConstantOp.
In one of last change of spirv spec was added following change:
"Public SPIRV-Headers issues KhronosGroup#12 and KhronosGroup#13 and Khronos SPIR-V issue KhronosGroup#65: Allow OpVariable as an initializer for another OpVariable instruction or the Base of an OpSpecConstantOp with an AccessChain opcode."
In this way, OpVariable can be initialize before OpSpecConstantOp. To do this, it's necessary add OpSpecConstantOp in one container with OpVariable in TopologicalSort. After this change, OpSpecConstantOp and OpVariable instructions will be add to spirv file in the right order.

* Renamed InstructionVec to ConstAndVarVec and fixed indentation
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant