(Xbox 1) Added on-screen debug output (memory usage), this can be toggled in xdk_d3d8.h -> #define SHOW_DEBUG_INFO

This commit is contained in:
freakdave 2012-07-15 16:27:50 +02:00
parent c8d74c35c9
commit 987943a52c
2 changed files with 41 additions and 0 deletions

View File

@ -343,6 +343,15 @@ static void *xdk_d3d_init(const video_info_t *video, const input_driver_t **inpu
d3d->vsync = video->vsync;
// load debug font (toggle option in later revisions ?)
#ifdef SHOW_DEBUG_INFO
XFONT_OpenDefaultFont(&d3d->debug_font);
d3d->debug_font->SetBkMode(XFONT_TRANSPARENT);
d3d->debug_font->SetBkColor(D3DCOLOR_ARGB(100,0,0,0));
d3d->debug_font->SetTextHeight(14);
d3d->debug_font->SetTextAntialiasLevel(d3d->debug_font->GetTextAntialiasLevel());
#endif
return d3d;
}
@ -430,6 +439,32 @@ static bool xdk_d3d_frame(void *data, const void *frame,
d3d->d3d_render_device->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2);
d3d->d3d_render_device->EndScene();
#ifdef SHOW_DEBUG_INFO
static MEMORYSTATUS stat;
GlobalMemoryStatus(&stat);
d3d->d3d_render_device->GetBackBuffer(-1, D3DBACKBUFFER_TYPE_MONO, &d3d->pFrontBuffer);
d3d->d3d_render_device->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &d3d->pBackBuffer);
//Output memory usage
d3d->debug_font->TextOut(d3d->pFrontBuffer, L"RetroArch XBOX1", (unsigned)-1, 30, 30 );
d3d->debug_font->TextOut(d3d->pBackBuffer, L"RetroArch XBOX1", (unsigned)-1, 30, 30 );
swprintf(d3d->buffer, L"%.2f MB free / %.2f MB total", stat.dwAvailPhys/(1024.0f*1024.0f), stat.dwTotalPhys/(1024.0f*1024.0f));
d3d->debug_font->TextOut(d3d->pFrontBuffer, d3d->buffer, (unsigned)-1, 30, 50 );
d3d->debug_font->TextOut(d3d->pBackBuffer, d3d->buffer, (unsigned)-1, 30, 50 );
// FIXME: Add fps counter
/*
swprintf(buffer, L"%02d / %02d FPS", fps, IsPal ? 50 : 60);
d3d->debug_font->TextOut(d3d->pFrontBuffer, d3d->buffer, (unsigned)-1, 30, 70 );
d3d->debug_font->TextOut(d3d->pBackBuffer, d3d->buffer, (unsigned)-1, 30, 70 );
*/
d3d->pFrontBuffer->Release();
d3d->pBackBuffer->Release();
#endif
if(!d3d->block_swap)
gfx_ctx_swap_buffers();

View File

@ -18,6 +18,9 @@
#define _XDK_VIDEO_H
#include <stdint.h>
#include <xfont.h>
#define SHOW_DEBUG_INFO
#define DFONT_MAX 4096
#define PRIM_FVF (D3DFVF_XYZRHW | D3DFVF_TEX1)
@ -79,6 +82,9 @@ typedef struct xdk_d3d_video
LPDIRECT3DTEXTURE_PTR lpTexture;
DWORD video_mode;
D3DPRESENT_PARAMETERS d3dpp;
XFONT *debug_font;
WCHAR buffer[1000];
D3DSurface *pBackBuffer, *pFrontBuffer;
} xdk_d3d_video_t;
#endif