Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Budokai 3 Error
#21
Here is the debug.txt. Interestingly it did not crash like what happened to the OP and me. Instead it just played extremely sloooooow down to 6 fps. I couldn't even get past the loading the memory card scene.

The PPA still crashes. Same warning as always as noted by the OP.


Attached Files
.txt   Debug.txt (Size: 477 bytes / Downloads: 235)
Reply

Sponsored links

#22
Hum, can you try this patch in a release build (or just remove the #.... line begin with a - ) :
Code:
Index: plugins/GSdx/GSVertexArrayOGL.h
===================================================================
--- plugins/GSdx/GSVertexArrayOGL.h    (revision 5363)
+++ plugins/GSdx/GSVertexArrayOGL.h    (working copy)
@@ -81,12 +81,10 @@
    }

    bool Map(void** pointer, uint32 count ) {
-#ifdef OGL_DEBUG
        GLint b_size = -1;
        glGetBufferParameteriv(m_target, GL_BUFFER_SIZE, &b_size);

        if (b_size <= 0) return false;
-#endif

        m_count = count;

@@ -114,12 +112,10 @@
        // Upload the data to the buffer
        *pointer = (uint8*) glMapBufferRange(m_target, m_stride*m_start, m_stride*m_count, map_flags);
        //fprintf(stderr, "Map %x from %d to %d\n", *pointer, m_start, m_start+m_count);
-#ifdef OGL_DEBUG
        if (*pointer == NULL) {
            fprintf(stderr, "CRITICAL ERROR map failed for vb!!!\n");
            return false;
        }
-#endif
        return true;
    }
Reply
#23
Sure can. Just tell me which file to patch and how.
Reply
#24
Just remove the red line, I mark the begin of the block you need to scroll down a few lines.

Index: plugins/GSdx/GSVertexArrayOGL.h <<<< FILE
===================================================================
--- plugins/GSdx/GSVertexArrayOGL.h (revision 5363)
+++ plugins/GSdx/GSVertexArrayOGL.h (working copy)
@@ -81,12 +81,10 @@ <<< Line 81
}

bool Map(void** pointer, uint32 count ) {
-#ifdef OGL_DEBUG
GLint b_size = -1;
glGetBufferParameteriv(m_target, GL_BUFFER_SIZE, &b_size);

if (b_size <= 0) return false;
-#endif

m_count = count;

@@ -114,12 +112,10 @@ <<< LINE 112
// Upload the data to the buffer
*pointer = (uint8*) glMapBufferRange(m_target, m_stride*m_start, m_stride*m_count, map_flags);
//fprintf(stderr, "Map %x from %d to %d\n", *pointer, m_start, m_start+m_count);
-#ifdef OGL_DEBUG
if (*pointer == NULL) {
fprintf(stderr, "CRITICAL ERROR map failed for vb!!!\n");
return false;
}
-#endif
return true;
}
Reply
#25
At first I made patch to the file on a currently installed SVN version. Of course, that didn't work.

So...I made the changes to the file immediately after re-downloading from SVN (and before cmake, make, etc) and it worked once it was installed! There was not a single problem with my FFX-2. It even plays my Dynasty Warriors 3 when GSDX SDL version would not. Hopefully the OP will see this. Thank you very much.
Reply
#26
I still don't understand why the vertex buffer is undefined. Last time we got it, it was a multithread issue. Would it be possible to restore the original version (svn revert GSVertexArrayOGL.h). Make it crash (that mean the pcsx2 popup appears with the stacktrace). Then attach gdb to it. Get the pid of pcsx2, launch gdb and give the thread status:
# attach PID_FROM_TOP_OR_PS
# info thread
# thread apply all bt
Reply
#27
When I reverted the GSVertexArrayOGL.h nothing happened. I guess it's because once it built using cmake, etc, the plugin was already "re-programmed" for my PCSX2. So I redownload from SVN from scratch.

Before I re-build I need to know what gdb is and how to get PID and the other instructions you need. I am not a Linux genius by any means but I am not afraid to find my way around things in Linux and modify files as needed. Also due to timezones and work schedules I apologize for delay in doing these things.
Reply
#28
After any change you need to recompile (call again build.sh). Normally it is not needed to download svn each times but that not important.

GDB => http://code.google.com/p/pcsx2/wiki/GDB
It is a debugger you need to install it.

PID => Proces id. You can get it with a command like that "ps aux | grep -w pcsx2". Take the first number of the line that contains only the "pcsx2" command.
Reply
#29
I hope I did this right...

Results of ps aux | grep -w pcsx2

16923 0.0 0.0 4372 864 pts/1 S+ 23:44 0:00 grep --color=auto -w pcsx2

So I guess PID is 16923.

GDB results are attached as it is long.

This was from latest "release" build of SVN. I didn't even get to the usual crash message from the OP's (and mine) original warning. PCSX2 wouldn't even get through initial loading screen for FFX-2 this time. Anyways, I hope this info helps.


Attached Files
.txt   gdb_pcsx2.txt (Size: 13,41 KB / Downloads: 259)
Reply
#30
The beginning is not correct. You need first to lauch pcsx2 until you get the popup. The pid is not the good one, you get the one of "grep" you need to get the pcsx2 one, you can see the name of the process is the last column.
On gdb, the first command must be attach not run.
Reply




Users browsing this thread: 1 Guest(s)