Fix compilation issue in Dolphin, still crashes.

This commit is contained in:
Luke Usher 2018-08-08 13:33:56 +01:00
parent 4412fef9bb
commit b5fcc7a543
1 changed files with 4 additions and 6 deletions

View File

@ -45,8 +45,7 @@
#include "CxbxKrnl/EmuD3D8Types.h" // For X_D3DVSDE_* #include "CxbxKrnl/EmuD3D8Types.h" // For X_D3DVSDE_*
#include <sstream> #include <sstream>
#include <unordered_map> #include <unordered_map>
#include <array>
#ifdef CXBX_USE_VS30 #ifdef CXBX_USE_VS30
//#define CXBX_USE_VS30 // Separate the port to Vertex Shader model 3.0 from the port to Direct3D9 //#define CXBX_USE_VS30 // Separate the port to Vertex Shader model 3.0 from the port to Direct3D9
@ -485,7 +484,7 @@ static const char* OReg_Name[] =
"a0.x" "a0.x"
}; };
bool RegVUsage[16]; std::array<bool, 16> RegVUsage;
/* TODO : map non-FVF Xbox vertex shader handle to CxbxVertexShader (a struct containing a host Xbox vertex shader handle and the original members) /* TODO : map non-FVF Xbox vertex shader handle to CxbxVertexShader (a struct containing a host Xbox vertex shader handle and the original members)
std::unordered_map<DWORD, CxbxVertexShader> g_CxbxVertexShaders; std::unordered_map<DWORD, CxbxVertexShader> g_CxbxVertexShaders;
@ -1470,12 +1469,11 @@ static boolean VshConvertShader(VSH_XBOX_SHADER *pShader,
// Combining not supported in vs.1.1 // Combining not supported in vs.1.1
pIntermediate->IsCombined = FALSE; pIntermediate->IsCombined = FALSE;
/*
if(pIntermediate->Output.Type == IMD_OUTPUT_O && pIntermediate->Output.Address == OREG_OFOG) if(pIntermediate->Output.Type == IMD_OUTPUT_O && pIntermediate->Output.Address == OREG_OFOG)
{ {
// The PC shader assembler doesn't like masks on scalar registers // The PC shader assembler doesn't like masks on scalar registers
VshSetOutputMask(&pIntermediate->Output, TRUE, TRUE, TRUE, TRUE); VshSetOutputMask(&pIntermediate->Output, TRUE, TRUE, TRUE, TRUE);
}*/ }
if(pIntermediate->InstructionType == IMD_ILU && pIntermediate->ILU == ILU_RCC) if(pIntermediate->InstructionType == IMD_ILU && pIntermediate->ILU == ILU_RCC)
{ {
@ -2470,7 +2468,7 @@ extern HRESULT XTL::EmuRecompileVshFunction
if(SUCCEEDED(hRet)) if(SUCCEEDED(hRet))
{ {
RegVUsage[16] = { FALSE }; RegVUsage.fill(false);
for (pToken = (DWORD*)((uint08*)pFunction + sizeof(VSH_SHADER_HEADER)); !EOI; pToken += VSH_INSTRUCTION_SIZE) for (pToken = (DWORD*)((uint08*)pFunction + sizeof(VSH_SHADER_HEADER)); !EOI; pToken += VSH_INSTRUCTION_SIZE)
{ {