mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-06 13:54:14 +01:00
[dxbc] Increased number of clip/cull distances
Clip and cull distances can be defined as multi-component vectors in D3D11. We still need to figure out how to map them to the actuall cull distance array.
This commit is contained in:
parent
f947fb5d44
commit
3e4e5191a8
@ -2379,7 +2379,6 @@ namespace dxvk {
|
|||||||
emitValueStore(ptr, value, mask);
|
emitValueStore(ptr, value, mask);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Logger::warn(str::format(
|
Logger::warn(str::format(
|
||||||
"DxbcCompiler: Unhandled VS SV output: ", sv));
|
"DxbcCompiler: Unhandled VS SV output: ", sv));
|
||||||
@ -2706,12 +2705,12 @@ namespace dxvk {
|
|||||||
uint32_t DxbcCompiler::getPerVertexBlockId() {
|
uint32_t DxbcCompiler::getPerVertexBlockId() {
|
||||||
uint32_t t_f32 = m_module.defFloatType(32);
|
uint32_t t_f32 = m_module.defFloatType(32);
|
||||||
uint32_t t_f32_v4 = m_module.defVectorType(t_f32, 4);
|
uint32_t t_f32_v4 = m_module.defVectorType(t_f32, 4);
|
||||||
uint32_t t_f32_a2 = m_module.defArrayType(t_f32, m_module.constu32(2));
|
uint32_t t_f32_a4 = m_module.defArrayType(t_f32, m_module.constu32(4));
|
||||||
|
|
||||||
std::array<uint32_t, 3> members;
|
std::array<uint32_t, 3> members;
|
||||||
members[PerVertex_Position] = t_f32_v4;
|
members[PerVertex_Position] = t_f32_v4;
|
||||||
members[PerVertex_CullDist] = t_f32_a2;
|
members[PerVertex_CullDist] = t_f32_a4;
|
||||||
members[PerVertex_ClipDist] = t_f32_a2;
|
members[PerVertex_ClipDist] = t_f32_a4;
|
||||||
|
|
||||||
uint32_t typeId = m_module.defStructTypeUnique(
|
uint32_t typeId = m_module.defStructTypeUnique(
|
||||||
members.size(), members.data());
|
members.size(), members.data());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user