summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Hopf <mhopf@suse.de>2009-02-15 22:55:44 +0100
committerMatthias Hopf <mhopf@suse.de>2009-02-16 14:09:33 +0100
commitf773e4b9a04e5563421084d17ccc4e240474ed9d (patch)
tree80092743cf1876e67f7507494404b54d0fe13f97
parent68558ab6547b9190eed270f02bb5a13746435a7c (diff)
Fetch and save framebuffer size.
-rw-r--r--r600_demo.c7
-rw-r--r--r600_lib.h1
2 files changed, 6 insertions, 2 deletions
diff --git a/r600_demo.c b/r600_demo.c
index 054b682..1f34ee9 100644
--- a/r600_demo.c
+++ b/r600_demo.c
@@ -64,6 +64,7 @@ drmBufMapPtr BufMapPtr=NULL;
volatile void *registers=NULL;
void *framebuffer=NULL;
+int framebuffer_size=0;
int display_width, display_height;
uint32_t display_gpu; // Should be 64bit, but is currently 32bit address in R6xx, R7xx chips
@@ -166,6 +167,7 @@ void GetMaps(void)
typename = "FB";
if((r=drmMap(drmFD, offset, size, &framebuffer))<0)
drmError(r, "drm: DRM_FRAME_BUFFER");
+ framebuffer_size = size;
break;
case DRM_REGISTERS:
typename = "REG";
@@ -607,6 +609,7 @@ int main(int argc, char *argv[])
reg_write32 (SCRATCH_REG7, 0);
adapter.framebuffer = framebuffer;
+ adapter.framebuffer_size = framebuffer_size;
if (verbose >= 2)
fprintf(stderr, "framebuffer cpu %p, gpu 0x" PRINTF_UINT64_HEX "\n",
framebuffer, adapter.framebuffer_gpu);
@@ -625,8 +628,8 @@ int main(int argc, char *argv[])
adapter.depth_height = 480;
if (verbose >= 1) {
- fprintf (stderr, "\nfb: gpu 0x" PRINTF_UINT64_HEX ", cpu %p\n",
- adapter.framebuffer_gpu, adapter.framebuffer);
+ fprintf (stderr, "\nfb: gpu 0x" PRINTF_UINT64_HEX ", cpu %p, size 0x" PRINTF_UINT64_HEX "\n",
+ adapter.framebuffer_gpu, adapter.framebuffer, adapter.framebuffer_size);
fprintf (stderr, "display: gpu 0x" PRINTF_UINT64_HEX ", cpu %p (%dx%d) @%d\n",
adapter.display_gpu, adapter.display, adapter.display_width, adapter.display_height, adapter.display_pitch);
fprintf (stderr, "color RT: gpu 0x" PRINTF_UINT64_HEX " (%dx%d)\n",
diff --git a/r600_lib.h b/r600_lib.h
index 05c08c7..9653888 100644
--- a/r600_lib.h
+++ b/r600_lib.h
@@ -78,6 +78,7 @@ typedef struct {
void *framebuffer;
uint64_t framebuffer_gpu;
+ uint64_t framebuffer_size;
void *display;
uint64_t display_gpu;