1. A method for sharing memory between a central processing unit (CPU) and an input/output (I/O) device of a computing device, comprising: allocating a surface within a physical memory; mapping the surface to a plurality of virtual memory addresses within a CPU page table; and mapping the surface to a plurality of graphics virtual memory addresses within an I/O device page table.