mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-21 22:54:16 +01:00
[spirv] Add support for OpRawAccessChainNV
This commit is contained in:
parent
f07e5f9eaa
commit
77c7396ee1
@ -2697,6 +2697,30 @@ namespace dxvk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
uint32_t SpirvModule::opRawAccessChain(
|
||||||
|
uint32_t resultType,
|
||||||
|
uint32_t base,
|
||||||
|
uint32_t stride,
|
||||||
|
uint32_t index,
|
||||||
|
uint32_t offset,
|
||||||
|
uint32_t operand) {
|
||||||
|
uint32_t resultId = this->allocateId();
|
||||||
|
|
||||||
|
m_code.putIns (spv::OpRawAccessChainNV, operand ? 8 : 7);
|
||||||
|
m_code.putWord(resultType);
|
||||||
|
m_code.putWord(resultId);
|
||||||
|
m_code.putWord(base);
|
||||||
|
m_code.putWord(stride);
|
||||||
|
m_code.putWord(index);
|
||||||
|
m_code.putWord(offset);
|
||||||
|
|
||||||
|
if (operand)
|
||||||
|
m_code.putWord(operand);
|
||||||
|
|
||||||
|
return resultId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uint32_t SpirvModule::opReflect(
|
uint32_t SpirvModule::opReflect(
|
||||||
uint32_t resultType,
|
uint32_t resultType,
|
||||||
uint32_t incident,
|
uint32_t incident,
|
||||||
|
@ -951,6 +951,14 @@ namespace dxvk {
|
|||||||
uint32_t resultType,
|
uint32_t resultType,
|
||||||
uint32_t operand);
|
uint32_t operand);
|
||||||
|
|
||||||
|
uint32_t opRawAccessChain(
|
||||||
|
uint32_t resultType,
|
||||||
|
uint32_t base,
|
||||||
|
uint32_t stride,
|
||||||
|
uint32_t index,
|
||||||
|
uint32_t offset,
|
||||||
|
uint32_t operand);
|
||||||
|
|
||||||
uint32_t opReflect(
|
uint32_t opReflect(
|
||||||
uint32_t resultType,
|
uint32_t resultType,
|
||||||
uint32_t incident,
|
uint32_t incident,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user