mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-18 11:52:12 +01:00
[dxbc] Implemented Geometry SV RenderTargetId
This commit is contained in:
parent
b741b3b4d5
commit
fc947f5985
@ -4598,6 +4598,25 @@ namespace dxvk {
|
||||
emitVsSystemValueStore(sv, mask, value);
|
||||
break;
|
||||
|
||||
case DxbcSystemValue::RenderTargetId: {
|
||||
if (m_gs.builtinLayer == 0) {
|
||||
m_gs.builtinLayer = emitNewBuiltinVariable({
|
||||
{ DxbcScalarType::Uint32, 1, 0 },
|
||||
spv::StorageClassOutput },
|
||||
spv::BuiltInLayer,
|
||||
"gs_layer");
|
||||
}
|
||||
|
||||
DxbcRegisterPointer ptr;
|
||||
ptr.type.ctype = DxbcScalarType::Uint32;
|
||||
ptr.type.ccount = 1;
|
||||
ptr.id = m_gs.builtinLayer;
|
||||
|
||||
emitValueStore(
|
||||
ptr, emitRegisterExtract(value, mask),
|
||||
DxbcRegMask(true, false, false, false));
|
||||
} break;
|
||||
|
||||
default:
|
||||
Logger::warn(str::format(
|
||||
"DxbcCompiler: Unhandled GS SV output: ", sv));
|
||||
|
@ -116,6 +116,8 @@ namespace dxvk {
|
||||
DxbcPrimitiveTopology outputTopology = DxbcPrimitiveTopology::Undefined;
|
||||
uint32_t outputVertexCount = 0;
|
||||
uint32_t functionId = 0;
|
||||
|
||||
uint32_t builtinLayer = 0;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user