PVRTrace on Windows

This topic contains 6 replies, has 2 voices, and was last updated by  DGonzalez 5 years, 5 months ago.

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #30912

    presbywf
    Member

    I’m having a bit of trouble getting PVRTrace to run on Windows with PVRFrame; I am using OpenGL 1.1.  My application runs fine with libEGL.dll and libGLES_CM.dll – have both of these in my %SYSTEMDIR% path.

    To use PVRTrace I add the 4 required dll’s into my executable directory:  libEGL.dll, libgles_cm.dll, libGLESv1_CM.dll, and PVRTrace.dll.  I then create a pvrtrace.cfg file and point EglLibraryPath and Es1LibraryPath to the %SYSTEMDIR% versions of the files.

    Then when I run, I get an error that says “The ordinal 204 could not be located in the dynamic link library libGLES_CM.dll”.

    Using dumpbin.exe it’s clear that this ordinal does not exist in the PVRTrace version of the DLL, but does exist in the PVRFrame version.  In face, PVRTrace.dll only has ordinals up to ~170, while PVRFrame goes up to ~220.

    Am I setting this up wrong?  I must be missing an important step.

    #35975

    DGonzalez
    Member

    Hi presbywf,

    Could you print your pvrtrace.cfg file please?

    I think you could have a problem with the dll used:

    Example:

    EglLibraryPath = Z:PVRFrameReleaseOGLES2libEGL.dll
    Es1LibraryPath = Z:PVRFrameReleaseOGLES1libGLES_CM.dll
    Es2LibraryPath = Z:PVRFrameReleaseOGLES2libGLESv2.dll

    Please, check the name and we recommend to set Es2LibraryPath too, even if your application does not use it.

    Regards,

    David

    #35976

    presbywf
    Member

    Hi David.  My pvrtrace.cfg is as follows:

    EglLibraryPath = F:OpenGLPVRVFrame_REL_2.10@869778.tarPVRVFrameOGLES-1.1Windows_x86_32libEGL.dll
    Es1LibraryPath = F:OpenGLPVRVFrame_REL_2.10@869778.tarPVRVFrameOGLES-1.1Windows_x86_32libgles_cm.dll
    Es2LibraryPath = F:OpenGLPVRVFrame_REL_2.10@869778.tarPVRVFrameOGLES-2.0Windows_x86_32libGLESv2.dll

    TraceFile = trace.pvrt
    RecordData = 0
    StartFrame = 0
    EndFrame = 100

    I am pointing to the DLL’s directly from the PVRVFrame download from this website.  I have tried other directories as well, such as %SYSTEMDIR%libEGL.dll, etc.

    #35977

    DGonzalez
    Member

    Hi presbywf,

    Is your app using glCurrentPaletteMatrixOES? 

    To use any extension you should get the pointer with eglGetProcAddress() and not calling directly the function. 

    PVRVFrame allows to calls some functions directly but it is not going to work on the devices (they are DEV-Backdoors).

    Is this your case?

    Regards,

    David

    #35978

    presbywf
    Member

    Hi David – you are right, we were directly calling glCurrentPaletteMatrixOES.  I changed the code to use eglGetProcAddress and everything works fine now.

    Thanks for your help!

    #35979

    presbywf
    Member

    I spoke too soon.  The TTY output prints:

    Error loading library eglBindTexImageError loading library eglBindTexImage
    Error loading library eglReleaseTexImageError loading library eglReleaseTexImage
    Error loading library eglSurfaceAttribError loading library eglSurfaceAttrib
    Error loading library eglSwapIntervalError loading library eglSwapInterval
    Error loading library eglBindAPIError loading library eglBindAPI
    Error loading library eglCreatePbufferFromClientBufferError loading library eglC
    reatePbufferFromClientBuffer
    Error loading library eglQueryAPIError loading library eglQueryAPI
    Error loading library eglReleaseThreadError loading library eglReleaseThread
    Error loading library eglWaitClientError loading library eglWaitClient
    PVRTrace EGL – ERROR: failed to load entry points from host library
    Please check library paths in pvrtrace.cfg
    PVRTrace EGL – ERROR: failed to load entry points from host library
    Please check library paths in pvrtrace.cfg

    PVRTrace – aborting

    PVRTrace – aborting

    The app will then crash when calling eglGetDisplay.

    This is expected output?

    #35980

    DGonzalez
    Member

    Hi presbywf,

    We think there is a problem with the libEGL.dll used.

    Could you try to use the
     OGLES2
     libEGL.dll
    version?

    EglLibraryPath = F:OpenGLPVRVFrame_REL_2.10@869778.tarPVRVFrameOGLES-2.0 Windows_x86_32libEGL.dll
    Es1LibraryPath = F:OpenGLPVRVFrame_REL_2.10@869778.tarPVRVFrameOGLES-1.1Windows_x86_32libgles_cm.dll
    Es2LibraryPath = F:OpenGLPVRVFrame_REL_2.10@869778.tarPVRVFrameOGLES-2.0Windows_x86_32libGLESv2.dll

    Thank you.

    Regards,

    David

Viewing 7 posts - 1 through 7 (of 7 total)
You must be logged in to reply to this topic.