mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-14 22:29:15 +01:00
[spirv] Add subgroup ballot instructions
This commit is contained in:
parent
4057937d2d
commit
0113e8f360
@ -2872,6 +2872,38 @@ namespace dxvk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint32_t SpirvModule::opGroupNonUniformBallot(
|
||||||
|
uint32_t resultType,
|
||||||
|
uint32_t execution,
|
||||||
|
uint32_t predicate) {
|
||||||
|
uint32_t resultId = this->allocateId();
|
||||||
|
|
||||||
|
m_code.putIns(spv::OpGroupNonUniformBallot, 5);
|
||||||
|
m_code.putWord(resultType);
|
||||||
|
m_code.putWord(resultId);
|
||||||
|
m_code.putWord(execution);
|
||||||
|
m_code.putWord(predicate);
|
||||||
|
return resultId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint32_t SpirvModule::opGroupNonUniformBallotBitCount(
|
||||||
|
uint32_t resultType,
|
||||||
|
uint32_t execution,
|
||||||
|
uint32_t operation,
|
||||||
|
uint32_t ballot) {
|
||||||
|
uint32_t resultId = this->allocateId();
|
||||||
|
|
||||||
|
m_code.putIns(spv::OpGroupNonUniformBallotBitCount, 6);
|
||||||
|
m_code.putWord(resultType);
|
||||||
|
m_code.putWord(resultId);
|
||||||
|
m_code.putWord(execution);
|
||||||
|
m_code.putWord(operation);
|
||||||
|
m_code.putWord(ballot);
|
||||||
|
return resultId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uint32_t SpirvModule::opGroupNonUniformLogicalAnd(
|
uint32_t SpirvModule::opGroupNonUniformLogicalAnd(
|
||||||
uint32_t resultType,
|
uint32_t resultType,
|
||||||
uint32_t execution,
|
uint32_t execution,
|
||||||
|
@ -992,6 +992,17 @@ namespace dxvk {
|
|||||||
uint32_t reference,
|
uint32_t reference,
|
||||||
const SpirvImageOperands& operands);
|
const SpirvImageOperands& operands);
|
||||||
|
|
||||||
|
uint32_t opGroupNonUniformBallot(
|
||||||
|
uint32_t resultType,
|
||||||
|
uint32_t execution,
|
||||||
|
uint32_t predicate);
|
||||||
|
|
||||||
|
uint32_t opGroupNonUniformBallotBitCount(
|
||||||
|
uint32_t resultType,
|
||||||
|
uint32_t execution,
|
||||||
|
uint32_t operation,
|
||||||
|
uint32_t ballot);
|
||||||
|
|
||||||
uint32_t opGroupNonUniformLogicalAnd(
|
uint32_t opGroupNonUniformLogicalAnd(
|
||||||
uint32_t resultType,
|
uint32_t resultType,
|
||||||
uint32_t execution,
|
uint32_t execution,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user