...
 
Commits (3)
......@@ -364,13 +364,13 @@ namespace dxvk {
uint32_t vec4_t = spvModule.defVectorType(float_t, 4);
std::array<uint32_t, D3D9SharedPSStages_Count> stageMembers = {
vec4_t,
vec2_t,
vec2_t,
float_t,
float_t,
vec4_t
};
std::array<decltype(stageMembers), caps::TextureStageCount> members;
......@@ -385,20 +385,23 @@ namespace dxvk {
uint32_t offset = 0;
for (uint32_t stage = 0; stage < caps::TextureStageCount; stage++) {
spvModule.memberDecorateOffset(structType, stage * D3D9SharedPSStages_Count + 0, offset);
spvModule.memberDecorateOffset(structType, stage * D3D9SharedPSStages_Count + D3D9SharedPSStages_Constant, offset);
offset += sizeof(float) * 4;
spvModule.memberDecorateOffset(structType, stage * D3D9SharedPSStages_Count + D3D9SharedPSStages_BumpEnvMat0, offset);
offset += sizeof(float) * 2;
spvModule.memberDecorateOffset(structType, stage * D3D9SharedPSStages_Count + 1, offset);
spvModule.memberDecorateOffset(structType, stage * D3D9SharedPSStages_Count + D3D9SharedPSStages_BumpEnvMat1, offset);
offset += sizeof(float) * 2;
spvModule.memberDecorateOffset(structType, stage * D3D9SharedPSStages_Count + 2, offset);
spvModule.memberDecorateOffset(structType, stage * D3D9SharedPSStages_Count + D3D9SharedPSStages_BumpEnvLScale, offset);
offset += sizeof(float);
spvModule.memberDecorateOffset(structType, stage * D3D9SharedPSStages_Count + 3, offset);
spvModule.memberDecorateOffset(structType, stage * D3D9SharedPSStages_Count + D3D9SharedPSStages_BumpEnvLOffset, offset);
offset += sizeof(float);
spvModule.memberDecorateOffset(structType, stage * D3D9SharedPSStages_Count + 4, offset);
offset += sizeof(float) * 4;
// Padding...
offset += sizeof(float) * 2;
}
uint32_t sharedState = spvModule.newVar(
......
......@@ -145,6 +145,7 @@ namespace dxvk {
float BumpEnvMat[2][2];
float BumpEnvLScale;
float BumpEnvLOffset;
float Padding[2];
} Stages[8];
};
......