Clone of mesa.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ben Skeggs 263de4b814 nv40: attempt at obeying sampler min_lod/max_lod/lod_bias 17 years ago
..
cell rewrite the way we handle ir in llvm code 17 years ago
cso_cache fix a mem leak, document another existing leak 18 years ago
draw gallium: initial code for wide/AA line drawing 17 years ago
failover failover: several fixes to failover pipe module 17 years ago
i915simple gallium: clean-up, simplification of mipmapped textures 17 years ago
i965simple gallium: clean-up, simplification of mipmapped textures 17 years ago
llvm start genering soa type code in llvm paths 17 years ago
nouveau nouveau: interface updates 17 years ago
nv40 nv40: attempt at obeying sampler min_lod/max_lod/lod_bias 17 years ago
nv50 nouveau: interface updates 17 years ago
pipebuffer pipebuffer: Fix reversed assertion. 17 years ago
softpipe gallium: clean-up, simplification of mipmapped textures 17 years ago
tgsi fix comment typos 17 years ago
util gallium: Bring latest fixes. 17 years ago
xlib gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ code 17 years ago
Makefile Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 17 years ago
Makefile.template Back-port miscellaneous fixes from internal branch (mostly portability fixes). 17 years ago
README.portability gallium: Portability guidelines. 17 years ago
SConscript gallium: Add SCons as alternative build system for Gallium. 17 years ago
p_compiler.h gallium: Use p_debug.h instead of non-portable stdio.h/assert.h functions. 17 years ago
p_context.h gallium: change pipe->texture_create() to operate like the CSO functions 17 years ago
p_debug.h gallium: Bring latest fixes. 17 years ago
p_defines.h gallium: add bitmap/drawpixels texcoord bias support 17 years ago
p_format.h gallium: Use p_debug.h instead of non-portable stdio.h/assert.h functions. 17 years ago
p_inlines.h gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ code 17 years ago
p_shader_tokens.h fix typo 17 years ago
p_state.h gallium: clean-up, simplification of mipmapped textures 17 years ago
p_thread.h gallium: Fix build for WinXP. 17 years ago
p_util.h gallium: #include p_debug.h since we use assert 17 years ago
p_winsys.h gallium: update comment about buffer map flags 17 years ago

README.portability

	      CROSS-PLATFORM PORTABILITY GUIDELINES FOR GALLIUM3D 


= General Considerations =

The state tracker and winsys driver support a rather limited number of
platforms. However, the pipe drivers are meant to run in a wide number of
platforms. Hence the pipe drivers, the auxiliary modules, and all public
headers in general, should stricly follow these guidelines to ensure


= Compiler Support =

* Include the p_compiler.h.

* Don't use the 'inline' keyword, use the INLINE macro in p_compiler.h instead.

* Cast explicitly when converting to integer types of smaller sizes.

* Cast explicitly when converting between float, double and integral types.

* Don't use named struct initializers.

* Don't use variable number of macro arguments. Use static inline functions
instead.


= Standard Library =

* Avoid including standard library headers. Most standard library functions are
not available in Windows Kernel Mode. Use the appropriate p_*.h include.

== Memory Allocation ==

* Use MALLOC, CALLOC, FREE instead of the malloc, calloc, free functions.

* Use align_pointer() function defined in p_util.h for aligning pointers in a
portable way.

== Debugging ==

TODO