@@ -368,7 +368,13 @@ void ShaderRecompiler::recompile(const TextureFetchInstruction& instr, bool bicu
368368 print (" , float2({}, {})" , instr.offsetX * 0 .5f , instr.offsetY * 0 .5f );
369369 break ;
370370 case TextureDimension::TextureCube:
371- out += " , cubeMapData" ;
371+ println (" \n #ifdef __air__" );
372+ indent ();
373+ println (" , &cubeMapData" );
374+ println (" #else" );
375+ indent ();
376+ println (" , cubeMapData" );
377+ println (" #endif" );
372378 break ;
373379 }
374380
@@ -802,7 +808,13 @@ void ShaderRecompiler::recompile(const AluInstruction& instr)
802808 break ;
803809
804810 case AluVectorOpcode::Cube:
811+ println (" \n #ifdef __air__" );
812+ indent ();
813+ print (" cube(r{}, &cubeMapData)" , instr.src1Register );
814+ println (" \n #else" );
815+ indent ();
805816 print (" cube(r{}, cubeMapData)" , instr.src1Register );
817+ println (" \n #endif" );
806818 break ;
807819
808820 case AluVectorOpcode::Max4:
@@ -1739,7 +1751,7 @@ void ShaderRecompiler::recompile(const uint8_t* shaderData, const std::string_vi
17391751 out += " \t float2 pixelCoord = 0.0;\n " ;
17401752#endif
17411753 out += " #ifdef __air__\n " ;
1742- out += " \t CubeMapData cubeMapdata = CubeMapData{};\n " ;
1754+ out += " \t CubeMapData cubeMapData = CubeMapData{};\n " ;
17431755 out += " #else\n " ;
17441756 out += " \t CubeMapData cubeMapData = (CubeMapData)0;\n " ;
17451757 out += " #endif\n " ;
0 commit comments