summaryrefslogtreecommitdiff
path: root/r600_winsys.h
diff options
context:
space:
mode:
Diffstat (limited to 'r600_winsys.h')
-rw-r--r--r600_winsys.h74
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);