Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Support multi-texture in JIT mode?

Help
lym
2005-10-17
2013-04-17
  • lym
    lym
    2005-10-17

    I have port vincent(version0.83) to arm-linux platform. I got segment fault when I run  program that uses more than one texture in JIT mode. The error is thrown from generated "RasterScanLine"  function. Is vincent not supportting multi-texture in JIT mode or other problems cause the error?

                                                              -lym

     
    • Hi Lym,

      in principle (i.e. on Windows Mobile) multi-texture JIT works. I could imagine that the behavior you are seeing is due to differences in the platforms/compilers. For example, the memory layout of the C data structures that get used by the JIT look different due to different alignment/padding rules.

      Do you have a way to find out at what instruction exactly your program crashes? I hope you saw that in debug mode the library is generating assembly dumps of the generated scanline functions that are quite useful for addressing these kinds of problems.

      - HM

       
      • lym
        lym
        2005-10-27

        Hi,
        I have found the error is from instruct <ldr pc, [pc,#160]> in generated RasterScanLine function. It load a invalid adress to pc. It's strange that everthing is ok when use only one texture on a mesh. What cause this problem and how to resolve it?

         
      • lym
        lym
        2005-10-31

        I found the direct reason of the error is that the size of generated function is big than 4096, but the operand in the instruct is 12bit max, so it can't reach the correct data segment.

         
        • Thanks! I was about to run into the same issue myself (I am currently implementing the full texture combine options), so I hope to get to it this week.

          - HM