Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4358 Serge 1
/**************************************************************************
2
 *
3
 * Copyright 2010 VMware, Inc.
4
 * All Rights Reserved.
5
 *
6
 * Permission is hereby granted, free of charge, to any person obtaining a
7
 * copy of this software and associated documentation files (the
8
 * "Software"), to deal in the Software without restriction, including
9
 * without limitation the rights to use, copy, modify, merge, publish,
10
 * distribute, sub license, and/or sell copies of the Software, and to
11
 * permit persons to whom the Software is furnished to do so, subject to
12
 * the following conditions:
13
 *
14
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
17
 * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
18
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20
 * USE OR OTHER DEALINGS IN THE SOFTWARE.
21
 *
22
 * The above copyright notice and this permission notice (including the
23
 * next paragraph) shall be included in all copies or substantial portions
24
 * of the Software.
25
 *
26
 **************************************************************************/
27
 
28
/**
29
 * @file
30
 * Null software rasterizer winsys.
31
 *
32
 * There is no present support. Framebuffer data needs to be obtained via
33
 * transfers.
34
 *
35
 * @author Jose Fonseca
36
 */
37
 
38
#include 
39
 
40
#include "pipe/p_format.h"
41
#include "util/u_memory.h"
42
#include "state_tracker/sw_winsys.h"
43
#include "null_sw_winsys.h"
44
 
45
 
46
static boolean
47
null_sw_is_displaytarget_format_supported(struct sw_winsys *ws,
48
                                          unsigned tex_usage,
49
                                          enum pipe_format format )
50
{
51
   return FALSE;
52
}
53
 
54
 
55
static void *
56
null_sw_displaytarget_map(struct sw_winsys *ws,
57
                          struct sw_displaytarget *dt,
58
                          unsigned flags )
59
{
60
   assert(0);
61
   return NULL;
62
}
63
 
64
 
65
static void
66
null_sw_displaytarget_unmap(struct sw_winsys *ws,
67
                            struct sw_displaytarget *dt )
68
{
69
   assert(0);
70
}
71
 
72
 
73
static void
74
null_sw_displaytarget_destroy(struct sw_winsys *winsys,
75
                              struct sw_displaytarget *dt)
76
{
77
   assert(0);
78
}
79
 
80
 
81
static struct sw_displaytarget *
82
null_sw_displaytarget_create(struct sw_winsys *winsys,
83
                             unsigned tex_usage,
84
                             enum pipe_format format,
85
                             unsigned width, unsigned height,
86
                             unsigned alignment,
87
                             unsigned *stride)
88
{
89
   fprintf(stderr, "null_sw_displaytarget_create() returning NULL\n");
90
   return NULL;
91
}
92
 
93
 
94
static struct sw_displaytarget *
95
null_sw_displaytarget_from_handle(struct sw_winsys *winsys,
96
                                  const struct pipe_resource *templat,
97
                                  struct winsys_handle *whandle,
98
                                  unsigned *stride)
99
{
100
   return NULL;
101
}
102
 
103
 
104
static boolean
105
null_sw_displaytarget_get_handle(struct sw_winsys *winsys,
106
                                 struct sw_displaytarget *dt,
107
                                 struct winsys_handle *whandle)
108
{
109
   assert(0);
110
   return FALSE;
111
}
112
 
113
 
114
static void
115
null_sw_displaytarget_display(struct sw_winsys *winsys,
116
                              struct sw_displaytarget *dt,
117
                              void *context_private)
118
{
119
   assert(0);
120
}
121
 
122
 
123
static void
124
null_sw_destroy(struct sw_winsys *winsys)
125
{
126
   FREE(winsys);
127
}
128
 
129
 
130
struct sw_winsys *
131
null_sw_create(void)
132
{
133
   static struct sw_winsys *winsys;
134
 
135
   winsys = CALLOC_STRUCT(sw_winsys);
136
   if (!winsys)
137
      return NULL;
138
 
139
   winsys->destroy = null_sw_destroy;
140
   winsys->is_displaytarget_format_supported = null_sw_is_displaytarget_format_supported;
141
   winsys->displaytarget_create = null_sw_displaytarget_create;
142
   winsys->displaytarget_from_handle = null_sw_displaytarget_from_handle;
143
   winsys->displaytarget_get_handle = null_sw_displaytarget_get_handle;
144
   winsys->displaytarget_map = null_sw_displaytarget_map;
145
   winsys->displaytarget_unmap = null_sw_displaytarget_unmap;
146
   winsys->displaytarget_display = null_sw_displaytarget_display;
147
   winsys->displaytarget_destroy = null_sw_displaytarget_destroy;
148
 
149
   return winsys;
150
}