]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/device-ti-proprietary-open.git/blob - jacinto6/sgx_src/eurasia_km/services4/srvkm/devices/sgx/sgxconfig.h
jacinto6: sgx: update DDK version to 1.12/2701748
[android-sdk/device-ti-proprietary-open.git] / jacinto6 / sgx_src / eurasia_km / services4 / srvkm / devices / sgx / sgxconfig.h
1 /*************************************************************************/ /*!
2 @Title          device configuration
3 @Copyright      Copyright (c) Imagination Technologies Ltd. All Rights Reserved
4 @License        Dual MIT/GPLv2
6 The contents of this file are subject to the MIT license as set out below.
8 Permission is hereby granted, free of charge, to any person obtaining a copy
9 of this software and associated documentation files (the "Software"), to deal
10 in the Software without restriction, including without limitation the rights
11 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 copies of the Software, and to permit persons to whom the Software is
13 furnished to do so, subject to the following conditions:
15 The above copyright notice and this permission notice shall be included in
16 all copies or substantial portions of the Software.
18 Alternatively, the contents of this file may be used under the terms of
19 the GNU General Public License Version 2 ("GPL") in which case the provisions
20 of GPL are applicable instead of those above.
22 If you wish to allow use of your version of this file only under the terms of
23 GPL, and not to allow others to use your version of this file under the terms
24 of the MIT license, indicate your decision by deleting the provisions above
25 and replace them with the notice and other provisions required by GPL as set
26 out in the file called "GPL-COPYING" included in this distribution. If you do
27 not delete the provisions above, a recipient may use your version of this file
28 under the terms of either the MIT license or GPL.
30 This License is also included in this distribution in the file called
31 "MIT-COPYING".
33 EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
34 PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
35 BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
36 PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
37 COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
38 IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
39 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
40 */ /**************************************************************************/
42 #ifndef __SGXCONFIG_H__
43 #define __SGXCONFIG_H__
45 #include "sgxdefs.h"
47 #define DEV_DEVICE_TYPE                 PVRSRV_DEVICE_TYPE_SGX
48 #define DEV_DEVICE_CLASS                PVRSRV_DEVICE_CLASS_3D
50 #define DEV_MAJOR_VERSION               1
51 #define DEV_MINOR_VERSION               0
53 #if defined(SUPPORT_EXTERNAL_SYSTEM_CACHE)
54 #define SGX_KERNEL_DATA_HEAP_OFFSET             0x00001000
55 #else
56 #define SGX_KERNEL_DATA_HEAP_OFFSET             0x00000000
57 #endif
60 #if SGX_FEATURE_ADDRESS_SPACE_SIZE == 32
61 #if defined(FIX_HW_BRN_31620)
62         #if defined(SGX_FEATURE_2D_HARDWARE)
63         #define SGX_2D_HEAP_BASE                                         0x04000000
64         #define SGX_2D_HEAP_SIZE                                        (0x08000000-0x04000000-0x00001000)
65         #endif
67         #define SGX_GENERAL_HEAP_BASE                            0x08000000
68         #define SGX_GENERAL_HEAP_SIZE                           (0xB8000000-0x00001000)
70         /*
71          * For hybrid PB we have to split virtual PB range between the shared
72          * PB and percontext PB due to the fact we only have one heap config
73          * per device.
74          * If hybrid PB is enabled we split the space according to HYBRID_SHARED_PB_SIZE.
75          * i.e. HYBRID_SHARED_PB_SIZE defines the size of the shared PB and the
76          * remainder is the size of the percontext PB.
77          * If hybrid PB is not enabled then we still create both heaps (helps keep
78          * the code clean) and define the size of the unused one to 0
79          */
81         #define SGX_3DPARAMETERS_HEAP_SIZE                      0x10000000
83         /* By default we split the PB 50/50 */
84 #if !defined(HYBRID_SHARED_PB_SIZE)
85         #define HYBRID_SHARED_PB_SIZE                           (SGX_3DPARAMETERS_HEAP_SIZE >> 1)
86 #endif
87 #if defined(SUPPORT_HYBRID_PB)
88         #define SGX_SHARED_3DPARAMETERS_SIZE                    (HYBRID_SHARED_PB_SIZE)
89         #define SGX_SHARED_3DPARAMETERS_HEAP_SIZE               (HYBRID_SHARED_PB_SIZE-0x00001000)
90         #define SGX_PERCONTEXT_3DPARAMETERS_HEAP_SIZE           (SGX_3DPARAMETERS_HEAP_SIZE - SGX_SHARED_3DPARAMETERS_SIZE - 0x00001000)
91 #else
92 #if defined(SUPPORT_PERCONTEXT_PB)
93         #define SGX_SHARED_3DPARAMETERS_SIZE                    0
94         #define SGX_SHARED_3DPARAMETERS_HEAP_SIZE               0
95         #define SGX_PERCONTEXT_3DPARAMETERS_HEAP_SIZE           (SGX_3DPARAMETERS_HEAP_SIZE - 0x00001000)
96 #endif
97 #if defined(SUPPORT_SHARED_PB)
98         #define SGX_SHARED_3DPARAMETERS_SIZE                    SGX_3DPARAMETERS_HEAP_SIZE
99         #define SGX_SHARED_3DPARAMETERS_HEAP_SIZE               (SGX_3DPARAMETERS_HEAP_SIZE - 0x00001000)
100         #define SGX_PERCONTEXT_3DPARAMETERS_HEAP_SIZE           0
101 #endif
102 #endif
104         #define SGX_SHARED_3DPARAMETERS_HEAP_BASE                0xC0000000
105         /* Size is defined above */
107         #define SGX_PERCONTEXT_3DPARAMETERS_HEAP_BASE            (SGX_SHARED_3DPARAMETERS_HEAP_BASE + SGX_SHARED_3DPARAMETERS_SIZE)
108         /* Size is defined above */
110         #define SGX_TADATA_HEAP_BASE                             0xD0000000
111         #define SGX_TADATA_HEAP_SIZE                            (0x0D000000-0x00001000)
113         #define SGX_SYNCINFO_HEAP_BASE                           0xE0000000
114         #define SGX_SYNCINFO_HEAP_SIZE                          (0x01000000-0x00001000)
116         #define SGX_PDSPIXEL_CODEDATA_HEAP_BASE          0xE4000000
117         #define SGX_PDSPIXEL_CODEDATA_HEAP_SIZE         (0x02000000-0x00001000)
119         #define SGX_KERNEL_CODE_HEAP_BASE                        0xE8000000
120         #define SGX_KERNEL_CODE_HEAP_SIZE                       (0x00080000-0x00001000)
122         #define SGX_PDSVERTEX_CODEDATA_HEAP_BASE         0xEC000000
123         #define SGX_PDSVERTEX_CODEDATA_HEAP_SIZE        (0x01C00000-0x00001000)
125         #define SGX_KERNEL_DATA_HEAP_BASE                       (0xF0000000+SGX_KERNEL_DATA_HEAP_OFFSET)
126         #define SGX_KERNEL_DATA_HEAP_SIZE                       (0x03000000-(0x00001000+SGX_KERNEL_DATA_HEAP_OFFSET))
128         /* Actual Pixel and Vertex shared heaps sizes may be reduced by
129          * override - see SGX_USE_CODE_SEGMENT_RANGE_BITS.*/
130         #define SGX_PIXELSHADER_HEAP_BASE                        0xF4000000
131         #define SGX_PIXELSHADER_HEAP_SIZE                       (0x05000000-0x00001000)
132         
133         #define SGX_VERTEXSHADER_HEAP_BASE                       0xFC000000
134         #define SGX_VERTEXSHADER_HEAP_SIZE                      (0x02000000-0x00001000)
135 #else /* FIX_HW_BRN_31620 */
136         #if defined(SGX_FEATURE_2D_HARDWARE)
137         #define SGX_2D_HEAP_BASE                                         0x00100000
138         #define SGX_2D_HEAP_SIZE                                        (0x08000000-0x00100000-0x00001000)
139         #endif
141         #if defined(SUPPORT_SGX_GENERAL_MAPPING_HEAP)
142         #define SGX_GENERAL_MAPPING_HEAP_BASE            0x08000000
143         #define SGX_GENERAL_MAPPING_HEAP_SIZE           (0x08000000-0x00001000)
144         #endif
146         #if !defined(SUPPORT_MEMORY_TILING)
147                 #define SGX_GENERAL_HEAP_BASE                            0x10000000
148                 #define SGX_GENERAL_HEAP_SIZE                           (0xC2000000-0x00001000)
149         #else
150                 #include <sgx_msvdx_defs.h>
151                 /* Create heaps with memory tiling enabled.
152                  * SGX HW limit is 10 heaps.
153                  */
154                 /* Tiled heap space is taken from general heap */
155                 #define SGX_GENERAL_HEAP_BASE                            0x10000000
156                 #define SGX_GENERAL_HEAP_SIZE                           (0xB5000000-0x00001000)
158                 #define SGX_VPB_TILED_HEAP_STRIDE                       TILING_TILE_STRIDE_2K
159                 #define SGX_VPB_TILED_HEAP_BASE          0xC5000000
160                 #define SGX_VPB_TILED_HEAP_SIZE (0x0D000000-0x00001000)
162                 /* Check tiled heap base alignment */
163                 #if((SGX_VPB_TILED_HEAP_BASE & SGX_BIF_TILING_ADDR_INV_MASK) != 0)
164                 #error "sgxconfig.h: SGX_VPB_TILED_HEAP has insufficient alignment"
165                 #endif
167         #endif /* SUPPORT_MEMORY_TILING */
169         /*
170          * For hybrid PB we have to split virtual PB range between the shared
171          * PB and percontext PB due to the fact we only have one heap config
172          * per device.
173          * If hybrid PB is enabled we split the space according to HYBRID_SHARED_PB_SIZE.
174          * i.e. HYBRID_SHARED_PB_SIZE defines the size of the shared PB and the
175          * remainder is the size of the percontext PB.
176          * If hybrid PB is not enabled then we still create both heaps (helps keep
177          * the code clean) and define the size of the unused one to 0
178          */
180         #define SGX_3DPARAMETERS_HEAP_SIZE                      0x10000000
182         /* By default we split the PB 50/50 */
183 #if !defined(HYBRID_SHARED_PB_SIZE)
184         #define HYBRID_SHARED_PB_SIZE                           (SGX_3DPARAMETERS_HEAP_SIZE >> 1)
185 #endif
186 #if defined(SUPPORT_HYBRID_PB)
187         #define SGX_SHARED_3DPARAMETERS_SIZE                    (HYBRID_SHARED_PB_SIZE)
188         #define SGX_SHARED_3DPARAMETERS_HEAP_SIZE               (HYBRID_SHARED_PB_SIZE-0x00001000)
189         #define SGX_PERCONTEXT_3DPARAMETERS_HEAP_SIZE           (SGX_3DPARAMETERS_HEAP_SIZE - SGX_SHARED_3DPARAMETERS_SIZE - 0x00001000)
190 #else
191 #if defined(SUPPORT_PERCONTEXT_PB)
192         #define SGX_SHARED_3DPARAMETERS_SIZE                    0
193         #define SGX_SHARED_3DPARAMETERS_HEAP_SIZE               0
194         #define SGX_PERCONTEXT_3DPARAMETERS_HEAP_SIZE           (SGX_3DPARAMETERS_HEAP_SIZE - 0x00001000)
195 #endif
196 #if defined(SUPPORT_SHARED_PB)
197         #define SGX_SHARED_3DPARAMETERS_SIZE                    SGX_3DPARAMETERS_HEAP_SIZE
198         #define SGX_SHARED_3DPARAMETERS_HEAP_SIZE               (SGX_3DPARAMETERS_HEAP_SIZE - 0x00001000)
199         #define SGX_PERCONTEXT_3DPARAMETERS_HEAP_SIZE           0
200 #endif
201 #endif
203         #define SGX_SHARED_3DPARAMETERS_HEAP_BASE                0xD2000000
204         /* Size is defined above */
206         #define SGX_PERCONTEXT_3DPARAMETERS_HEAP_BASE            (SGX_SHARED_3DPARAMETERS_HEAP_BASE + SGX_SHARED_3DPARAMETERS_SIZE)
207         /* Size is defined above */
209         #define SGX_TADATA_HEAP_BASE                             0xE2000000
210         #define SGX_TADATA_HEAP_SIZE                            (0x0D000000-0x00001000)
212         #define SGX_SYNCINFO_HEAP_BASE                           0xEF000000
213         #define SGX_SYNCINFO_HEAP_SIZE                          (0x01000000-0x00001000)
215         #define SGX_PDSPIXEL_CODEDATA_HEAP_BASE          0xF0000000
216         #define SGX_PDSPIXEL_CODEDATA_HEAP_SIZE         (0x02000000-0x00001000)
218         #define SGX_KERNEL_CODE_HEAP_BASE                        0xF2000000
219         #define SGX_KERNEL_CODE_HEAP_SIZE                       (0x00080000-0x00001000)
221         #define SGX_PDSVERTEX_CODEDATA_HEAP_BASE         0xF2400000
222         #define SGX_PDSVERTEX_CODEDATA_HEAP_SIZE        (0x01C00000-0x00001000)
224         #define SGX_KERNEL_DATA_HEAP_BASE                       (0xF4000000+SGX_KERNEL_DATA_HEAP_OFFSET)
225         #define SGX_KERNEL_DATA_HEAP_SIZE                       (0x05000000-(0x00001000+SGX_KERNEL_DATA_HEAP_OFFSET))
227         /* Actual Pixel and Vertex shared heaps sizes may be reduced by
228          * override - see SGX_USE_CODE_SEGMENT_RANGE_BITS.*/
229         #define SGX_PIXELSHADER_HEAP_BASE                        0xF9000000
230         #define SGX_PIXELSHADER_HEAP_SIZE                       (0x05000000-0x00001000)
231         
232         #define SGX_VERTEXSHADER_HEAP_BASE                       0xFE000000
233         #define SGX_VERTEXSHADER_HEAP_SIZE                      (0x02000000-0x00001000)
234 #endif /* FIX_HW_BRN_31620 */
235         /* signal we've identified the core by the build */
236         #define SGX_CORE_IDENTIFIED
237 #endif /* SGX_FEATURE_ADDRESS_SPACE_SIZE == 32 */
239 #if SGX_FEATURE_ADDRESS_SPACE_SIZE == 28
241 #if defined(SUPPORT_SGX_GENERAL_MAPPING_HEAP)
242         #define SGX_GENERAL_MAPPING_HEAP_BASE            0x00001000
243         #define SGX_GENERAL_MAPPING_HEAP_SIZE           (0x01800000-0x00001000-0x00001000)
245         #define SGX_GENERAL_HEAP_BASE                            0x01800000
246         #define SGX_GENERAL_HEAP_SIZE                           (0x07000000-0x00001000)
248 #else
249         #define SGX_GENERAL_HEAP_BASE                            0x00001000
250 #if defined(SUPPORT_LARGE_GENERAL_HEAP)
251         #define SGX_GENERAL_HEAP_SIZE                           (0x0B800000-0x00001000-0x00001000)
252 #else
253         #define SGX_GENERAL_HEAP_SIZE                           (0x08800000-0x00001000-0x00001000)
254 #endif
255 #endif
257         /*
258          * For hybrid PB we have to split virtual PB range between the shared
259          * PB and percontext PB due to the fact we only have one heap config
260          * per device.
261          * If hybrid PB is enabled we split the space according to HYBRID_SHARED_PB_SIZE.
262          * i.e. HYBRID_SHARED_PB_SIZE defines the size of the shared PB and the
263          * remainder is the size of the percontext PB.
264          * If hybrid PB is not enabled then we still create both heaps (helps keep
265          * the code clean) and define the size of the unused one to 0
266          */
267 #if defined(SUPPORT_LARGE_GENERAL_HEAP)
268         #define SGX_3DPARAMETERS_HEAP_SIZE                      0x01000000
269 #else
270         #define SGX_3DPARAMETERS_HEAP_SIZE                      0x04000000
271 #endif
273         /* By default we split the PB 50/50 */
274 #if !defined(HYBRID_SHARED_PB_SIZE)
275         #define HYBRID_SHARED_PB_SIZE                           (SGX_3DPARAMETERS_HEAP_SIZE >> 1)
276 #endif
277 #if defined(SUPPORT_HYBRID_PB)
278         #define SGX_SHARED_3DPARAMETERS_SIZE                    (HYBRID_SHARED_PB_SIZE)
279         #define SGX_SHARED_3DPARAMETERS_HEAP_SIZE               (HYBRID_SHARED_PB_SIZE-0x00001000)
280         #define SGX_PERCONTEXT_3DPARAMETERS_HEAP_SIZE           (SGX_3DPARAMETERS_HEAP_SIZE - SGX_SHARED_3DPARAMETERS_SIZE - 0x00001000)
281 #else
282 #if defined(SUPPORT_PERCONTEXT_PB)
283         #define SGX_SHARED_3DPARAMETERS_SIZE                    0
284         #define SGX_SHARED_3DPARAMETERS_HEAP_SIZE               0
285         #define SGX_PERCONTEXT_3DPARAMETERS_HEAP_SIZE           (SGX_3DPARAMETERS_HEAP_SIZE - 0x00001000)
286 #endif
287 #if defined(SUPPORT_SHARED_PB)
288         #define SGX_SHARED_3DPARAMETERS_SIZE                    SGX_3DPARAMETERS_HEAP_SIZE
289         #define SGX_SHARED_3DPARAMETERS_HEAP_SIZE               (SGX_3DPARAMETERS_HEAP_SIZE - 0x00001000)
290         #define SGX_PERCONTEXT_3DPARAMETERS_HEAP_SIZE           0
291 #endif
292 #endif
294 #if defined(SUPPORT_LARGE_GENERAL_HEAP)
295         #define SGX_SHARED_3DPARAMETERS_HEAP_BASE                0x0B800000
296 #else
297         #define SGX_SHARED_3DPARAMETERS_HEAP_BASE                0x08800000
298 #endif
300         /* Size is defined above */
302         #define SGX_PERCONTEXT_3DPARAMETERS_HEAP_BASE            (SGX_SHARED_3DPARAMETERS_HEAP_BASE + SGX_SHARED_3DPARAMETERS_SIZE)
303         /* Size is defined above */
305         #define SGX_TADATA_HEAP_BASE                             0x0C800000
306         #define SGX_TADATA_HEAP_SIZE                            (0x01000000-0x00001000)
308         #define SGX_SYNCINFO_HEAP_BASE                           0x0D800000
309         #define SGX_SYNCINFO_HEAP_SIZE                          (0x00400000-0x00001000)
311         #define SGX_PDSPIXEL_CODEDATA_HEAP_BASE          0x0DC00000
312         #define SGX_PDSPIXEL_CODEDATA_HEAP_SIZE         (0x00800000-0x00001000)
314         #define SGX_KERNEL_CODE_HEAP_BASE                        0x0E400000
315         #define SGX_KERNEL_CODE_HEAP_SIZE                       (0x00080000-0x00001000)
317         #define SGX_PDSVERTEX_CODEDATA_HEAP_BASE         0x0E800000
318         #define SGX_PDSVERTEX_CODEDATA_HEAP_SIZE        (0x00800000-0x00001000)
320         #define SGX_KERNEL_DATA_HEAP_BASE                       (0x0F000000+SGX_KERNEL_DATA_HEAP_OFFSET)
321         #define SGX_KERNEL_DATA_HEAP_SIZE                       (0x00400000-(0x00001000+SGX_KERNEL_DATA_HEAP_OFFSET))
323         #define SGX_PIXELSHADER_HEAP_BASE                        0x0F400000
324         #define SGX_PIXELSHADER_HEAP_SIZE                       (0x00500000-0x00001000)
326         #define SGX_VERTEXSHADER_HEAP_BASE                       0x0FC00000
327         #define SGX_VERTEXSHADER_HEAP_SIZE                      (0x00200000-0x00001000)
329         /* signal we've identified the core by the build */
330         #define SGX_CORE_IDENTIFIED
332 #endif /* SGX_FEATURE_ADDRESS_SPACE_SIZE == 28 */
334 #if !defined(SGX_CORE_IDENTIFIED)
335         #error "sgxconfig.h: ERROR: unspecified SGX Core version"
336 #endif
338 /*********************************************************************************
339  *
340  * SGX_PDSPIXEL_CODEDATA_HEAP_BASE + 64MB range must include PDSVERTEX_CODEDATA and KERNEL_CODE heaps
341  *
342  ********************************************************************************/
343 #if !defined (SGX_FEATURE_EDM_VERTEX_PDSADDR_FULL_RANGE)
344         #if ((SGX_KERNEL_CODE_HEAP_BASE + SGX_KERNEL_CODE_HEAP_SIZE - SGX_PDSPIXEL_CODEDATA_HEAP_BASE) >  0x4000000)
345                 #error "sgxconfig.h: ERROR: SGX_KERNEL_CODE_HEAP_BASE out of range of SGX_PDSPIXEL_CODEDATA_HEAP_BASE"
346         #endif
347         
348         #if ((SGX_PDSVERTEX_CODEDATA_HEAP_BASE + SGX_PDSVERTEX_CODEDATA_HEAP_SIZE - SGX_PDSPIXEL_CODEDATA_HEAP_BASE) >  0x4000000)
349                 #error "sgxconfig.h: ERROR: SGX_PDSVERTEX_CODEDATA_HEAP_BASE out of range of SGX_PDSPIXEL_CODEDATA_HEAP_BASE"
350         #endif
351 #endif  
353 /*********************************************************************************
354  *
355  * The General Mapping heap must be within the 2D requestor range of the 2D heap base
356  *
357  ********************************************************************************/
358 #if defined(SGX_FEATURE_2D_HARDWARE) && defined(SUPPORT_SGX_GENERAL_MAPPING_HEAP)
359         #if ((SGX_GENERAL_MAPPING_HEAP_BASE + SGX_GENERAL_MAPPING_HEAP_SIZE - SGX_2D_HEAP_BASE) >= EUR_CR_BIF_TWOD_REQ_BASE_ADDR_MASK)
360                 #error "sgxconfig.h: ERROR: SGX_GENERAL_MAPPING_HEAP inaccessable by 2D requestor"
361         #endif
362 #endif
364 /*********************************************************************************
365  *
366  * The kernel code heap base must be aligned to a USSE code page
367  *
368  ********************************************************************************/
369 #if defined (EURASIA_USE_CODE_PAGE_SIZE)
370         #if ((SGX_KERNEL_CODE_HEAP_BASE & (EURASIA_USE_CODE_PAGE_SIZE - 1)) != 0)
371                 #error "sgxconfig.h: ERROR: Kernel code heap base misalignment"
372         #endif
373 #endif
375 /*********************************************************************************
376  *
377  * Heap overlap check
378  *
379  ********************************************************************************/
380 #if defined(SGX_FEATURE_2D_HARDWARE)
381         #if defined(SUPPORT_SGX_GENERAL_MAPPING_HEAP)
382                 #if ((SGX_2D_HEAP_BASE + SGX_2D_HEAP_SIZE) >= SGX_GENERAL_MAPPING_HEAP_BASE)
383                         #error "sgxconfig.h: ERROR: SGX_2D_HEAP overlaps SGX_GENERAL_MAPPING_HEAP"
384                 #endif
385         #else
386                 #if ((SGX_2D_HEAP_BASE + SGX_2D_HEAP_SIZE) >= SGX_GENERAL_HEAP_BASE)
387                         #error "sgxconfig.h: ERROR: SGX_2D_HEAP overlaps SGX_GENERAL_HEAP_BASE"
388                 #endif
389         #endif
390 #endif
392 #if defined(SUPPORT_SGX_GENERAL_MAPPING_HEAP)
393         #if ((SGX_GENERAL_MAPPING_HEAP_BASE + SGX_GENERAL_MAPPING_HEAP_SIZE) >= SGX_GENERAL_HEAP_BASE)
394                 #error "sgxconfig.h: ERROR: SGX_GENERAL_MAPPING_HEAP overlaps SGX_GENERAL_HEAP"
395         #endif
396 #endif
398 #if defined(SUPPORT_HYBRID_PB)
399         #if ((HYBRID_SHARED_PB_SIZE + 0x000001000) > SGX_3DPARAMETERS_HEAP_SIZE)
400                 #error "sgxconfig.h: ERROR: HYBRID_SHARED_PB_SIZE too large"
401         #endif
402 #endif
404 #if defined(SUPPORT_MEMORY_TILING)
405         #if ((SGX_GENERAL_HEAP_BASE + SGX_GENERAL_HEAP_SIZE) >= SGX_VPB_TILED_HEAP_BASE)
406                 #error "sgxconfig.h: ERROR: SGX_GENERAL_HEAP overlaps SGX_VPB_TILED_HEAP"
407         #endif
408         #if ((SGX_VPB_TILED_HEAP_BASE + SGX_VPB_TILED_HEAP_SIZE) >= SGX_SHARED_3DPARAMETERS_HEAP_BASE)
409                 #error "sgxconfig.h: ERROR: SGX_VPB_TILED_HEAP overlaps SGX_3DPARAMETERS_HEAP"
410         #endif
411 #else
412         #if ((SGX_GENERAL_HEAP_BASE + SGX_GENERAL_HEAP_SIZE) >= SGX_SHARED_3DPARAMETERS_HEAP_BASE)
413                 #error "sgxconfig.h: ERROR: SGX_GENERAL_HEAP overlaps SGX_3DPARAMETERS_HEAP"
414         #endif
415 #endif
417 #if (((SGX_PERCONTEXT_3DPARAMETERS_HEAP_BASE + SGX_PERCONTEXT_3DPARAMETERS_HEAP_SIZE) >= SGX_TADATA_HEAP_BASE) && (SGX_PERCONTEXT_3DPARAMETERS_HEAP_SIZE > 0))
418         #error "sgxconfig.h: ERROR: SGX_PERCONTEXT_3DPARAMETERS_HEAP_BASE overlaps SGX_TADATA_HEAP"
419 #endif
421 #if ((SGX_TADATA_HEAP_BASE + SGX_TADATA_HEAP_SIZE) >= SGX_SYNCINFO_HEAP_BASE)
422         #error "sgxconfig.h: ERROR: SGX_TADATA_HEAP overlaps SGX_SYNCINFO_HEAP"
423 #endif
425 #if ((SGX_SYNCINFO_HEAP_BASE + SGX_SYNCINFO_HEAP_SIZE) >= SGX_PDSPIXEL_CODEDATA_HEAP_BASE)
426         #error "sgxconfig.h: ERROR: SGX_SYNCINFO_HEAP overlaps SGX_PDSPIXEL_CODEDATA_HEAP"
427 #endif
429 #if ((SGX_PDSPIXEL_CODEDATA_HEAP_BASE + SGX_PDSPIXEL_CODEDATA_HEAP_SIZE) >= SGX_KERNEL_CODE_HEAP_BASE)
430         #error "sgxconfig.h: ERROR: SGX_PDSPIXEL_CODEDATA_HEAP overlaps SGX_KERNEL_CODE_HEAP"
431 #endif
433 #if ((SGX_KERNEL_CODE_HEAP_BASE + SGX_KERNEL_CODE_HEAP_SIZE) >= SGX_PDSVERTEX_CODEDATA_HEAP_BASE)
434         #error "sgxconfig.h: ERROR: SGX_KERNEL_CODE_HEAP overlaps SGX_PDSVERTEX_CODEDATA_HEAP"
435 #endif
437 #if ((SGX_PDSVERTEX_CODEDATA_HEAP_BASE + SGX_PDSVERTEX_CODEDATA_HEAP_SIZE) >= SGX_KERNEL_DATA_HEAP_BASE)
438         #error "sgxconfig.h: ERROR: SGX_PDSVERTEX_CODEDATA_HEAP overlaps SGX_KERNEL_DATA_HEAP"
439 #endif
441 #if ((SGX_KERNEL_DATA_HEAP_BASE + SGX_KERNEL_DATA_HEAP_SIZE) >= SGX_PIXELSHADER_HEAP_BASE)
442         #error "sgxconfig.h: ERROR: SGX_KERNEL_DATA_HEAP overlaps SGX_PIXELSHADER_HEAP"
443 #endif
445 #if ((SGX_PIXELSHADER_HEAP_BASE + SGX_PIXELSHADER_HEAP_SIZE) >= SGX_VERTEXSHADER_HEAP_BASE)
446         #error "sgxconfig.h: ERROR: SGX_PIXELSHADER_HEAP overlaps SGX_VERTEXSHADER_HEAP"
447 #endif
449 #if ((SGX_VERTEXSHADER_HEAP_BASE + SGX_VERTEXSHADER_HEAP_SIZE) < SGX_VERTEXSHADER_HEAP_BASE)
450         #error "sgxconfig.h: ERROR: SGX_VERTEXSHADER_HEAP_BASE size cause wraparound"
451 #endif
453 #endif /* __SGXCONFIG_H__ */
455 /*****************************************************************************
456  End of file (sgxconfig.h)
457 *****************************************************************************/