diff options
author | David Schleef <ds@schleef.org> | 2005-11-14 07:56:12 +0000 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2005-11-14 07:56:12 +0000 |
commit | f388b672c5c6b2e6993a16953069231bdde385b2 (patch) | |
tree | 818caa858b1f9af6abe9a3f058e35e0e137c9969 | |
parent | 4617964a6deda6c351a54f13cea2d2be4f69a489 (diff) | |
download | liboil-f388b672c5c6b2e6993a16953069231bdde385b2.tar.gz |
* doc/liboil-docs.sgml: Clean up documentation, document
remaining functions. Up to 96% coverage, woohoo!
* doc/liboil-overrides.txt:
* doc/liboil-sections.txt:
* doc/tmpl/liboil-unused.sgml:
* doc/tmpl/liboilclass-unstable.sgml:
* doc/tmpl/liboildebug.sgml:
* doc/tmpl/liboilfunction.sgml:
* doc/tmpl/liboilimpl-unstable.sgml:
* doc/tmpl/liboilinit-unstable.sgml:
* doc/tmpl/liboilinit.sgml:
* doc/tmpl/liboiljunk.sgml:
* doc/tmpl/liboilmacros.sgml:
* doc/tmpl/liboilparameter.sgml:
* doc/tmpl/liboilprofile.sgml:
* doc/tmpl/liboilprototype.sgml:
* doc/tmpl/liboilrandom.sgml:
* doc/tmpl/liboiltest.sgml:
* doc/tmpl/liboiltypes.sgml:
* liboil/liboil.h:
* liboil/liboildebug.h:
* liboil/liboilfunction.c:
* liboil/liboilfunction.h:
* liboil/liboilprofile.h:
* liboil/liboiltest.h:
* liboil/liboiltypes.h:
-rw-r--r-- | ChangeLog | 29 | ||||
-rw-r--r-- | doc/liboil-docs.sgml | 8 | ||||
-rw-r--r-- | doc/liboil-overrides.txt | 5 | ||||
-rw-r--r-- | doc/liboil-sections.txt | 100 | ||||
-rw-r--r-- | doc/tmpl/liboil-unused.sgml | 133 | ||||
-rw-r--r-- | doc/tmpl/liboilclass-unstable.sgml | 124 | ||||
-rw-r--r-- | doc/tmpl/liboildebug.sgml | 32 | ||||
-rw-r--r-- | doc/tmpl/liboilfunction.sgml | 214 | ||||
-rw-r--r-- | doc/tmpl/liboilimpl-unstable.sgml | 128 | ||||
-rw-r--r-- | doc/tmpl/liboilinit-unstable.sgml | 41 | ||||
-rw-r--r-- | doc/tmpl/liboilinit.sgml | 26 | ||||
-rw-r--r-- | doc/tmpl/liboiljunk.sgml | 64 | ||||
-rw-r--r-- | doc/tmpl/liboilmacros.sgml | 144 | ||||
-rw-r--r-- | doc/tmpl/liboilparameter.sgml | 56 | ||||
-rw-r--r-- | doc/tmpl/liboilprofile.sgml | 6 | ||||
-rw-r--r-- | doc/tmpl/liboilprototype.sgml | 27 | ||||
-rw-r--r-- | doc/tmpl/liboilrandom.sgml | 8 | ||||
-rw-r--r-- | doc/tmpl/liboiltest.sgml | 8 | ||||
-rw-r--r-- | doc/tmpl/liboiltypes.sgml | 63 | ||||
-rw-r--r-- | liboil/liboil.h | 20 | ||||
-rw-r--r-- | liboil/liboildebug.h | 6 | ||||
-rw-r--r-- | liboil/liboilfunction.c | 20 | ||||
-rw-r--r-- | liboil/liboilfunction.h | 183 | ||||
-rw-r--r-- | liboil/liboilprofile.h | 5 | ||||
-rw-r--r-- | liboil/liboiltest.h | 10 | ||||
-rw-r--r-- | liboil/liboiltypes.h | 126 |
26 files changed, 1255 insertions, 331 deletions
@@ -1,5 +1,34 @@ 2005-11-13 David Schleef <ds@schleef.org> + * doc/liboil-docs.sgml: Clean up documentation, document + remaining functions. Up to 96% coverage, woohoo! + * doc/liboil-overrides.txt: + * doc/liboil-sections.txt: + * doc/tmpl/liboil-unused.sgml: + * doc/tmpl/liboilclass-unstable.sgml: + * doc/tmpl/liboildebug.sgml: + * doc/tmpl/liboilfunction.sgml: + * doc/tmpl/liboilimpl-unstable.sgml: + * doc/tmpl/liboilinit-unstable.sgml: + * doc/tmpl/liboilinit.sgml: + * doc/tmpl/liboiljunk.sgml: + * doc/tmpl/liboilmacros.sgml: + * doc/tmpl/liboilparameter.sgml: + * doc/tmpl/liboilprofile.sgml: + * doc/tmpl/liboilprototype.sgml: + * doc/tmpl/liboilrandom.sgml: + * doc/tmpl/liboiltest.sgml: + * doc/tmpl/liboiltypes.sgml: + * liboil/liboil.h: + * liboil/liboildebug.h: + * liboil/liboilfunction.c: + * liboil/liboilfunction.h: + * liboil/liboilprofile.h: + * liboil/liboiltest.h: + * liboil/liboiltypes.h: + +2005-11-13 David Schleef <ds@schleef.org> + * doc/liboil-sections.txt: Clean up documentation. * doc/tmpl/liboil.sgml: * doc/tmpl/liboilcpu.sgml: diff --git a/doc/liboil-docs.sgml b/doc/liboil-docs.sgml index 0af9e95..3a579ac 100644 --- a/doc/liboil-docs.sgml +++ b/doc/liboil-docs.sgml @@ -15,7 +15,7 @@ during the lifetime of the 0.3 series. </para> - <xi:include href="xml/liboil.xml"/> + <xi:include href="xml/liboilinit.xml"/> <xi:include href="xml/liboilfuncs-conv.xml"/> <xi:include href="xml/liboilfuncs-copy.xml"/> <xi:include href="xml/liboilfuncs-math.xml"/> @@ -35,14 +35,18 @@ may be moved to the stable API during the 0.3 series. </para> + <xi:include href="xml/liboilinit-unstable.xml"/> <xi:include href="xml/liboilcpu.xml"/> <xi:include href="xml/liboildebug.xml"/> - <xi:include href="xml/liboilfunction.xml"/> + <xi:include href="xml/liboilclass-unstable.xml"/> + <xi:include href="xml/liboilimpl-unstable.xml"/> <xi:include href="xml/liboilparameter.xml"/> <xi:include href="xml/liboilprofile.xml"/> <xi:include href="xml/liboilprototype.xml"/> <xi:include href="xml/liboilrandom.xml"/> <xi:include href="xml/liboiltest.xml"/> + <xi:include href="xml/liboiltypes.xml"/> <xi:include href="xml/liboilmacros.xml"/> + <xi:include href="xml/liboiljunk.xml"/> </chapter> </book> diff --git a/doc/liboil-overrides.txt b/doc/liboil-overrides.txt index 7951def..8d6b120 100644 --- a/doc/liboil-overrides.txt +++ b/doc/liboil-overrides.txt @@ -1 +1,6 @@ NULL +OIL_OPT_MANGLE +OIL_OPT_SUFFIX +LIBOIL_CHECK_PROTOTYPE +OIL_OPT_FLAG_MANGLE +OIL_NO_CLASSES diff --git a/doc/liboil-sections.txt b/doc/liboil-sections.txt index e79e939..e4a2816 100644 --- a/doc/liboil-sections.txt +++ b/doc/liboil-sections.txt @@ -1,9 +1,16 @@ <SECTION> -<FILE>liboil</FILE> +<FILE>liboilinit</FILE> oil_init </SECTION> <SECTION> +<FILE>liboilinit-unstable</FILE> +oil_init_no_optimize +oil_optimize_all +oil_optimize +</SECTION> + +<SECTION> <FILE>liboilcpu</FILE> oil_cpu_get_flags oil_cpu_fault_check_enable @@ -16,6 +23,9 @@ oil_cpu_get_ticks_per_second <FILE>liboildebug</FILE> OilDebugPrintFunc OilDebugLevel +oil_debug_set_print_function +oil_debug_get_level +oil_debug_set_level OIL_ERROR OIL_WARNING OIL_INFO @@ -23,63 +33,44 @@ OIL_DEBUG OIL_LOG OIL_FUNCTION OIL_DEBUG_PRINT -oil_debug_set_print_function -oil_debug_get_level -oil_debug_set_level </SECTION> <SECTION> -<FILE>liboilfunction</FILE> -LIBOIL_CHECK_PROTOTYPE -OIL_OPT_MANGLE -OIL_OPT_FLAG_MANGLE -OIL_NO_CLASSES -OIL_OPT_SUFFIX -OilFunctionImpl -OIL_GET -OIL_OFFSET -OIL_INCREMENT -OIL_IMPL_FLAG_REF -OIL_IMPL_FLAG_OPT -OIL_IMPL_FLAG_ASM -OIL_IMPL_FLAG_DISABLED -OIL_CPU_FLAG_MASK -OIL_IMPL_FLAG_CMOV -OIL_IMPL_FLAG_MMX -OIL_IMPL_FLAG_SSE -OIL_IMPL_FLAG_MMXEXT -OIL_IMPL_FLAG_SSE2 -OIL_IMPL_FLAG_SSE3 -OIL_IMPL_FLAG_3DNOW -OIL_IMPL_FLAG_3DNOWEXT -OIL_IMPL_FLAG_ALTIVEC +<FILE>liboilclass-unstable</FILE> +OilFunctionClass OIL_DECLARE_CLASS OIL_DEFINE_CLASS_FULL OIL_DEFINE_CLASS -OIL_DEFINE_IMPL_FULL -OIL_DEFINE_IMPL -OIL_DEFINE_IMPL_REF -OIL_DEFINE_IMPL_ASM -OIL_DEFINE_IMPL_DEPENDS -oil_optimize_all -oil_optimize oil_class_get_by_index oil_class_get oil_class_optimize oil_class_get_n_classes -oil_impl_get_by_index -oil_impl_is_runnable oil_class_choose_by_name oil_class_register_impl_by_name oil_class_register_impl oil_class_register_impl_full -oil_init_no_optimize +</SECTION> + +<SECTION> +<FILE>liboilimpl-unstable</FILE> +OilFunctionImpl +oil_impl_get_by_index +oil_impl_is_runnable +OilImplFlag +OilImplFlagI386 +OilImplFlagPowerPC +OIL_CPU_FLAG_MASK +OIL_DEFINE_IMPL_FULL +OIL_DEFINE_IMPL +OIL_DEFINE_IMPL_REF +OIL_DEFINE_IMPL_ASM +OIL_DEFINE_IMPL_DEPENDS </SECTION> <SECTION> <FILE>liboilprofile</FILE> -OIL_PROFILE_HIST_LENGTH OilProfile +OIL_PROFILE_HIST_LENGTH oil_profile_stamp oil_profile_stamp_gtod oil_profile_init @@ -96,18 +87,15 @@ oil_prototype_from_string oil_prototype_to_string oil_prototype_free oil_prototype_append_param -oil_type_sizeof -oil_type_name -oil_arg_type_name </SECTION> <SECTION> <FILE>liboiltypes</FILE> -OilFunctionClass -OilFunctionImpl -OilParameter -OilTest -OilTestFunction +OilType +oil_type_sizeof +oil_type_name +OilArgType +oil_arg_type_name type_s8 type_u8 type_s16 @@ -132,8 +120,6 @@ type_max_u32 <SECTION> <FILE>liboilparameter</FILE> -OilType -OilArgType OilParameter </SECTION> @@ -167,11 +153,13 @@ oil_rand_f32_u16 oil_rand_f32_u8 oil_rand_s64 oil_rand_u64 +oil_rand_rgba </SECTION> <SECTION> <FILE>liboiltest</FILE> OilTest +OilTestFunction OIL_TEST_HEADER OIL_TEST_FOOTER oil_test_new @@ -184,6 +172,16 @@ oil_test_cleanup </SECTION> <SECTION> +<FILE>liboiljunk</FILE> +OIL_OPT_MANGLE +OIL_OPT_SUFFIX +OIL_CHECK_PROTOTYPE +OIL_OPT_FLAG_MANGLE +OIL_NO_CLASSES +NULL +</SECTION> + +<SECTION> <FILE>liboilfuncs-conv</FILE> oil_clipconv8x8_u8_s16 oil_clipconv_s16_f32 @@ -483,7 +481,6 @@ oil_sad8x8_u8_avg oil_min oil_max oil_divide_255 -oil_rand_rgba oil_argb oil_argb_noclamp oil_argb_A @@ -492,5 +489,8 @@ oil_argb_B oil_argb_R oil_muldiv_255 oil_clamp_255 +OIL_GET +OIL_OFFSET +OIL_INCREMENT </SECTION> diff --git a/doc/tmpl/liboil-unused.sgml b/doc/tmpl/liboil-unused.sgml index e69de29..519bfab 100644 --- a/doc/tmpl/liboil-unused.sgml +++ b/doc/tmpl/liboil-unused.sgml @@ -0,0 +1,133 @@ +<!-- ##### SECTION ./tmpl/liboil.sgml:Long_Description ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/liboil.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/liboil.sgml:Short_Description ##### --> + + + +<!-- ##### SECTION ./tmpl/liboil.sgml:Stability_Level ##### --> + + + +<!-- ##### SECTION ./tmpl/liboil.sgml:Title ##### --> + + + +<!-- ##### SECTION ./tmpl/liboilfunction.sgml:Long_Description ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/liboilfunction.sgml:See_Also ##### --> +<para> + +</para> + + +<!-- ##### SECTION ./tmpl/liboilfunction.sgml:Short_Description ##### --> + + + +<!-- ##### SECTION ./tmpl/liboilfunction.sgml:Stability_Level ##### --> + + + +<!-- ##### SECTION ./tmpl/liboilfunction.sgml:Title ##### --> + + + +<!-- ##### MACRO LIBOIL_CHECK_PROTOTYPE ##### --> +<para> + +</para> + +@a: + +<!-- ##### MACRO OIL_IMPL_FLAG_3DNOW ##### --> +<para> + +</para> + + +<!-- ##### MACRO OIL_IMPL_FLAG_3DNOWEXT ##### --> +<para> + +</para> + + +<!-- ##### MACRO OIL_IMPL_FLAG_ALTIVEC ##### --> +<para> + +</para> + + +<!-- ##### MACRO OIL_IMPL_FLAG_ASM ##### --> +<para> + +</para> + + +<!-- ##### MACRO OIL_IMPL_FLAG_CMOV ##### --> +<para> + +</para> + + +<!-- ##### MACRO OIL_IMPL_FLAG_DISABLED ##### --> +<para> + +</para> + + +<!-- ##### MACRO OIL_IMPL_FLAG_MMX ##### --> +<para> + +</para> + + +<!-- ##### MACRO OIL_IMPL_FLAG_MMXEXT ##### --> +<para> + +</para> + + +<!-- ##### MACRO OIL_IMPL_FLAG_OPT ##### --> +<para> + +</para> + + +<!-- ##### MACRO OIL_IMPL_FLAG_REF ##### --> +<para> + +</para> + + +<!-- ##### MACRO OIL_IMPL_FLAG_SSE ##### --> +<para> + +</para> + + +<!-- ##### MACRO OIL_IMPL_FLAG_SSE2 ##### --> +<para> + +</para> + + +<!-- ##### MACRO OIL_IMPL_FLAG_SSE3 ##### --> +<para> + +</para> + + diff --git a/doc/tmpl/liboilclass-unstable.sgml b/doc/tmpl/liboilclass-unstable.sgml new file mode 100644 index 0000000..ecc7d4e --- /dev/null +++ b/doc/tmpl/liboilclass-unstable.sgml @@ -0,0 +1,124 @@ +<!-- ##### SECTION Title ##### --> + + +<!-- ##### SECTION Short_Description ##### --> + + +<!-- ##### SECTION Long_Description ##### --> +<para> + +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### STRUCT OilFunctionClass ##### --> +<para> + +</para> + + +<!-- ##### MACRO OIL_DECLARE_CLASS ##### --> +<para> + +</para> + +@klass: + + +<!-- ##### MACRO OIL_DEFINE_CLASS_FULL ##### --> +<para> + +</para> + +@klass: +@string: +@test: + + +<!-- ##### MACRO OIL_DEFINE_CLASS ##### --> +<para> + +</para> + +@klass: +@string: + + +<!-- ##### FUNCTION oil_class_get_by_index ##### --> +<para> + +</para> + +@i: +@Returns: + + +<!-- ##### FUNCTION oil_class_get ##### --> +<para> + +</para> + +@class_name: +@Returns: + + +<!-- ##### FUNCTION oil_class_optimize ##### --> +<para> + +</para> + +@klass: + + +<!-- ##### FUNCTION oil_class_get_n_classes ##### --> +<para> + +</para> + +@Returns: + + +<!-- ##### FUNCTION oil_class_choose_by_name ##### --> +<para> + +</para> + +@klass: +@name: + + +<!-- ##### FUNCTION oil_class_register_impl_by_name ##### --> +<para> + +</para> + +@klass_name: +@impl: + + +<!-- ##### FUNCTION oil_class_register_impl ##### --> +<para> + +</para> + +@klass: +@impl: + + +<!-- ##### FUNCTION oil_class_register_impl_full ##### --> +<para> + +</para> + +@klass: +@func: +@name: +@flags: + + diff --git a/doc/tmpl/liboildebug.sgml b/doc/tmpl/liboildebug.sgml index 9674511..72b1440 100644 --- a/doc/tmpl/liboildebug.sgml +++ b/doc/tmpl/liboildebug.sgml @@ -42,31 +42,31 @@ @OIL_DEBUG_DEBUG: @OIL_DEBUG_LOG: -<!-- ##### MACRO OIL_ERROR ##### --> +<!-- ##### FUNCTION oil_debug_set_print_function ##### --> <para> </para> -@...: +@func: -<!-- ##### MACRO OIL_WARNING ##### --> +<!-- ##### FUNCTION oil_debug_get_level ##### --> <para> </para> -@...: +@Returns: -<!-- ##### MACRO OIL_INFO ##### --> +<!-- ##### FUNCTION oil_debug_set_level ##### --> <para> </para> -@...: +@level: -<!-- ##### MACRO OIL_DEBUG ##### --> +<!-- ##### MACRO OIL_ERROR ##### --> <para> </para> @@ -74,7 +74,7 @@ @...: -<!-- ##### MACRO OIL_LOG ##### --> +<!-- ##### MACRO OIL_WARNING ##### --> <para> </para> @@ -82,43 +82,43 @@ @...: -<!-- ##### MACRO OIL_FUNCTION ##### --> +<!-- ##### MACRO OIL_INFO ##### --> <para> </para> +@...: -<!-- ##### MACRO OIL_DEBUG_PRINT ##### --> +<!-- ##### MACRO OIL_DEBUG ##### --> <para> </para> -@level: @...: -<!-- ##### FUNCTION oil_debug_set_print_function ##### --> +<!-- ##### MACRO OIL_LOG ##### --> <para> </para> -@func: +@...: -<!-- ##### FUNCTION oil_debug_get_level ##### --> +<!-- ##### MACRO OIL_FUNCTION ##### --> <para> </para> -@Returns: -<!-- ##### FUNCTION oil_debug_set_level ##### --> +<!-- ##### MACRO OIL_DEBUG_PRINT ##### --> <para> </para> @level: +@...: diff --git a/doc/tmpl/liboilfunction.sgml b/doc/tmpl/liboilfunction.sgml index 4f4e0c7..291d7d8 100644 --- a/doc/tmpl/liboilfunction.sgml +++ b/doc/tmpl/liboilfunction.sgml @@ -17,359 +17,277 @@ <!-- ##### SECTION Stability_Level ##### --> -<!-- ##### MACRO LIBOIL_CHECK_PROTOTYPE ##### --> +<!-- ##### STRUCT OilFunctionClass ##### --> <para> </para> -@a: - -<!-- ##### MACRO OIL_OPT_MANGLE ##### --> +<!-- ##### MACRO OIL_DECLARE_CLASS ##### --> <para> </para> -@a: +@klass: -<!-- ##### MACRO OIL_OPT_FLAG_MANGLE ##### --> +<!-- ##### MACRO OIL_DEFINE_CLASS_FULL ##### --> <para> </para> -@a: +@klass: +@string: +@test: -<!-- ##### MACRO OIL_NO_CLASSES ##### --> +<!-- ##### MACRO OIL_DEFINE_CLASS ##### --> <para> </para> +@klass: +@string: -<!-- ##### MACRO OIL_OPT_SUFFIX ##### --> +<!-- ##### FUNCTION oil_class_get_by_index ##### --> <para> </para> +@i: +@Returns: -<!-- ##### STRUCT OilFunctionImpl ##### --> -<para> - -</para> - - -<!-- ##### MACRO OIL_GET ##### --> +<!-- ##### FUNCTION oil_class_get ##### --> <para> </para> -@ptr: -@offset: -@type: +@class_name: +@Returns: -<!-- ##### MACRO OIL_OFFSET ##### --> +<!-- ##### FUNCTION oil_class_optimize ##### --> <para> </para> -@ptr: -@offset: +@klass: -<!-- ##### MACRO OIL_INCREMENT ##### --> +<!-- ##### FUNCTION oil_class_get_n_classes ##### --> <para> </para> -@ptr: -@offset: +@Returns: -<!-- ##### MACRO OIL_IMPL_FLAG_REF ##### --> +<!-- ##### FUNCTION oil_class_choose_by_name ##### --> <para> </para> +@klass: +@name: -<!-- ##### MACRO OIL_IMPL_FLAG_OPT ##### --> +<!-- ##### FUNCTION oil_class_register_impl_by_name ##### --> <para> </para> +@klass_name: +@impl: -<!-- ##### MACRO OIL_IMPL_FLAG_ASM ##### --> +<!-- ##### FUNCTION oil_class_register_impl ##### --> <para> </para> +@klass: +@impl: -<!-- ##### MACRO OIL_IMPL_FLAG_DISABLED ##### --> +<!-- ##### FUNCTION oil_class_register_impl_full ##### --> <para> </para> +@klass: +@func: +@name: +@flags: -<!-- ##### MACRO OIL_CPU_FLAG_MASK ##### --> +<!-- ##### STRUCT OilFunctionImpl ##### --> <para> </para> - -<!-- ##### MACRO OIL_IMPL_FLAG_CMOV ##### --> +<!-- ##### FUNCTION oil_impl_get_by_index ##### --> <para> </para> +@i: +@Returns: -<!-- ##### MACRO OIL_IMPL_FLAG_MMX ##### --> +<!-- ##### FUNCTION oil_impl_is_runnable ##### --> <para> </para> +@impl: +@Returns: -<!-- ##### MACRO OIL_IMPL_FLAG_SSE ##### --> +<!-- ##### MACRO OIL_CPU_FLAG_MASK ##### --> <para> </para> -<!-- ##### MACRO OIL_IMPL_FLAG_MMXEXT ##### --> +<!-- ##### MACRO OIL_IMPL_FLAG_REF ##### --> <para> </para> -<!-- ##### MACRO OIL_IMPL_FLAG_SSE2 ##### --> +<!-- ##### MACRO OIL_IMPL_FLAG_OPT ##### --> <para> </para> -<!-- ##### MACRO OIL_IMPL_FLAG_SSE3 ##### --> +<!-- ##### MACRO OIL_IMPL_FLAG_ASM ##### --> <para> </para> -<!-- ##### MACRO OIL_IMPL_FLAG_3DNOW ##### --> +<!-- ##### MACRO OIL_IMPL_FLAG_DISABLED ##### --> <para> </para> -<!-- ##### MACRO OIL_IMPL_FLAG_3DNOWEXT ##### --> +<!-- ##### MACRO OIL_IMPL_FLAG_CMOV ##### --> <para> </para> -<!-- ##### MACRO OIL_IMPL_FLAG_ALTIVEC ##### --> +<!-- ##### MACRO OIL_IMPL_FLAG_MMX ##### --> <para> </para> -<!-- ##### MACRO OIL_DECLARE_CLASS ##### --> +<!-- ##### MACRO OIL_IMPL_FLAG_SSE ##### --> <para> </para> -@klass: -<!-- ##### MACRO OIL_DEFINE_CLASS_FULL ##### --> +<!-- ##### MACRO OIL_IMPL_FLAG_MMXEXT ##### --> <para> </para> -@klass: -@string: -@test: -<!-- ##### MACRO OIL_DEFINE_CLASS ##### --> +<!-- ##### MACRO OIL_IMPL_FLAG_SSE2 ##### --> <para> </para> -@klass: -@string: -<!-- ##### MACRO OIL_DEFINE_IMPL_FULL ##### --> +<!-- ##### MACRO OIL_IMPL_FLAG_SSE3 ##### --> <para> </para> -@function: -@klass: -@flags: -<!-- ##### MACRO OIL_DEFINE_IMPL ##### --> +<!-- ##### MACRO OIL_IMPL_FLAG_3DNOW ##### --> <para> </para> -@function: -@klass: -<!-- ##### MACRO OIL_DEFINE_IMPL_REF ##### --> +<!-- ##### MACRO OIL_IMPL_FLAG_3DNOWEXT ##### --> <para> </para> -@function: -@klass: -<!-- ##### MACRO OIL_DEFINE_IMPL_ASM ##### --> +<!-- ##### MACRO OIL_IMPL_FLAG_ALTIVEC ##### --> <para> </para> -@function: -@klass: -<!-- ##### MACRO OIL_DEFINE_IMPL_DEPENDS ##### --> +<!-- ##### MACRO OIL_DEFINE_IMPL_FULL ##### --> <para> </para> @function: @klass: -@...: - - -<!-- ##### FUNCTION oil_optimize_all ##### --> -<para> - -</para> - - - -<!-- ##### FUNCTION oil_optimize ##### --> -<para> - -</para> - -@class_name: - - -<!-- ##### FUNCTION oil_class_get_by_index ##### --> -<para> - -</para> - -@i: -@Returns: - - -<!-- ##### FUNCTION oil_class_get ##### --> -<para> - -</para> - -@class_name: -@Returns: +@flags: -<!-- ##### FUNCTION oil_class_optimize ##### --> +<!-- ##### MACRO OIL_DEFINE_IMPL ##### --> <para> </para> +@function: @klass: -<!-- ##### FUNCTION oil_class_get_n_classes ##### --> -<para> - -</para> - -@Returns: - - -<!-- ##### FUNCTION oil_impl_get_by_index ##### --> -<para> - -</para> - -@i: -@Returns: - - -<!-- ##### FUNCTION oil_impl_is_runnable ##### --> -<para> - -</para> - -@impl: -@Returns: - - -<!-- ##### FUNCTION oil_class_choose_by_name ##### --> +<!-- ##### MACRO OIL_DEFINE_IMPL_REF ##### --> <para> </para> +@function: @klass: -@name: - - -<!-- ##### FUNCTION oil_class_register_impl_by_name ##### --> -<para> - -</para> - -@klass_name: -@impl: -<!-- ##### FUNCTION oil_class_register_impl ##### --> +<!-- ##### MACRO OIL_DEFINE_IMPL_ASM ##### --> <para> </para> +@function: @klass: -@impl: -<!-- ##### FUNCTION oil_class_register_impl_full ##### --> +<!-- ##### MACRO OIL_DEFINE_IMPL_DEPENDS ##### --> <para> </para> +@function: @klass: -@func: -@name: -@flags: - - -<!-- ##### FUNCTION oil_init_no_optimize ##### --> -<para> - -</para> - +@...: diff --git a/doc/tmpl/liboilimpl-unstable.sgml b/doc/tmpl/liboilimpl-unstable.sgml new file mode 100644 index 0000000..e3a07f2 --- /dev/null +++ b/doc/tmpl/liboilimpl-unstable.sgml @@ -0,0 +1,128 @@ +<!-- ##### SECTION Title ##### --> + + +<!-- ##### SECTION Short_Description ##### --> + + +<!-- ##### SECTION Long_Description ##### --> +<para> + +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### STRUCT OilFunctionImpl ##### --> +<para> + +</para> + + +<!-- ##### FUNCTION oil_impl_get_by_index ##### --> +<para> + +</para> + +@i: +@Returns: + + +<!-- ##### FUNCTION oil_impl_is_runnable ##### --> +<para> + +</para> + +@impl: +@Returns: + + +<!-- ##### ENUM OilImplFlag ##### --> +<para> + +</para> + +@OIL_IMPL_FLAG_REF: +@OIL_IMPL_FLAG_OPT: +@OIL_IMPL_FLAG_ASM: +@OIL_IMPL_FLAG_DISABLED: + +<!-- ##### ENUM OilImplFlagI386 ##### --> +<para> + +</para> + +@OIL_IMPL_FLAG_CMOV: +@OIL_IMPL_FLAG_MMX: +@OIL_IMPL_FLAG_SSE: +@OIL_IMPL_FLAG_MMXEXT: +@OIL_IMPL_FLAG_SSE2: +@OIL_IMPL_FLAG_3DNOW: +@OIL_IMPL_FLAG_3DNOWEXT: +@OIL_IMPL_FLAG_SSE3: + +<!-- ##### ENUM OilImplFlagPowerPC ##### --> +<para> + +</para> + +@OIL_IMPL_FLAG_ALTIVEC: + +<!-- ##### MACRO OIL_CPU_FLAG_MASK ##### --> +<para> + +</para> + + + +<!-- ##### MACRO OIL_DEFINE_IMPL_FULL ##### --> +<para> + +</para> + +@function: +@klass: +@flags: + + +<!-- ##### MACRO OIL_DEFINE_IMPL ##### --> +<para> + +</para> + +@function: +@klass: + + +<!-- ##### MACRO OIL_DEFINE_IMPL_REF ##### --> +<para> + +</para> + +@function: +@klass: + + +<!-- ##### MACRO OIL_DEFINE_IMPL_ASM ##### --> +<para> + +</para> + +@function: +@klass: + + +<!-- ##### MACRO OIL_DEFINE_IMPL_DEPENDS ##### --> +<para> + +</para> + +@function: +@klass: +@...: + + diff --git a/doc/tmpl/liboilinit-unstable.sgml b/doc/tmpl/liboilinit-unstable.sgml new file mode 100644 index 0000000..35f0919 --- /dev/null +++ b/doc/tmpl/liboilinit-unstable.sgml @@ -0,0 +1,41 @@ +<!-- ##### SECTION Title ##### --> + + +<!-- ##### SECTION Short_Description ##### --> + + +<!-- ##### SECTION Long_Description ##### --> +<para> + +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### FUNCTION oil_init_no_optimize ##### --> +<para> + +</para> + + + +<!-- ##### FUNCTION oil_optimize_all ##### --> +<para> + +</para> + + + +<!-- ##### FUNCTION oil_optimize ##### --> +<para> + +</para> + +@class_name: + + diff --git a/doc/tmpl/liboilinit.sgml b/doc/tmpl/liboilinit.sgml new file mode 100644 index 0000000..d0dd8bc --- /dev/null +++ b/doc/tmpl/liboilinit.sgml @@ -0,0 +1,26 @@ +<!-- ##### SECTION Title ##### --> + + +<!-- ##### SECTION Short_Description ##### --> + + +<!-- ##### SECTION Long_Description ##### --> +<para> + +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### FUNCTION oil_init ##### --> +<para> + +</para> + + + diff --git a/doc/tmpl/liboiljunk.sgml b/doc/tmpl/liboiljunk.sgml new file mode 100644 index 0000000..c8a3d61 --- /dev/null +++ b/doc/tmpl/liboiljunk.sgml @@ -0,0 +1,64 @@ +<!-- ##### SECTION Title ##### --> +liboiljunk + +<!-- ##### SECTION Short_Description ##### --> + + +<!-- ##### SECTION Long_Description ##### --> +<para> + +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### MACRO OIL_OPT_MANGLE ##### --> +<para> + +</para> + +@a: + + +<!-- ##### MACRO OIL_OPT_SUFFIX ##### --> +<para> + +</para> + + + +<!-- ##### MACRO OIL_CHECK_PROTOTYPE ##### --> +<para> + +</para> + +@a: + + +<!-- ##### MACRO OIL_OPT_FLAG_MANGLE ##### --> +<para> + +</para> + +@a: + + +<!-- ##### MACRO OIL_NO_CLASSES ##### --> +<para> + +</para> + + + +<!-- ##### MACRO NULL ##### --> +<para> + +</para> + + + diff --git a/doc/tmpl/liboilmacros.sgml b/doc/tmpl/liboilmacros.sgml new file mode 100644 index 0000000..7b8eb50 --- /dev/null +++ b/doc/tmpl/liboilmacros.sgml @@ -0,0 +1,144 @@ +<!-- ##### SECTION Title ##### --> + + +<!-- ##### SECTION Short_Description ##### --> + + +<!-- ##### SECTION Long_Description ##### --> +<para> + +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### MACRO oil_min ##### --> +<para> + +</para> + +@x: +@y: + + +<!-- ##### MACRO oil_max ##### --> +<para> + +</para> + +@x: +@y: + + +<!-- ##### MACRO oil_divide_255 ##### --> +<para> + +</para> + +@x: + + +<!-- ##### MACRO oil_argb ##### --> +<para> + +</para> + +@a: +@r: +@g: +@b: + + +<!-- ##### MACRO oil_argb_noclamp ##### --> +<para> + +</para> + +@a: +@r: +@g: +@b: + + +<!-- ##### MACRO oil_argb_A ##### --> +<para> + +</para> + +@color: + + +<!-- ##### MACRO oil_argb_G ##### --> +<para> + +</para> + +@color: + + +<!-- ##### MACRO oil_argb_B ##### --> +<para> + +</para> + +@color: + + +<!-- ##### MACRO oil_argb_R ##### --> +<para> + +</para> + +@color: + + +<!-- ##### MACRO oil_muldiv_255 ##### --> +<para> + +</para> + +@a: +@b: + + +<!-- ##### MACRO oil_clamp_255 ##### --> +<para> + +</para> + +@x: + + +<!-- ##### MACRO OIL_GET ##### --> +<para> + +</para> + +@ptr: +@offset: +@type: + + +<!-- ##### MACRO OIL_OFFSET ##### --> +<para> + +</para> + +@ptr: +@offset: + + +<!-- ##### MACRO OIL_INCREMENT ##### --> +<para> + +</para> + +@ptr: +@offset: + + diff --git a/doc/tmpl/liboilparameter.sgml b/doc/tmpl/liboilparameter.sgml index 6dcddb1..176725f 100644 --- a/doc/tmpl/liboilparameter.sgml +++ b/doc/tmpl/liboilparameter.sgml @@ -17,62 +17,6 @@ <!-- ##### SECTION Stability_Level ##### --> -<!-- ##### ENUM OilType ##### --> -<para> - -</para> - -@OIL_TYPE_UNKNOWN: -@OIL_TYPE_INT: -@OIL_TYPE_s8: -@OIL_TYPE_u8: -@OIL_TYPE_s16: -@OIL_TYPE_u16: -@OIL_TYPE_s32: -@OIL_TYPE_u32: -@OIL_TYPE_s64: -@OIL_TYPE_u64: -@OIL_TYPE_f32: -@OIL_TYPE_f64: -@OIL_TYPE_s8p: -@OIL_TYPE_u8p: -@OIL_TYPE_s16p: -@OIL_TYPE_u16p: -@OIL_TYPE_s32p: -@OIL_TYPE_u32p: -@OIL_TYPE_s64p: -@OIL_TYPE_u64p: -@OIL_TYPE_f32p: -@OIL_TYPE_f64p: - -<!-- ##### ENUM OilArgType ##### --> -<para> - -</para> - -@OIL_ARG_UNKNOWN: -@OIL_ARG_N: -@OIL_ARG_M: -@OIL_ARG_DEST1: -@OIL_ARG_DSTR1: -@OIL_ARG_DEST2: -@OIL_ARG_DSTR2: -@OIL_ARG_SRC1: -@OIL_ARG_SSTR1: -@OIL_ARG_SRC2: -@OIL_ARG_SSTR2: -@OIL_ARG_SRC3: -@OIL_ARG_SSTR3: -@OIL_ARG_SRC4: -@OIL_ARG_SSTR4: -@OIL_ARG_SRC5: -@OIL_ARG_SSTR5: -@OIL_ARG_INPLACE1: -@OIL_ARG_ISTR1: -@OIL_ARG_INPLACE2: -@OIL_ARG_ISTR2: -@OIL_ARG_LAST: - <!-- ##### STRUCT OilParameter ##### --> <para> diff --git a/doc/tmpl/liboilprofile.sgml b/doc/tmpl/liboilprofile.sgml index 08718ba..92c3850 100644 --- a/doc/tmpl/liboilprofile.sgml +++ b/doc/tmpl/liboilprofile.sgml @@ -17,19 +17,19 @@ <!-- ##### SECTION Stability_Level ##### --> -<!-- ##### MACRO OIL_PROFILE_HIST_LENGTH ##### --> +<!-- ##### STRUCT OilProfile ##### --> <para> </para> - -<!-- ##### STRUCT OilProfile ##### --> +<!-- ##### MACRO OIL_PROFILE_HIST_LENGTH ##### --> <para> </para> + <!-- ##### MACRO oil_profile_stamp ##### --> <para> diff --git a/doc/tmpl/liboilprototype.sgml b/doc/tmpl/liboilprototype.sgml index 1963e3f..63a1950 100644 --- a/doc/tmpl/liboilprototype.sgml +++ b/doc/tmpl/liboilprototype.sgml @@ -61,30 +61,3 @@ @param: -<!-- ##### FUNCTION oil_type_sizeof ##### --> -<para> - -</para> - -@type: -@Returns: - - -<!-- ##### FUNCTION oil_type_name ##### --> -<para> - -</para> - -@type: -@Returns: - - -<!-- ##### FUNCTION oil_arg_type_name ##### --> -<para> - -</para> - -@type: -@Returns: - - diff --git a/doc/tmpl/liboilrandom.sgml b/doc/tmpl/liboilrandom.sgml index a34e45f..6db7ab5 100644 --- a/doc/tmpl/liboilrandom.sgml +++ b/doc/tmpl/liboilrandom.sgml @@ -213,3 +213,11 @@ +<!-- ##### MACRO oil_rand_rgba ##### --> +<para> + +</para> + +@a: + + diff --git a/doc/tmpl/liboiltest.sgml b/doc/tmpl/liboiltest.sgml index 1a7a871..79f5020 100644 --- a/doc/tmpl/liboiltest.sgml +++ b/doc/tmpl/liboiltest.sgml @@ -23,6 +23,14 @@ </para> +<!-- ##### USER_FUNCTION OilTestFunction ##### --> +<para> + +</para> + +@test: + + <!-- ##### MACRO OIL_TEST_HEADER ##### --> <para> diff --git a/doc/tmpl/liboiltypes.sgml b/doc/tmpl/liboiltypes.sgml index e8a4203..d266ba6 100644 --- a/doc/tmpl/liboiltypes.sgml +++ b/doc/tmpl/liboiltypes.sgml @@ -17,36 +17,87 @@ <!-- ##### SECTION Stability_Level ##### --> -<!-- ##### STRUCT OilFunctionClass ##### --> +<!-- ##### ENUM OilType ##### --> <para> </para> +@OIL_TYPE_UNKNOWN: +@OIL_TYPE_INT: +@OIL_TYPE_s8: +@OIL_TYPE_u8: +@OIL_TYPE_s16: +@OIL_TYPE_u16: +@OIL_TYPE_s32: +@OIL_TYPE_u32: +@OIL_TYPE_s64: +@OIL_TYPE_u64: +@OIL_TYPE_f32: +@OIL_TYPE_f64: +@OIL_TYPE_s8p: +@OIL_TYPE_u8p: +@OIL_TYPE_s16p: +@OIL_TYPE_u16p: +@OIL_TYPE_s32p: +@OIL_TYPE_u32p: +@OIL_TYPE_s64p: +@OIL_TYPE_u64p: +@OIL_TYPE_f32p: +@OIL_TYPE_f64p: -<!-- ##### STRUCT OilFunctionImpl ##### --> +<!-- ##### FUNCTION oil_type_sizeof ##### --> <para> </para> +@type: +@Returns: -<!-- ##### STRUCT OilParameter ##### --> + +<!-- ##### FUNCTION oil_type_name ##### --> <para> </para> +@type: +@Returns: + -<!-- ##### STRUCT OilTest ##### --> +<!-- ##### ENUM OilArgType ##### --> <para> </para> +@OIL_ARG_UNKNOWN: +@OIL_ARG_N: +@OIL_ARG_M: +@OIL_ARG_DEST1: +@OIL_ARG_DSTR1: +@OIL_ARG_DEST2: +@OIL_ARG_DSTR2: +@OIL_ARG_SRC1: +@OIL_ARG_SSTR1: +@OIL_ARG_SRC2: +@OIL_ARG_SSTR2: +@OIL_ARG_SRC3: +@OIL_ARG_SSTR3: +@OIL_ARG_SRC4: +@OIL_ARG_SSTR4: +@OIL_ARG_SRC5: +@OIL_ARG_SSTR5: +@OIL_ARG_INPLACE1: +@OIL_ARG_ISTR1: +@OIL_ARG_INPLACE2: +@OIL_ARG_ISTR2: +@OIL_ARG_LAST: -<!-- ##### USER_FUNCTION OilTestFunction ##### --> +<!-- ##### FUNCTION oil_arg_type_name ##### --> <para> </para> -@test: +@type: +@Returns: <!-- ##### MACRO type_s8 ##### --> diff --git a/liboil/liboil.h b/liboil/liboil.h index c19848a..f592f21 100644 --- a/liboil/liboil.h +++ b/liboil/liboil.h @@ -34,9 +34,29 @@ void oil_init (void); +/** + * oil_memcpy: + * @dest: + * @src: + * @n_bytes: + * + * Macro that uses oil_copy_u8() to provide an implementation of + * memcpy(). Note that oil_copy_u8() is optimized for short copies, + * and may be very slow for large copies compared to alternatives, + * including the system memcpy(). + */ #define oil_memcpy(dest,src,n_bytes) \ oil_copy_u8((void *)(dest),(void *)(src),(n_bytes)) +/** + * oil_trans8x8_s16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Macro wrapping trans8x8_u16(). + */ #define oil_trans8x8_s16(dest, dstr, src, sstr) \ oil_trans8x8_u16((uint16_t *)dest, dstr, (uint16_t *)src, sstr) diff --git a/liboil/liboildebug.h b/liboil/liboildebug.h index afea99a..08be796 100644 --- a/liboil/liboildebug.h +++ b/liboil/liboildebug.h @@ -91,6 +91,12 @@ typedef enum { */ #define OIL_LOG(...) OIL_DEBUG_PRINT(OIL_DEBUG_LOG, __VA_ARGS__) +/** + * OIL_FUNCTION: + * + * Internal macro that points to __PRETTY_FUNCTION__ or __func__ + * if the former is not available. + */ #if defined (__GNUC__) || defined (__PRETTY_FUNCTION__) #define OIL_FUNCTION __PRETTY_FUNCTION__ #elif defined(__func__) diff --git a/liboil/liboilfunction.c b/liboil/liboilfunction.c index 97c326b..a91ea59 100644 --- a/liboil/liboilfunction.c +++ b/liboil/liboilfunction.c @@ -37,10 +37,15 @@ #include <stdlib.h> /** - * SECTION:liboilfunction - * @title:OilFunction - * @short_description: - * Functions for manipulating function classes and implementations. + * SECTION:liboilclass-unstable + * @title:OilFunctionClass + * @short_description: Functions for manipulating function classes + */ + +/** + * SECTION:liboilimpl-unstable + * @title:OilFunctionImpl + * @short_description: Functions for manipulating function implementations. */ /** @@ -100,7 +105,12 @@ static void oil_init_structs (void); void _oil_cpu_init (void); /** - * SECTION:liboil + * SECTION:liboilinit + * @title: Intialization + * @short_description: Initialization functions + */ +/** + * SECTION:liboilinit-unstable * @title: Intialization * @short_description: Initialization functions */ diff --git a/liboil/liboilfunction.h b/liboil/liboilfunction.h index d388041..c015a6d 100644 --- a/liboil/liboilfunction.h +++ b/liboil/liboilfunction.h @@ -30,13 +30,44 @@ #include <liboil/liboiltypes.h> +/** + * OIL_CHECK_PROTOTYPE: + * @a: + * + * Macro used internally to implement the --enable-prototype-checking + * configure option. + */ #ifdef LIBOIL_STRICT_PROTOTYPES #include <liboil/liboilfuncs.h> -#define LIBOIL_CHECK_PROTOTYPE(a) a +#define OIL_CHECK_PROTOTYPE(a) a #else -#define LIBOIL_CHECK_PROTOTYPE(a) +#define OIL_CHECK_PROTOTYPE(a) #endif +/** + * OIL_OPT_MANGLE: + * + * Used internally to implement the --enable-alternate-optimizations + * configure option. + */ +/** + * OIL_OPT_FLAG_MANGLE: + * + * Used internally to implement the --enable-alternate-optimizations + * configure option. + */ +/** + * OIL_NO_CLASSES: + * + * Used internally to implement the --enable-alternate-optimizations + * configure option. + */ +/** + * OIL_OPT_SUFFIX: + * + * Used internally to implement the --enable-alternate-optimizations + * configure option. + */ #ifndef OIL_OPT_MANGLE #define OIL_OPT_MANGLE(a) a #define OIL_OPT_FLAG_MANGLE(a) a @@ -86,30 +117,85 @@ struct _OilFunctionImpl { double profile_std; }; +/** + * OIL_GET: + * @ptr: + * @offset: + * @type: + * + * Offsets @ptr by @offset number of bytes, and dereferences it + * as type @type. Note that the offset is in bytes, and not in + * the size of the pointer type. + */ #define OIL_GET(ptr, offset, type) (*(type *)((uint8_t *)ptr + (offset)) ) +/** + * OIL_OFFSET: + * @ptr: + * @offset: + * + * Add @offset bytes to the pointer @ptr. + */ #define OIL_OFFSET(ptr, offset) ((void *)((uint8_t *)ptr + (offset)) ) +/** + * OIL_INCREMENT: + * @ptr: + * @offset: + * + * Increments the pointer @ptr by @offset number of bytes. + */ #define OIL_INCREMENT(ptr, offset) (ptr = (void *)((uint8_t *)ptr + (offset)) ) -#define OIL_IMPL_FLAG_REF (1<<0) -#define OIL_IMPL_FLAG_OPT (1<<1) -#define OIL_IMPL_FLAG_ASM (1<<2) -#define OIL_IMPL_FLAG_DISABLED (1<<3) +/** + * OilImplFlag: + * + * Implementation flags independent of CPU type. + */ +typedef enum { + OIL_IMPL_FLAG_REF = (1<<0), + OIL_IMPL_FLAG_OPT = (1<<1), + OIL_IMPL_FLAG_ASM = (1<<2), + OIL_IMPL_FLAG_DISABLED = (1<<3) +} OilImplFlag; +/** + * OIL_CPU_FLAG_MASK: + * + * Mask describing which bits in #OilImplFlag depend on the current + * CPU. + */ #define OIL_CPU_FLAG_MASK 0xffff0000 -/* i386 */ -#define OIL_IMPL_FLAG_CMOV (1<<16) -#define OIL_IMPL_FLAG_MMX (1<<17) -#define OIL_IMPL_FLAG_SSE (1<<18) -#define OIL_IMPL_FLAG_MMXEXT (1<<19) -#define OIL_IMPL_FLAG_SSE2 (1<<20) -#define OIL_IMPL_FLAG_3DNOW (1<<21) -#define OIL_IMPL_FLAG_3DNOWEXT (1<<22) -#define OIL_IMPL_FLAG_SSE3 (1<<23) +/** + * OilImplFlagI386: + * + * Implementation flags for CPU features on i386. + */ +typedef enum { + OIL_IMPL_FLAG_CMOV = (1<<16), + OIL_IMPL_FLAG_MMX = (1<<17), + OIL_IMPL_FLAG_SSE = (1<<18), + OIL_IMPL_FLAG_MMXEXT = (1<<19), + OIL_IMPL_FLAG_SSE2 = (1<<20), + OIL_IMPL_FLAG_3DNOW = (1<<21), + OIL_IMPL_FLAG_3DNOWEXT = (1<<22), + OIL_IMPL_FLAG_SSE3 = (1<<23) +} OilImplFlagI386; -/* powerpc */ -#define OIL_IMPL_FLAG_ALTIVEC (1<<16) +/** + * OilImplFlagPowerPC: + * + * Implementation flags for CPU features on PowerPC. + */ +typedef enum { + OIL_IMPL_FLAG_ALTIVEC = (1<<16) +} OilImplFlagPowerPC; +/** + * OIL_DECLARE_CLASS: + * @klass: the name of a function class (without the oil_ prefix) + * + * Declares the Liboil function class @klass. + */ #define OIL_DECLARE_CLASS(klass) \ extern OilFunctionClass _oil_function_class_ ## klass @@ -120,6 +206,16 @@ struct _OilFunctionImpl { */ #ifndef OIL_NO_CLASSES +/** + * OIL_DEFINE_CLASS_FULL: + * @klass: name of class to declare (without oil_ prefix) + * @string: prototype of class + * @test: test function + * + * Defines a #OilFunctionClass structure for @klass. Classes + * defined this way will be automatically at Liboil initialization + * time. + */ #define OIL_DEFINE_CLASS_FULL(klass, string, test) \ OilFunctionClass _oil_function_class_ ## klass = { \ NULL, \ @@ -138,9 +234,28 @@ OilFunctionClass *oil_function_class_ptr_ ## klass = \ OIL_DECLARE_CLASS(klass) #endif +/** + * OIL_DEFINE_CLASS: + * @klass: name of class to declare (without oil_ prefix) + * @string: prototype of class + * + * Defines a #OilFunctionClass structure for @klass. Classes + * defined this way will be automatically at Liboil initialization + * time. + */ #define OIL_DEFINE_CLASS(klass, string) \ OIL_DEFINE_CLASS_FULL (klass, string, NULL) +/** + * OIL_DEFINE_IMPL_FULL: + * @function: name of function + * @klass: name of class to declare (without oil_ prefix) + * @flags: implementation flags and CPU requirements + * + * Defines a #OilFunctionImpl structure for the function @function + * and class @klass. CPU-dependent flags in @flags will indicate + * that this implementation requires the given CPU flags. + */ #define OIL_DEFINE_IMPL_FULL(function,klass,flags) \ OilFunctionImpl OIL_OPT_MANGLE(_oil_function_impl_ ## function) = { \ NULL, \ @@ -149,14 +264,46 @@ OilFunctionImpl OIL_OPT_MANGLE(_oil_function_impl_ ## function) = { \ OIL_OPT_FLAG_MANGLE(flags), \ #function OIL_OPT_SUFFIX \ } \ -LIBOIL_CHECK_PROTOTYPE(;_oil_type_ ## klass _ignore_me_ ## function = function) +OIL_CHECK_PROTOTYPE(;_oil_type_ ## klass _ignore_me_ ## function = function) +/** + * OIL_DEFINE_IMPL: + * @function: name of function + * @klass: name of class to declare (without oil_ prefix) + * + * Shorthand for defining a C implementation. See OIL_DEFINE_IMPL_FULL(). + */ #define OIL_DEFINE_IMPL(function,klass) \ OIL_DEFINE_IMPL_FULL(function,klass,0) +/** + * OIL_DEFINE_IMPL_REF: + * @function: name of function + * @klass: name of class to declare (without oil_ prefix) + * + * Shorthand for defining a reference implementation. See OIL_DEFINE_IMPL_FULL(). + */ #define OIL_DEFINE_IMPL_REF(function,klass) \ OIL_DEFINE_IMPL_FULL(function,klass,OIL_IMPL_FLAG_REF) +/** + * OIL_DEFINE_IMPL_ASM: + * @function: name of function + * @klass: name of class to declare (without oil_ prefix) + * + * Shorthand for defining an implementation written in inline + * assembly code. See OIL_DEFINE_IMPL_FULL(). + */ #define OIL_DEFINE_IMPL_ASM(function,klass) \ OIL_DEFINE_IMPL_FULL(function,klass,OIL_IMPL_FLAG_ASM) +/** + * OIL_DEFINE_IMPL_DEPENDS + * @function: name of function + * @klass: name of class to declare (without oil_ prefix) + * @...: other classes this implementation uses + * + * Shorthand for defining an implementation that uses another Liboil + * function class. This is not currently used. See + * OIL_DEFINE_IMPL_FULL(). + */ #define OIL_DEFINE_IMPL_DEPENDS(function,klass,...) \ OIL_DEFINE_IMPL_FULL(function,klass,0) diff --git a/liboil/liboilprofile.h b/liboil/liboilprofile.h index 63faa46..4950650 100644 --- a/liboil/liboilprofile.h +++ b/liboil/liboilprofile.h @@ -30,6 +30,11 @@ #include <stdint.h> +/** + * OIL_PROFILE_HIST_LENGTH + * + * Internal definition of the number of histogram entries in #OilProfile. + */ #define OIL_PROFILE_HIST_LENGTH 10 typedef struct _OilProfile OilProfile; diff --git a/liboil/liboiltest.h b/liboil/liboiltest.h index 1d778e5..dcdb496 100644 --- a/liboil/liboiltest.h +++ b/liboil/liboiltest.h @@ -66,7 +66,17 @@ struct _OilTest { */ //typedef void (*OilTestFunction) (OilTest *test); +/** + * OIL_TEST_HEADER: + * + * Number of bytes that are prepended to the array test area. + */ #define OIL_TEST_HEADER 256 +/** + * OIL_TEST_FOOTER: + * + * Number of bytes that are appended to the array test area. + */ #define OIL_TEST_FOOTER 256 OilTest *oil_test_new (OilFunctionClass *klass); diff --git a/liboil/liboiltypes.h b/liboil/liboiltypes.h index ed1d3b4..9494a1e 100644 --- a/liboil/liboiltypes.h +++ b/liboil/liboiltypes.h @@ -30,6 +30,11 @@ #include <stdint.h> +/** + * NULL: + * + * FIXME: gtk-doc is broken and doesn't know how to ignore this. + */ #ifndef NULL #define NULL ((void *)0) #endif @@ -46,13 +51,53 @@ typedef struct _OilTest OilTest; typedef void (*OilTestFunction) (OilTest *test); +/** + * type_s8: + * + * Useful for autogenerated code. Do not use otherwise. + */ #define type_s8 int8_t +/** + * type_u8: + * + * Useful for autogenerated code. Do not use otherwise. + */ #define type_u8 uint8_t +/** + * type_s16: + * + * Useful for autogenerated code. Do not use otherwise. + */ #define type_s16 int16_t +/** + * type_u16: + * + * Useful for autogenerated code. Do not use otherwise. + */ #define type_u16 uint16_t +/** + * type_s32: + * + * Useful for autogenerated code. Do not use otherwise. + */ #define type_s32 int32_t +/** + * type_u32: + * + * Useful for autogenerated code. Do not use otherwise. + */ #define type_u32 uint32_t +/** + * type_f32: + * + * Useful for autogenerated code. Do not use otherwise. + */ #define type_f32 float +/** + * type_f64: + * + * Useful for autogenerated code. Do not use otherwise. + */ #define type_f64 double #define type_min_s8 (-128) @@ -69,6 +114,87 @@ typedef void (*OilTestFunction) (OilTest *test); #define type_max_s32 (2147483647) #define type_max_u32 (4294967295U) +/** + * type_min_s8: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_min_u8: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_min_s16: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_min_u16: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_min_s32: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_min_u32: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_min_f32: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_min_f64: + * + * Useful for autogenerated code. Do not use otherwise. + */ + +/** + * type_max_s8: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_max_u8: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_max_s16: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_max_u16: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_max_s32: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_max_u32: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_max_f32: + * + * Useful for autogenerated code. Do not use otherwise. + */ +/** + * type_max_f64: + * + * Useful for autogenerated code. Do not use otherwise. + */ #endif |