Erwan
- adding some debugging stuff for the purple screen
This commit is contained in:
@@ -83,6 +83,10 @@ public:
|
|||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
static JRenderer* GetInstance();
|
static JRenderer* GetInstance();
|
||||||
|
|
||||||
|
//START PurpleScreen Debug
|
||||||
|
static int debugged;
|
||||||
|
//END PurpleScreen Debug
|
||||||
|
|
||||||
static void Destroy();
|
static void Destroy();
|
||||||
|
|
||||||
static void Set3DFlag(bool flag);
|
static void Set3DFlag(bool flag);
|
||||||
|
|||||||
@@ -40,6 +40,56 @@ static unsigned int __attribute__((aligned(16))) list[262144];
|
|||||||
|
|
||||||
extern void SwizzlePlot(u8* out, PIXEL_TYPE color, int i, int j, unsigned int width);
|
extern void SwizzlePlot(u8* out, PIXEL_TYPE color, int i, int j, unsigned int width);
|
||||||
|
|
||||||
|
//START PurpleScreen Debug
|
||||||
|
int JRenderer::debugged = 0;
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
unsigned int* start;
|
||||||
|
unsigned int* current;
|
||||||
|
int parent_context;
|
||||||
|
} GuDisplayList;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
GuDisplayList list;
|
||||||
|
int scissor_enable;
|
||||||
|
int scissor_start[2];
|
||||||
|
int scissor_end[2];
|
||||||
|
int near_plane;
|
||||||
|
int far_plane;
|
||||||
|
int depth_offset;
|
||||||
|
int fragment_2x;
|
||||||
|
int texture_function;
|
||||||
|
int texture_proj_map_mode;
|
||||||
|
int texture_map_mode;
|
||||||
|
int sprite_mode[4];
|
||||||
|
unsigned int clear_color;
|
||||||
|
unsigned int clear_stencil;
|
||||||
|
unsigned int clear_depth;
|
||||||
|
int texture_mode;
|
||||||
|
} GuContext;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int pixel_size;
|
||||||
|
int frame_width;
|
||||||
|
void* frame_buffer;
|
||||||
|
void* disp_buffer;
|
||||||
|
void* depth_buffer;
|
||||||
|
int depth_width;
|
||||||
|
int width;
|
||||||
|
int height;
|
||||||
|
} GuDrawBuffer;
|
||||||
|
|
||||||
|
extern int gu_curr_context;
|
||||||
|
extern GuDrawBuffer gu_draw_buffer;
|
||||||
|
extern GuContext gu_contexts[3];
|
||||||
|
extern GuDisplayList* gu_list;
|
||||||
|
|
||||||
|
|
||||||
|
//END PurpleScreen Debug
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Swap(float *a, float *b)
|
void Swap(float *a, float *b)
|
||||||
{
|
{
|
||||||
@@ -211,14 +261,6 @@ void JRenderer::InitRenderer()
|
|||||||
sceGuDepthBuffer(zbp, FRAME_BUFFER_WIDTH);
|
sceGuDepthBuffer(zbp, FRAME_BUFFER_WIDTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
FILE * pFile;
|
|
||||||
pFile = fopen ("graphiclog.txt","w");
|
|
||||||
char temp[600];
|
|
||||||
sprintf(temp,"fbp0:%p\nfbp1:%p\nBuffer Format:%d\nFrame Buffer Width:%d\nScreen Width:%d\nScreen Height:%d\n",fbp0,fbp1,BUFFER_FORMAT,FRAME_BUFFER_WIDTH,SCREEN_WIDTH,SCREEN_HEIGHT);
|
|
||||||
fputs(temp,pFile);
|
|
||||||
fclose (pFile);
|
|
||||||
|
|
||||||
|
|
||||||
sceGuOffset(2048 - (SCREEN_WIDTH/2), 2048 - (SCREEN_HEIGHT/2));
|
sceGuOffset(2048 - (SCREEN_WIDTH/2), 2048 - (SCREEN_HEIGHT/2));
|
||||||
sceGuViewport(2048, 2048, SCREEN_WIDTH, SCREEN_HEIGHT);
|
sceGuViewport(2048, 2048, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||||
sceGuScissor(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
sceGuScissor(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||||
@@ -352,6 +394,28 @@ void JRenderer::EndScene()
|
|||||||
|
|
||||||
mCurrentTex = -1;
|
mCurrentTex = -1;
|
||||||
mCurrentBlend = -1;
|
mCurrentBlend = -1;
|
||||||
|
|
||||||
|
//START PurpleScreen Debug
|
||||||
|
if (!debugged){
|
||||||
|
debugged = 1;
|
||||||
|
FILE * pFile;
|
||||||
|
pFile = fopen ("graphiclog.txt","w");
|
||||||
|
char temp[4096];
|
||||||
|
sprintf(temp,"fbp0:%p\nfbp1:%p\nBuffer Format:%d\nFrame Buffer Width:%d\nScreen Width:%d\nScreen Height:%d\n",fbp0,fbp1,BUFFER_FORMAT,FRAME_BUFFER_WIDTH,SCREEN_WIDTH,SCREEN_HEIGHT);
|
||||||
|
fputs(temp,pFile);
|
||||||
|
sprintf(temp,"\nDRAW BUFFER:\npixel_size:%d\nframe_width:%d\nframe_buffer:%p\n",gu_draw_buffer.pixel_size,gu_draw_buffer.frame_width,gu_draw_buffer.frame_buffer);
|
||||||
|
fputs(temp,pFile);
|
||||||
|
sprintf(temp,"disp_buffer:%p\ndepth_buffer:%p\ndepth_width:%d\nwidth:%d\nheight:%d\n",gu_draw_buffer.disp_buffer,gu_draw_buffer.depth_buffer,gu_draw_buffer.depth_width,gu_draw_buffer.width,gu_draw_buffer.height);
|
||||||
|
fputs(temp,pFile);
|
||||||
|
|
||||||
|
GuContext gc = gu_contexts[gu_curr_context];
|
||||||
|
|
||||||
|
sprintf(temp,"\nGU CONTEXT:\nscissor_enable:%d\ndepth_offset:%d\nfragment_2x:%d\ntexture_function:%d\ntexture_mode:%d\n",gc.scissor_enable,gc.depth_offset,gc.fragment_2x,gc.texture_function,gc.texture_mode);
|
||||||
|
fputs(temp,pFile);
|
||||||
|
fclose (pFile);
|
||||||
|
}
|
||||||
|
//END PurpleScreen Debug
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user