-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Michel Dänzer wrote: > On Wed, 2005-08-24 at 09:18 -0600, Brian Paul wrote: > >>1. The location of the object in memory (perhaps the framebuffer has >> to be at the start of memory). >>2. Particular byte/word alignments >>3. Can we use VRAM and/or AGP memory for the object? >>4. Can the object can be lost asynchronously (Pbuffers)? >>... plus others I'm surely forgetting or not aware of. > > Yes, I think these and maybe more should be handled via parameters when > allocating a memory object. What I'm not sure is whether it's better to > specify these specific but HW-dependent attributes or maybe some kind of > abstract attributes (can be rendered to/from / scanned out / ...) which > are then translated into specific constraints by a HW specific part of > the memory manager. I'm leaning towards the latter.
That's what the BUFFLAG_ bits in memory_buffer.h were for. When a memory pool is created, the driver specifies a set of attributes for it. For example, cards like the G400 that can put the depth buffer in AGP memory would have (BUFFLAG_DEPTH_BUFFER | BUFFLAG_STENCIL_BUFFER | BUFFLAG_TEXTURE | BUFFLAG_COMMAND) for the AGP pool. A card like the R200 that can't put the depth buffer in AGP but can pull vertex data from AGP would have (BUFFLAG_TEXTURE | BUFFLAG_VERTEX | BUFFLAG_COMMAND). When an object is associated with a region ID (*not* when it is committed to memory, see my other post) these bits are associated with it. The allocator then searches for a pool that meets all the requirements. Note that per-region requirements are only kept (or needed) within the user-mode driver. Since the kernel doesn't make any decisions about where to put an object, it doesn't care. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (GNU/Linux) iD4DBQFDDJh2X1gOwKyEAw8RAj5vAJi8jT6pmLFPlPIRdvNCBqeoKV0yAJ9fvPo+ U7X5nlyIKYoeXL6tECfjfQ== =X1VX -----END PGP SIGNATURE----- ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf -- _______________________________________________ Dri-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dri-devel
