17ec681f3Smrg#ifndef _DRISW_API_H_
27ec681f3Smrg#define _DRISW_API_H_
37ec681f3Smrg
47ec681f3Smrg#include "pipe/p_compiler.h"
57ec681f3Smrg#include "sw_winsys.h"
67ec681f3Smrg
77ec681f3Smrgstruct pipe_screen;
87ec681f3Smrgstruct dri_drawable;
97ec681f3Smrg
107ec681f3Smrg/**
117ec681f3Smrg * This callback struct is intended for the winsys to call the loader.
127ec681f3Smrg */
137ec681f3Smrgstruct drisw_loader_funcs
147ec681f3Smrg{
157ec681f3Smrg   void (*get_image) (struct dri_drawable *dri_drawable,
167ec681f3Smrg                      int x, int y, unsigned width, unsigned height, unsigned stride,
177ec681f3Smrg                      void *data);
187ec681f3Smrg   void (*put_image) (struct dri_drawable *dri_drawable,
197ec681f3Smrg                      void *data, unsigned width, unsigned height);
207ec681f3Smrg   void (*put_image2) (struct dri_drawable *dri_drawable,
217ec681f3Smrg                       void *data, int x, int y, unsigned width, unsigned height, unsigned stride);
227ec681f3Smrg   void (*put_image_shm) (struct dri_drawable *dri_drawable,
237ec681f3Smrg                          int shmid, char *shmaddr, unsigned offset, unsigned offset_x,
247ec681f3Smrg                          int x, int y, unsigned width, unsigned height, unsigned stride);
257ec681f3Smrg};
267ec681f3Smrg
277ec681f3Smrg#endif
28