diff options
Diffstat (limited to 'r600_winsys.h')
-rw-r--r-- | r600_winsys.h | 74 |
1 files changed, 11 insertions, 63 deletions
diff --git a/r600_winsys.h b/r600_winsys.h index 11242c3..9897b51 100644 --- a/r600_winsys.h +++ b/r600_winsys.h @@ -17,76 +17,24 @@ #ifndef R600_WINSYS_H #define R600_WINSYS_H -#include "r600_atom.h" +#include "r600_atom_kernel.h" /* opaque structure */ struct radeon_device *rdev; struct radeon_atom *atom; - - -struct drm_r600_vs_buffer { - u32 handle; - u32 resource_id; - u32 sq_vtx_constant_word0; - u32 sq_vtx_constant_word2; - u32 sq_vtx_constant_word3; -}; - -struct drm_r600_vs_element { - u32 buffer_id; - u32 semantic; - u32 sq_vtx_word0; - u32 sq_vtx_word1; - u32 sq_vtx_word2; -}; -struct drm_r600_vs_input { - u32 nelements; - u32 nbuffers; - struct drm_r600_vs_element elements[32]; - struct drm_r600_vs_buffer buffers[32]; -}; -struct r600_vs_input { - struct drm_r600_vs_input drm; - struct radeon_bo *bo[32]; - u32 nbo; -}; - -struct r600_vs_buffer { - struct drm_r600_vs_buffer drm; - struct radeon_bo *bo; -}; - -struct drm_r600_batch { - struct radeon_atom *vs_constants; - struct radeon_atom *ps_constants; - struct radeon_atom *blend; - struct radeon_atom *cb; - struct radeon_atom *cb_cntl; - struct radeon_atom *pa; - struct radeon_atom *vport; - struct radeon_atom *db; - struct radeon_atom *db_cntl; - struct radeon_atom *vs_shader; - struct radeon_atom *ps_shader; - struct r600_vs_input inputs; -}; -/* vs_shader - vertex shader */ -struct drm_r600_vs_shader { - u32 sq_pgm_resources_vs; - u8 input_semantic[32]; - u8 input_gpr[32]; - u8 ninputs; - u8 output_semantic[32]; - u8 fog_output_id; - u8 noutputs; - u32 ndwords; - u32 opcodes[512]; +struct r600_request { + u32 type; + void *data; + u32 nbo; + struct radeon_bo *bo[32]; }; -/* atom */ -extern int radeon_batches_queue(struct radeon_device *rdev, void *batch); -extern int radeon_batches_flush(struct radeon_device *rdev); +extern int r600_batches_queue(struct radeon_device*, struct r600_request*); +extern int r600_batches_flush(struct radeon_device*); +extern struct radeon_atom *r600_atom_create(struct radeon_device*, struct r600_request*); +extern int r600_atoms_init(struct radeon_device *rdev); +extern void r600_atoms_release(struct radeon_device *rdev); /* core functions */ extern int radeon_device_init(struct radeon_device **rdev, struct radeon_bo_manager *bom, int fd); |