/* * Copyright © 2010 Jerome Glisse * * This file is free software; you can redistribute it and/or modify * it under the terms of version 2 of the GNU General Public License * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef R600_ATOM_H #define R600_ATOM_H #include "r600_atom_kernel.h" #include "list.h" struct radeon_device; /* public API */ struct drm_radeon_atom { u32 type; u32 id; void *data; }; struct r600_state_container { void *data; u32 nbo; struct radeon_bo *bo[32]; }; /* R600 */ extern void r600_shader_disassemble(u32 *bytecode, u32 ndwords); extern int r600_atoms_init(struct radeon_device *rdev); extern void r600_atoms_release(struct radeon_device *rdev); extern struct radeon_atom *r600_atom_create(struct radeon_device *rdev, struct drm_radeon_atom *patom); extern int r600_batches_flush(struct radeon_device *rdev); #endif