# 1 "svga_tgsi_insn.c" # 1 "/build_disk/poky_build/build0/tmp/work/armv7a-poky-linux-gnueabi/mesa-xlib-1_7.10.2-r0/Mesa-7.10.2/src/gallium/drivers/svga//" # 1 "" # 1 "" # 1 "svga_tgsi_insn.c" # 27 "svga_tgsi_insn.c" # 1 "../../../../src/gallium/include/pipe/p_shader_tokens.h" 1 # 37 "../../../../src/gallium/include/pipe/p_shader_tokens.h" struct tgsi_header { unsigned HeaderSize : 8; unsigned BodySize : 24; }; struct tgsi_processor { unsigned Processor : 4; unsigned Padding : 28; }; struct tgsi_token { unsigned Type : 4; unsigned NrTokens : 8; unsigned Padding : 20; }; enum tgsi_file_type { TGSI_FILE_NULL =0, TGSI_FILE_CONSTANT =1, TGSI_FILE_INPUT =2, TGSI_FILE_OUTPUT =3, TGSI_FILE_TEMPORARY =4, TGSI_FILE_SAMPLER =5, TGSI_FILE_ADDRESS =6, TGSI_FILE_IMMEDIATE =7, TGSI_FILE_PREDICATE =8, TGSI_FILE_SYSTEM_VALUE =9, TGSI_FILE_IMMEDIATE_ARRAY =10, TGSI_FILE_TEMPORARY_ARRAY =11, TGSI_FILE_COUNT }; # 109 "../../../../src/gallium/include/pipe/p_shader_tokens.h" struct tgsi_declaration { unsigned Type : 4; unsigned NrTokens : 8; unsigned File : 4; unsigned UsageMask : 4; unsigned Interpolate : 4; unsigned Dimension : 1; unsigned Semantic : 1; unsigned Centroid : 1; unsigned Invariant : 1; unsigned CylindricalWrap:4; }; struct tgsi_declaration_range { unsigned First : 16; unsigned Last : 16; }; struct tgsi_declaration_dimension { unsigned Index2D:16; unsigned Padding:16; }; # 149 "../../../../src/gallium/include/pipe/p_shader_tokens.h" struct tgsi_declaration_semantic { unsigned Name : 8; unsigned Index : 16; unsigned Padding : 8; }; struct tgsi_immediate { unsigned Type : 4; unsigned NrTokens : 14; unsigned DataType : 4; unsigned Padding : 10; }; union tgsi_immediate_data { float Float; unsigned Uint; int Int; }; # 182 "../../../../src/gallium/include/pipe/p_shader_tokens.h" struct tgsi_property { unsigned Type : 4; unsigned NrTokens : 8; unsigned PropertyName : 8; unsigned Padding : 12; }; struct tgsi_property_data { unsigned Data; }; # 361 "../../../../src/gallium/include/pipe/p_shader_tokens.h" struct tgsi_instruction { unsigned Type : 4; unsigned NrTokens : 8; unsigned Opcode : 8; unsigned Saturate : 2; unsigned NumDstRegs : 2; unsigned NumSrcRegs : 4; unsigned Predicate : 1; unsigned Label : 1; unsigned Texture : 1; unsigned Padding : 1; }; # 393 "../../../../src/gallium/include/pipe/p_shader_tokens.h" struct tgsi_instruction_label { unsigned Label : 24; unsigned Padding : 8; }; # 410 "../../../../src/gallium/include/pipe/p_shader_tokens.h" struct tgsi_instruction_texture { unsigned Texture : 8; unsigned Padding : 24; }; struct tgsi_instruction_predicate { int Index : 16; unsigned SwizzleX : 2; unsigned SwizzleY : 2; unsigned SwizzleZ : 2; unsigned SwizzleW : 2; unsigned Negate : 1; unsigned Padding : 7; }; # 447 "../../../../src/gallium/include/pipe/p_shader_tokens.h" struct tgsi_src_register { unsigned File : 4; unsigned Indirect : 1; unsigned Dimension : 1; int Index : 16; unsigned SwizzleX : 2; unsigned SwizzleY : 2; unsigned SwizzleZ : 2; unsigned SwizzleW : 2; unsigned Absolute : 1; unsigned Negate : 1; }; # 471 "../../../../src/gallium/include/pipe/p_shader_tokens.h" struct tgsi_dimension { unsigned Indirect : 1; unsigned Dimension : 1; unsigned Padding : 14; int Index : 16; }; struct tgsi_dst_register { unsigned File : 4; unsigned WriteMask : 4; unsigned Indirect : 1; unsigned Dimension : 1; int Index : 16; unsigned Padding : 6; }; # 28 "svga_tgsi_insn.c" 2 # 1 "../../../../src/gallium/auxiliary/tgsi/tgsi_parse.h" 1 # 31 "../../../../src/gallium/auxiliary/tgsi/tgsi_parse.h" # 1 "../../../../src/gallium/include/pipe/p_compiler.h" 1 # 32 "../../../../src/gallium/include/pipe/p_compiler.h" # 1 "../../../../src/gallium/include/pipe/p_config.h" 1 # 33 "../../../../src/gallium/include/pipe/p_compiler.h" 2 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 1 3 4 # 25 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/features.h" 1 3 4 # 323 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/features.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/predefs.h" 1 3 4 # 324 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/features.h" 2 3 4 # 356 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/features.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/cdefs.h" 1 3 4 # 353 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/cdefs.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/wordsize.h" 1 3 4 # 354 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/cdefs.h" 2 3 4 # 357 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/features.h" 2 3 4 # 388 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/features.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/gnu/stubs.h" 1 3 4 # 389 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/features.h" 2 3 4 # 26 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stddef.h" 1 3 4 # 212 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stddef.h" 3 4 typedef unsigned int size_t; # 324 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stddef.h" 3 4 typedef unsigned int wchar_t; # 34 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/waitflags.h" 1 3 4 # 43 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/waitstatus.h" 1 3 4 # 65 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/waitstatus.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/endian.h" 1 3 4 # 37 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/endian.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/endian.h" 1 3 4 # 38 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/endian.h" 2 3 4 # 61 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/endian.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/byteswap.h" 1 3 4 # 62 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/endian.h" 2 3 4 # 66 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/waitstatus.h" 2 3 4 union wait { int w_status; struct { unsigned int __w_termsig:7; unsigned int __w_coredump:1; unsigned int __w_retcode:8; unsigned int:16; } __wait_terminated; struct { unsigned int __w_stopval:8; unsigned int __w_stopsig:8; unsigned int:16; } __wait_stopped; }; # 44 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 2 3 4 # 68 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 typedef union { union wait *__uptr; int *__iptr; } __WAIT_STATUS __attribute__ ((__transparent_union__)); # 96 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; # 140 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ; extern double atof (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern int atoi (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern long int atol (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern float strtof (__const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 236 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/xlocale.h" 1 3 4 # 28 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/xlocale.h" 3 4 typedef struct __locale_struct { struct __locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; const char *__names[13]; } *__locale_t; typedef __locale_t locale_t; # 237 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 2 3 4 extern long int strtol_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ; extern unsigned long int strtoul_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ; __extension__ extern long long int strtoll_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ; __extension__ extern unsigned long long int strtoull_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ; extern double strtod_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ; extern float strtof_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ; extern long double strtold_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ; extern __inline __attribute__ ((__gnu_inline__)) double __attribute__ ((__nothrow__)) atof (__const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__)) atoi (__const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline __attribute__ ((__gnu_inline__)) long int __attribute__ ((__nothrow__)) atol (__const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int __attribute__ ((__nothrow__)) atoll (__const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 311 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ; extern long int a64l (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/types.h" 1 3 4 # 28 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/types.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/types.h" 1 3 4 # 28 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/types.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/wordsize.h" 1 3 4 # 29 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; __extension__ typedef long long int __quad_t; __extension__ typedef unsigned long long int __u_quad_t; # 131 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/types.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/typesizes.h" 1 3 4 # 132 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/types.h" 2 3 4 __extension__ typedef __u_quad_t __dev_t; __extension__ typedef unsigned int __uid_t; __extension__ typedef unsigned int __gid_t; __extension__ typedef unsigned long int __ino_t; __extension__ typedef __u_quad_t __ino64_t; __extension__ typedef unsigned int __mode_t; __extension__ typedef unsigned int __nlink_t; __extension__ typedef long int __off_t; __extension__ typedef __quad_t __off64_t; __extension__ typedef int __pid_t; __extension__ typedef struct { int __val[2]; } __fsid_t; __extension__ typedef long int __clock_t; __extension__ typedef unsigned long int __rlim_t; __extension__ typedef __u_quad_t __rlim64_t; __extension__ typedef unsigned int __id_t; __extension__ typedef long int __time_t; __extension__ typedef unsigned int __useconds_t; __extension__ typedef long int __suseconds_t; __extension__ typedef int __daddr_t; __extension__ typedef long int __swblk_t; __extension__ typedef int __key_t; __extension__ typedef int __clockid_t; __extension__ typedef void * __timer_t; __extension__ typedef long int __blksize_t; __extension__ typedef long int __blkcnt_t; __extension__ typedef __quad_t __blkcnt64_t; __extension__ typedef unsigned long int __fsblkcnt_t; __extension__ typedef __u_quad_t __fsblkcnt64_t; __extension__ typedef unsigned long int __fsfilcnt_t; __extension__ typedef __u_quad_t __fsfilcnt64_t; __extension__ typedef int __ssize_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; __extension__ typedef int __intptr_t; __extension__ typedef unsigned int __socklen_t; # 31 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/types.h" 2 3 4 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; typedef __ino64_t ino64_t; typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; typedef __off_t off_t; typedef __off64_t off64_t; typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 133 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/types.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/time.h" 1 3 4 # 58 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/time.h" 3 4 typedef __clock_t clock_t; # 74 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/time.h" 3 4 typedef __time_t time_t; # 92 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/time.h" 3 4 typedef __clockid_t clockid_t; # 104 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/time.h" 3 4 typedef __timer_t timer_t; # 134 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/types.h" 2 3 4 typedef __useconds_t useconds_t; typedef __suseconds_t suseconds_t; # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stddef.h" 1 3 4 # 148 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 195 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/types.h" 3 4 typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef int int64_t __attribute__ ((__mode__ (__DI__))); typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 220 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/types.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/select.h" 1 3 4 # 31 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/select.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/select.h" 1 3 4 # 32 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/select.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigset.h" 1 3 4 # 24 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 35 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/time.h" 1 3 4 # 120 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/time.h" 3 4 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 45 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/select.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/time.h" 1 3 4 # 75 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/time.h" 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/select.h" 2 3 4 # 55 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/select.h" 3 4 typedef long int __fd_mask; # 67 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/select.h" 3 4 typedef struct { __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 99 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/select.h" 3 4 # 109 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 121 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/select.h" 3 4 extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); # 221 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/types.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/sysmacros.h" 1 3 4 # 30 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/sysmacros.h" 3 4 __extension__ extern unsigned int gnu_dev_major (unsigned long long int __dev) __attribute__ ((__nothrow__)); __extension__ extern unsigned int gnu_dev_minor (unsigned long long int __dev) __attribute__ ((__nothrow__)); __extension__ extern unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) __attribute__ ((__nothrow__)); __extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned int __attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned int __attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned long long int __attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor) { return ((__minor & 0xff) | ((__major & 0xfff) << 8) | (((unsigned long long int) (__minor & ~0xff)) << 12) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # 224 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 263 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/pthreadtypes.h" 1 3 4 # 38 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/pthreadtypes.h" 3 4 typedef unsigned long int pthread_t; typedef union { char __size[36]; long int __align; } pthread_attr_t; typedef struct __pthread_internal_slist { struct __pthread_internal_slist *__next; } __pthread_slist_t; typedef union { struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; int __kind; unsigned int __nusers; __extension__ union { int __spins; __pthread_slist_t __list; }; } __data; char __size[24]; long int __align; } pthread_mutex_t; typedef union { char __size[4]; long int __align; } pthread_mutexattr_t; typedef union { struct { int __lock; unsigned int __futex; __extension__ unsigned long long int __total_seq; __extension__ unsigned long long int __wakeup_seq; __extension__ unsigned long long int __woken_seq; void *__mutex; unsigned int __nwaiters; unsigned int __broadcast_seq; } __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { char __size[4]; long int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; typedef union { struct { int __lock; unsigned int __nr_readers; unsigned int __readers_wakeup; unsigned int __writer_wakeup; unsigned int __nr_readers_queued; unsigned int __nr_writers_queued; # 141 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/pthreadtypes.h" 3 4 unsigned char __flags; unsigned char __shared; unsigned char __pad1; unsigned char __pad2; int __writer; } __data; char __size[32]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[20]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 272 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/types.h" 2 3 4 # 321 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 2 3 4 extern long int random (void) __attribute__ ((__nothrow__)); extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__)); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) __attribute__ ((__nothrow__)); extern void srand (unsigned int __seed) __attribute__ ((__nothrow__)); extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__)); extern double drand48 (void) __attribute__ ((__nothrow__)); extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) __attribute__ ((__nothrow__)); extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) __attribute__ ((__nothrow__)); extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) __attribute__ ((__nothrow__)); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); extern void free (void *__ptr) __attribute__ ((__nothrow__)); extern void cfree (void *__ptr) __attribute__ ((__nothrow__)); # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/alloca.h" 1 3 4 # 25 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/alloca.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stddef.h" 1 3 4 # 26 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/alloca.h" 2 3 4 extern void *alloca (size_t __size) __attribute__ ((__nothrow__)); # 498 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 528 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); extern void quick_exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); extern void _Exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern char *__secure_getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int setenv (__const char *__name, __const char *__value, int __replace) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int clearenv (void) __attribute__ ((__nothrow__)); # 606 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 620 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; # 630 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; # 642 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; # 652 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern int mkstemps64 (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; # 663 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 674 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; # 684 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; # 694 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern int mkostemps (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) ; # 706 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern int mkostemps64 (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) ; extern int system (__const char *__command) ; extern char *canonicalize_file_name (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 734 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) __attribute__ ((__nothrow__)) ; typedef int (*__compar_fn_t) (__const void *, __const void *); typedef __compar_fn_t comparison_fn_t; typedef int (*__compar_d_fn_t) (__const void *, __const void *, void *); extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) ; extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); extern void qsort_r (void *__base, size_t __nmemb, size_t __size, __compar_d_fn_t __compar, void *__arg) __attribute__ ((__nonnull__ (1, 4))); extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; __extension__ extern long long int llabs (long long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern div_t div (int __numer, int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; # 808 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ; extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)); extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) __attribute__ ((__nothrow__)); extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 896 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *__const *__restrict __tokens, char **__restrict __valuep) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3))) ; extern void setkey (__const char *__key) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int posix_openpt (int __oflag) ; extern int grantpt (int __fd) __attribute__ ((__nothrow__)); extern int unlockpt (int __fd) __attribute__ ((__nothrow__)); extern char *ptsname (int __fd) __attribute__ ((__nothrow__)) ; extern int ptsname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 964 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdlib.h" 3 4 # 35 "../../../../src/gallium/include/pipe/p_compiler.h" 2 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 1 3 4 # 29 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stddef.h" 1 3 4 # 35 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 2 3 4 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, __const void *__src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 95 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern void *memchr (__const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 109 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern void *rawmemchr (__const void *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 120 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern void *memrchr (__const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); # 165 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n, __locale_t __l) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); extern char *strdup (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); extern char *strndup (__const char *__string, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 210 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 # 235 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern char *strchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 262 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern char *strrchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 276 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern char *strchrnul (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strcspn (__const char *__s, __const char *__reject) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 314 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern char *strpbrk (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 342 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern char *strstr (__const char *__haystack, __const char *__needle) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); # 373 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern char *strcasestr (__const char *__haystack, __const char *__needle) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmem (__const void *__haystack, size_t __haystacklen, __const void *__needle, size_t __needlelen) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3))); extern void *__mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strlen (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strnlen (__const char *__string, size_t __maxlen) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strerror (int __errnum) __attribute__ ((__nothrow__)); # 438 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *strerror_l (int __errnum, __locale_t __l) __attribute__ ((__nothrow__)); extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void bcopy (__const void *__src, void *__dest, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 489 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern char *index (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 517 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern char *rindex (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int ffsl (long int __l) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int strcasecmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcasecmp_l (__const char *__s1, __const char *__s2, __locale_t __loc) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern int strncasecmp_l (__const char *__s1, __const char *__s2, size_t __n, __locale_t __loc) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4))); extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strsignal (int __sig) __attribute__ ((__nothrow__)); extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *__stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int strverscmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strfry (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 606 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 extern char *basename (__const char *__filename) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 634 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/string.h" 1 3 4 # 635 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/string2.h" 1 3 4 # 80 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/string2.h" 3 4 typedef struct { unsigned char __arr[2]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR2; typedef struct { unsigned char __arr[3]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR3; typedef struct { unsigned char __arr[4]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR4; typedef struct { unsigned char __arr[5]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR5; typedef struct { unsigned char __arr[6]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR6; typedef struct { unsigned char __arr[7]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR7; typedef struct { unsigned char __arr[8]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR8; # 394 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/string2.h" 3 4 extern void *__rawmemchr (const void *__s, int __c); # 969 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/string2.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c1 (__const char *__s, int __reject); extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c1 (__const char *__s, int __reject) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject) ++__result; return __result; } extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2); extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2) ++__result; return __result; } extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3); extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2 && __s[__result] != __reject3) ++__result; return __result; } # 1045 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/string2.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c1 (__const char *__s, int __accept); extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c1 (__const char *__s, int __accept) { register size_t __result = 0; while (__s[__result] == __accept) ++__result; return __result; } extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2); extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2) ++__result; return __result; } extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2 || __s[__result] == __accept3) ++__result; return __result; } # 1121 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/string2.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c2 (__const char *__s, int __accept1, int __accept2); extern __inline __attribute__ ((__gnu_inline__)) char * __strpbrk_c2 (__const char *__s, int __accept1, int __accept2) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline __attribute__ ((__gnu_inline__)) char * __strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 && *__s != __accept3) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } # 1172 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/string2.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) char *__strtok_r_1c (char *__s, char __sep, char **__nextp); extern __inline __attribute__ ((__gnu_inline__)) char * __strtok_r_1c (char *__s, char __sep, char **__nextp) { char *__result; if (__s == ((void *)0)) __s = *__nextp; while (*__s == __sep) ++__s; __result = ((void *)0); if (*__s != '\0') { __result = __s++; while (*__s != '\0') if (*__s++ == __sep) { __s[-1] = '\0'; break; } } *__nextp = __s; return __result; } # 1204 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/string2.h" 3 4 extern char *__strsep_g (char **__stringp, __const char *__delim); # 1222 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/string2.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_1c (char **__s, char __reject); extern __inline __attribute__ ((__gnu_inline__)) char * __strsep_1c (char **__s, char __reject) { register char *__retval = *__s; if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0)) *(*__s)++ = '\0'; return __retval; } extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_2c (char **__s, char __reject1, char __reject2); extern __inline __attribute__ ((__gnu_inline__)) char * __strsep_2c (char **__s, char __reject1, char __reject2) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3); extern __inline __attribute__ ((__gnu_inline__)) char * __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } # 1303 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/string2.h" 3 4 extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); # 1322 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/string2.h" 3 4 extern char *__strndup (__const char *__string, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); # 638 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 2 3 4 # 646 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/string.h" 3 4 # 36 "../../../../src/gallium/include/pipe/p_compiler.h" 2 # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stddef.h" 1 3 4 # 150 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stddef.h" 3 4 typedef int ptrdiff_t; # 37 "../../../../src/gallium/include/pipe/p_compiler.h" 2 # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stdarg.h" 1 3 4 # 40 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 102 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stdarg.h" 3 4 typedef __gnuc_va_list va_list; # 38 "../../../../src/gallium/include/pipe/p_compiler.h" 2 # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include-fixed/limits.h" 1 3 4 # 34 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include-fixed/limits.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include-fixed/syslimits.h" 1 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include-fixed/limits.h" 1 3 4 # 169 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include-fixed/limits.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/limits.h" 1 3 4 # 145 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/limits.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/posix1_lim.h" 1 3 4 # 157 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/posix1_lim.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/local_lim.h" 1 3 4 # 39 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/local_lim.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/linux/limits.h" 1 3 4 # 40 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/local_lim.h" 2 3 4 # 158 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/posix1_lim.h" 2 3 4 # 146 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/limits.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/posix2_lim.h" 1 3 4 # 150 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/limits.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/xopen_lim.h" 1 3 4 # 34 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/xopen_lim.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/stdio_lim.h" 1 3 4 # 35 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/xopen_lim.h" 2 3 4 # 154 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/limits.h" 2 3 4 # 170 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include-fixed/limits.h" 2 3 4 # 8 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include-fixed/syslimits.h" 2 3 4 # 35 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include-fixed/limits.h" 2 3 4 # 39 "../../../../src/gallium/include/pipe/p_compiler.h" 2 # 60 "../../../../src/gallium/include/pipe/p_compiler.h" # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stdint.h" 1 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdint.h" 1 3 4 # 27 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdint.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/wchar.h" 1 3 4 # 28 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdint.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/wordsize.h" 1 3 4 # 29 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdint.h" 2 3 4 # 49 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdint.h" 3 4 typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; __extension__ typedef unsigned long long int uint64_t; typedef signed char int_least8_t; typedef short int int_least16_t; typedef int int_least32_t; __extension__ typedef long long int int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; __extension__ typedef unsigned long long int uint_least64_t; typedef signed char int_fast8_t; typedef int int_fast16_t; typedef int int_fast32_t; __extension__ typedef long long int int_fast64_t; typedef unsigned char uint_fast8_t; typedef unsigned int uint_fast16_t; typedef unsigned int uint_fast32_t; __extension__ typedef unsigned long long int uint_fast64_t; # 126 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdint.h" 3 4 typedef int intptr_t; typedef unsigned int uintptr_t; # 138 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/stdint.h" 3 4 __extension__ typedef long long int intmax_t; __extension__ typedef unsigned long long int uintmax_t; # 4 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stdint.h" 2 3 4 # 61 "../../../../src/gallium/include/pipe/p_compiler.h" 2 # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stdbool.h" 1 3 4 # 62 "../../../../src/gallium/include/pipe/p_compiler.h" 2 # 73 "../../../../src/gallium/include/pipe/p_compiler.h" typedef unsigned char ubyte; typedef unsigned char boolean; # 32 "../../../../src/gallium/auxiliary/tgsi/tgsi_parse.h" 2 struct tgsi_full_header { struct tgsi_header Header; struct tgsi_processor Processor; }; struct tgsi_full_dst_register { struct tgsi_dst_register Register; struct tgsi_src_register Indirect; struct tgsi_dimension Dimension; struct tgsi_src_register DimIndirect; }; struct tgsi_full_src_register { struct tgsi_src_register Register; struct tgsi_src_register Indirect; struct tgsi_dimension Dimension; struct tgsi_src_register DimIndirect; }; struct tgsi_immediate_array_data { union tgsi_immediate_data *u; }; struct tgsi_full_declaration { struct tgsi_declaration Declaration; struct tgsi_declaration_range Range; struct tgsi_declaration_dimension Dim; struct tgsi_declaration_semantic Semantic; struct tgsi_immediate_array_data ImmediateData; }; struct tgsi_full_immediate { struct tgsi_immediate Immediate; union tgsi_immediate_data u[4]; }; struct tgsi_full_property { struct tgsi_property Property; struct tgsi_property_data u[8]; }; struct tgsi_full_instruction { struct tgsi_instruction Instruction; struct tgsi_instruction_predicate Predicate; struct tgsi_instruction_label Label; struct tgsi_instruction_texture Texture; struct tgsi_full_dst_register Dst[2]; struct tgsi_full_src_register Src[4]; }; union tgsi_full_token { struct tgsi_token Token; struct tgsi_full_instruction FullInstruction; }; struct tgsi_parse_context { union tgsi_full_token FullToken; }; unsigned tgsi_parse_init( struct tgsi_parse_context *ctx, const struct tgsi_token *tokens ); void tgsi_parse_free( struct tgsi_parse_context *ctx ); boolean tgsi_parse_end_of_tokens( struct tgsi_parse_context *ctx ); void tgsi_parse_token( struct tgsi_parse_context *ctx ); static __inline__ unsigned tgsi_num_tokens(const struct tgsi_token *tokens) { struct tgsi_header header = *(const struct tgsi_header *) tokens; return header.HeaderSize + header.BodySize; } void tgsi_dump_tokens(const struct tgsi_token *tokens); struct tgsi_token * tgsi_dup_tokens(const struct tgsi_token *tokens); struct tgsi_token * tgsi_alloc_tokens(unsigned num_tokens); # 29 "svga_tgsi_insn.c" 2 # 1 "../../../../src/gallium/auxiliary/util/u_memory.h" 1 # 38 "../../../../src/gallium/auxiliary/util/u_memory.h" # 1 "../../../../src/gallium/auxiliary/util/u_pointer.h" 1 # 37 "../../../../src/gallium/auxiliary/util/u_pointer.h" static __inline__ intptr_t pointer_to_intptr( const void *p ) { union { const void *p; intptr_t i; } pi; pi.p = p; return pi.i; } static __inline__ void * intptr_to_pointer( intptr_t i ) { union { void *p; intptr_t i; } pi; pi.i = i; return pi.p; } static __inline__ uintptr_t pointer_to_uintptr( const void *ptr ) { union { const void *p; uintptr_t u; } pu; pu.p = ptr; return pu.u; } static __inline__ void * uintptr_to_pointer( uintptr_t u ) { union { void *p; uintptr_t u; } pu; pu.u = u; return pu.p; } static __inline__ void * align_pointer( const void *unaligned, uintptr_t alignment ) { uintptr_t aligned = (pointer_to_uintptr( unaligned ) + alignment - 1) & ~(alignment - 1); return uintptr_to_pointer( aligned ); } static __inline__ void * align16( void *unaligned ) { return align_pointer( unaligned, 16 ); } typedef void (*func_pointer)(void); static __inline__ func_pointer pointer_to_func( void *p ) { union { void *p; func_pointer f; } pf; pf.p = p; return pf.f; } static __inline__ void * func_to_pointer( func_pointer f ) { union { void *p; func_pointer f; } pf; pf.f = f; return pf.p; } # 39 "../../../../src/gallium/auxiliary/util/u_memory.h" 2 # 1 "../../../../src/gallium/auxiliary/util/u_debug.h" 1 # 42 "../../../../src/gallium/auxiliary/util/u_debug.h" # 1 "../../../../src/gallium/auxiliary/os/os_misc.h" 1 # 42 "../../../../src/gallium/auxiliary/os/os_misc.h" # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 1 3 4 # 31 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigset.h" 1 3 4 # 104 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigset.h" 3 4 extern int __sigismember (__const __sigset_t *, int); extern int __sigaddset (__sigset_t *, int); extern int __sigdelset (__sigset_t *, int); # 118 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigset.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int __sigismember (__const __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return (__set->__val[__word] & __mask) ? 1 : 0; } extern __inline __attribute__ ((__gnu_inline__)) int __sigaddset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] |= __mask), 0); } extern __inline __attribute__ ((__gnu_inline__)) int __sigdelset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] &= ~__mask), 0); } # 34 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 2 3 4 typedef __sig_atomic_t sig_atomic_t; # 58 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/signum.h" 1 3 4 # 59 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 2 3 4 # 76 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/time.h" 1 3 4 # 77 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/siginfo.h" 1 3 4 # 25 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/siginfo.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/wordsize.h" 1 3 4 # 26 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/siginfo.h" 2 3 4 typedef union sigval { int sival_int; void *sival_ptr; } sigval_t; # 51 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/siginfo.h" 3 4 typedef struct siginfo { int si_signo; int si_errno; int si_code; union { int _pad[((128 / sizeof (int)) - 3)]; struct { __pid_t si_pid; __uid_t si_uid; } _kill; struct { int si_tid; int si_overrun; sigval_t si_sigval; } _timer; struct { __pid_t si_pid; __uid_t si_uid; sigval_t si_sigval; } _rt; struct { __pid_t si_pid; __uid_t si_uid; int si_status; __clock_t si_utime; __clock_t si_stime; } _sigchld; struct { void *si_addr; } _sigfault; struct { long int si_band; int si_fd; } _sigpoll; } _sifields; } siginfo_t; # 129 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/siginfo.h" 3 4 enum { SI_ASYNCNL = -60, SI_TKILL = -6, SI_SIGIO, SI_ASYNCIO, SI_MESGQ, SI_TIMER, SI_QUEUE, SI_USER, SI_KERNEL = 0x80 }; enum { ILL_ILLOPC = 1, ILL_ILLOPN, ILL_ILLADR, ILL_ILLTRP, ILL_PRVOPC, ILL_PRVREG, ILL_COPROC, ILL_BADSTK }; enum { FPE_INTDIV = 1, FPE_INTOVF, FPE_FLTDIV, FPE_FLTOVF, FPE_FLTUND, FPE_FLTRES, FPE_FLTINV, FPE_FLTSUB }; enum { SEGV_MAPERR = 1, SEGV_ACCERR }; enum { BUS_ADRALN = 1, BUS_ADRERR, BUS_OBJERR }; enum { TRAP_BRKPT = 1, TRAP_TRACE }; enum { CLD_EXITED = 1, CLD_KILLED, CLD_DUMPED, CLD_TRAPPED, CLD_STOPPED, CLD_CONTINUED }; enum { POLL_IN = 1, POLL_OUT, POLL_MSG, POLL_ERR, POLL_PRI, POLL_HUP }; # 273 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/siginfo.h" 3 4 typedef struct sigevent { sigval_t sigev_value; int sigev_signo; int sigev_notify; union { int _pad[((64 / sizeof (int)) - 3)]; __pid_t _tid; struct { void (*_function) (sigval_t); void *_attribute; } _sigev_thread; } _sigev_un; } sigevent_t; enum { SIGEV_SIGNAL = 0, SIGEV_NONE, SIGEV_THREAD, SIGEV_THREAD_ID = 4 }; # 80 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 2 3 4 typedef void (*__sighandler_t) (int); extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__)); extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__)); extern __sighandler_t signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__)); # 113 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 3 4 extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__)); extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__)); extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__)); extern int raise (int __sig) __attribute__ ((__nothrow__)); extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__)); extern int gsignal (int __sig) __attribute__ ((__nothrow__)); extern void psignal (int __sig, __const char *__s); extern void psiginfo (__const siginfo_t *__pinfo, __const char *__s); # 168 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 3 4 extern int __sigpause (int __sig_or_mask, int __is_sig); # 177 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 3 4 extern int sigpause (int __sig) __asm__ ("__xpg_sigpause"); # 196 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 3 4 extern int sigblock (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__)); extern int sigsetmask (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__)); extern int siggetmask (void) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__)); # 211 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 3 4 typedef __sighandler_t sighandler_t; typedef __sighandler_t sig_t; extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sigismember (__const sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sigisemptyset (__const sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sigandset (sigset_t *__set, __const sigset_t *__left, __const sigset_t *__right) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern int sigorset (sigset_t *__set, __const sigset_t *__left, __const sigset_t *__right) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3))); # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigaction.h" 1 3 4 # 25 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigaction.h" 3 4 struct sigaction { union { __sighandler_t sa_handler; void (*sa_sigaction) (int, siginfo_t *, void *); } __sigaction_handler; __sigset_t sa_mask; int sa_flags; void (*sa_restorer) (void); }; # 253 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 2 3 4 extern int sigprocmask (int __how, __const sigset_t *__restrict __set, sigset_t *__restrict __oset) __attribute__ ((__nothrow__)); extern int sigsuspend (__const sigset_t *__set) __attribute__ ((__nonnull__ (1))); extern int sigaction (int __sig, __const struct sigaction *__restrict __act, struct sigaction *__restrict __oact) __attribute__ ((__nothrow__)); extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig) __attribute__ ((__nonnull__ (1, 2))); extern int sigwaitinfo (__const sigset_t *__restrict __set, siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1))); extern int sigtimedwait (__const sigset_t *__restrict __set, siginfo_t *__restrict __info, __const struct timespec *__restrict __timeout) __attribute__ ((__nonnull__ (1))); extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val) __attribute__ ((__nothrow__)); # 310 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 3 4 extern __const char *__const _sys_siglist[65]; extern __const char *__const sys_siglist[65]; struct sigvec { __sighandler_t sv_handler; int sv_mask; int sv_flags; }; # 334 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 3 4 extern int sigvec (int __sig, __const struct sigvec *__vec, struct sigvec *__ovec) __attribute__ ((__nothrow__)); # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigcontext.h" 1 3 4 # 28 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigcontext.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/asm/sigcontext.h" 1 3 4 # 9 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/asm/sigcontext.h" 3 4 struct sigcontext { unsigned long trap_no; unsigned long error_code; unsigned long oldmask; unsigned long arm_r0; unsigned long arm_r1; unsigned long arm_r2; unsigned long arm_r3; unsigned long arm_r4; unsigned long arm_r5; unsigned long arm_r6; unsigned long arm_r7; unsigned long arm_r8; unsigned long arm_r9; unsigned long arm_r10; unsigned long arm_fp; unsigned long arm_ip; unsigned long arm_sp; unsigned long arm_lr; unsigned long arm_pc; unsigned long arm_cpsr; unsigned long fault_address; }; # 29 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigcontext.h" 2 3 4 # 340 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 2 3 4 extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__)); # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stddef.h" 1 3 4 # 350 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 2 3 4 extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__)); # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigstack.h" 1 3 4 # 26 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigstack.h" 3 4 struct sigstack { void *ss_sp; int ss_onstack; }; enum { SS_ONSTACK = 1, SS_DISABLE }; # 50 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigstack.h" 3 4 typedef struct sigaltstack { void *ss_sp; int ss_flags; size_t ss_size; } stack_t; # 357 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/ucontext.h" 1 3 4 # 25 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/ucontext.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 1 3 4 # 26 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/ucontext.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/procfs.h" 1 3 4 # 32 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/procfs.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/time.h" 1 3 4 # 27 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/time.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/time.h" 1 3 4 # 28 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/time.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/time.h" 1 3 4 # 30 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/time.h" 2 3 4 # 39 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/time.h" 3 4 # 57 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/time.h" 3 4 struct timezone { int tz_minuteswest; int tz_dsttime; }; typedef struct timezone *__restrict __timezone_ptr_t; # 73 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/time.h" 3 4 extern int gettimeofday (struct timeval *__restrict __tv, __timezone_ptr_t __tz) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int settimeofday (__const struct timeval *__tv, __const struct timezone *__tz) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int adjtime (__const struct timeval *__delta, struct timeval *__olddelta) __attribute__ ((__nothrow__)); enum __itimer_which { ITIMER_REAL = 0, ITIMER_VIRTUAL = 1, ITIMER_PROF = 2 }; struct itimerval { struct timeval it_interval; struct timeval it_value; }; typedef enum __itimer_which __itimer_which_t; extern int getitimer (__itimer_which_t __which, struct itimerval *__value) __attribute__ ((__nothrow__)); extern int setitimer (__itimer_which_t __which, __const struct itimerval *__restrict __new, struct itimerval *__restrict __old) __attribute__ ((__nothrow__)); extern int utimes (__const char *__file, __const struct timeval __tvp[2]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int lutimes (__const char *__file, __const struct timeval __tvp[2]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int futimes (int __fd, __const struct timeval __tvp[2]) __attribute__ ((__nothrow__)); extern int futimesat (int __fd, __const char *__file, __const struct timeval __tvp[2]) __attribute__ ((__nothrow__)); # 191 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/time.h" 3 4 # 33 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/procfs.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/user.h" 1 3 4 # 26 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/user.h" 3 4 struct user_fpregs { struct fp_reg { unsigned int sign1:1; unsigned int unused:15; unsigned int sign2:1; unsigned int exponent:14; unsigned int j:1; unsigned int mantissa1:31; unsigned int mantissa0:32; } fpregs[8]; unsigned int fpsr:32; unsigned int fpcr:32; unsigned char ftype[8]; unsigned int init_flag; }; struct user_regs { unsigned long int uregs[18]; }; struct user { struct user_regs regs; int u_fpvalid; unsigned long int u_tsize; unsigned long int u_dsize; unsigned long int u_ssize; unsigned long start_code; unsigned long start_stack; long int signal; int reserved; struct user_regs *u_ar0; unsigned long magic; char u_comm[32]; int u_debugreg[8]; struct user_fpregs u_fp; struct user_fpregs *u_fp0; }; # 35 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/procfs.h" 2 3 4 typedef unsigned long elf_greg_t; typedef elf_greg_t elf_gregset_t[(sizeof (struct user_regs) / sizeof(elf_greg_t))]; typedef struct user_fpregs elf_fpregset_t; struct elf_siginfo { int si_signo; int si_code; int si_errno; }; # 66 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/procfs.h" 3 4 struct elf_prstatus { struct elf_siginfo pr_info; short int pr_cursig; unsigned long int pr_sigpend; unsigned long int pr_sighold; __pid_t pr_pid; __pid_t pr_ppid; __pid_t pr_pgrp; __pid_t pr_sid; struct timeval pr_utime; struct timeval pr_stime; struct timeval pr_cutime; struct timeval pr_cstime; elf_gregset_t pr_reg; int pr_fpvalid; }; struct elf_prpsinfo { char pr_state; char pr_sname; char pr_zomb; char pr_nice; unsigned long int pr_flag; unsigned short int pr_uid; unsigned short int pr_gid; int pr_pid, pr_ppid, pr_pgrp, pr_sid; char pr_fname[16]; char pr_psargs[(80)]; }; typedef void *psaddr_t; typedef elf_gregset_t prgregset_t; typedef elf_fpregset_t prfpregset_t; typedef __pid_t lwpid_t; typedef struct elf_prstatus prstatus_t; typedef struct elf_prpsinfo prpsinfo_t; # 27 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/ucontext.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigcontext.h" 1 3 4 # 31 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/sys/ucontext.h" 2 3 4 typedef int greg_t; typedef elf_gregset_t gregset_t; enum { R0 = 0, R1 = 1, R2 = 2, R3 = 3, R4 = 4, R5 = 5, R6 = 6, R7 = 7, R8 = 8, R9 = 9, R10 = 10, R11 = 11, R12 = 12, R13 = 13, R14 = 14, R15 = 15 }; typedef elf_fpregset_t fpregset_t; typedef struct sigcontext mcontext_t; typedef struct ucontext { unsigned long uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; unsigned long uc_regspace[128] __attribute__((__aligned__(8))); } ucontext_t; # 360 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 2 3 4 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__)); extern int sigaltstack (__const struct sigaltstack *__restrict __ss, struct sigaltstack *__restrict __oss) __attribute__ ((__nothrow__)); extern int sighold (int __sig) __attribute__ ((__nothrow__)); extern int sigrelse (int __sig) __attribute__ ((__nothrow__)); extern int sigignore (int __sig) __attribute__ ((__nothrow__)); extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __attribute__ ((__nothrow__)); # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigthread.h" 1 3 4 # 31 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/sigthread.h" 3 4 extern int pthread_sigmask (int __how, __const __sigset_t *__restrict __newmask, __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__)); extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__)); extern int pthread_sigqueue (pthread_t __threadid, int __signo, const union sigval __value) __attribute__ ((__nothrow__)); # 396 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/signal.h" 2 3 4 extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__)); extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__)); # 43 "../../../../src/gallium/auxiliary/os/os_misc.h" 2 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 1 3 4 # 28 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 # 203 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/posix_opt.h" 1 3 4 # 204 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 2 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/environments.h" 1 3 4 # 23 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/environments.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/wordsize.h" 1 3 4 # 24 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/environments.h" 2 3 4 # 208 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 2 3 4 # 227 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stddef.h" 1 3 4 # 228 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 2 3 4 # 275 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 typedef __socklen_t socklen_t; # 288 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern int access (__const char *__name, int __type) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int euidaccess (__const char *__name, int __type) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int eaccess (__const char *__name, int __type) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int faccessat (int __fd, __const char *__file, int __type, int __flag) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ; # 331 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__)); # 342 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) __attribute__ ((__nothrow__)); extern int close (int __fd); extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ; extern ssize_t write (int __fd, __const void *__buf, size_t __n) ; # 373 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) ; extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, __off_t __offset) ; # 401 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) ; extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, __off64_t __offset) ; extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__)) ; extern int pipe2 (int __pipedes[2], int __flags) __attribute__ ((__nothrow__)) ; # 429 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__)); # 441 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern unsigned int sleep (unsigned int __seconds); extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) __attribute__ ((__nothrow__)); extern int usleep (__useconds_t __useconds); # 466 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern int pause (void); extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) ; extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int fchownat (int __fd, __const char *__file, __uid_t __owner, __gid_t __group, int __flag) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ; extern int chdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int fchdir (int __fd) __attribute__ ((__nothrow__)) ; # 508 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__)) ; extern char *get_current_dir_name (void) __attribute__ ((__nothrow__)); extern char *getwd (char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ; extern int dup (int __fd) __attribute__ ((__nothrow__)) ; extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__)); extern int dup3 (int __fd, int __fd2, int __flags) __attribute__ ((__nothrow__)); extern char **__environ; extern char **environ; extern int execve (__const char *__path, char *__const __argv[], char *__const __envp[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int execv (__const char *__path, char *__const __argv[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int execle (__const char *__path, __const char *__arg, ...) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int execl (__const char *__path, __const char *__arg, ...) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int execvp (__const char *__file, char *__const __argv[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int execlp (__const char *__file, __const char *__arg, ...) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int execvpe (__const char *__file, char *__const __argv[], char *__const __envp[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int nice (int __inc) __attribute__ ((__nothrow__)) ; extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/confname.h" 1 3 4 # 26 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/bits/confname.h" 3 4 enum { _PC_LINK_MAX, _PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, _PC_PATH_MAX, _PC_PIPE_BUF, _PC_CHOWN_RESTRICTED, _PC_NO_TRUNC, _PC_VDISABLE, _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX, _PC_2_SYMLINKS }; enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG, _SC_LEVEL1_ICACHE_SIZE, _SC_LEVEL1_ICACHE_ASSOC, _SC_LEVEL1_ICACHE_LINESIZE, _SC_LEVEL1_DCACHE_SIZE, _SC_LEVEL1_DCACHE_ASSOC, _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL2_CACHE_SIZE, _SC_LEVEL2_CACHE_ASSOC, _SC_LEVEL2_CACHE_LINESIZE, _SC_LEVEL3_CACHE_SIZE, _SC_LEVEL3_CACHE_ASSOC, _SC_LEVEL3_CACHE_LINESIZE, _SC_LEVEL4_CACHE_SIZE, _SC_LEVEL4_CACHE_ASSOC, _SC_LEVEL4_CACHE_LINESIZE, _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, _SC_RAW_SOCKETS, _SC_V7_ILP32_OFF32, _SC_V7_ILP32_OFFBIG, _SC_V7_LP64_OFF64, _SC_V7_LPBIG_OFFBIG, _SC_SS_REPL_MAX, _SC_TRACE_EVENT_NAME_MAX, _SC_TRACE_NAME_MAX, _SC_TRACE_SYS_MAX, _SC_TRACE_USER_EVENT_MAX, _SC_XOPEN_STREAMS, _SC_THREAD_ROBUST_PRIO_INHERIT, _SC_THREAD_ROBUST_PRIO_PROTECT }; enum { _CS_PATH, _CS_V6_WIDTH_RESTRICTED_ENVS, _CS_GNU_LIBC_VERSION, _CS_GNU_LIBPTHREAD_VERSION, _CS_V5_WIDTH_RESTRICTED_ENVS, _CS_V7_WIDTH_RESTRICTED_ENVS, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V7_ILP32_OFF32_CFLAGS, _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, _CS_POSIX_V7_ILP32_OFF32_LIBS, _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_LIBS, _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V7_LP64_OFF64_CFLAGS, _CS_POSIX_V7_LP64_OFF64_LDFLAGS, _CS_POSIX_V7_LP64_OFF64_LIBS, _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, _CS_V6_ENV, _CS_V7_ENV }; # 607 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 2 3 4 extern long int pathconf (__const char *__path, int __name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__)); extern long int sysconf (int __name) __attribute__ ((__nothrow__)); extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__)); extern __pid_t getpid (void) __attribute__ ((__nothrow__)); extern __pid_t getppid (void) __attribute__ ((__nothrow__)); extern __pid_t getpgrp (void) __attribute__ ((__nothrow__)); # 643 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__)); extern __pid_t getpgid (__pid_t __pid) __attribute__ ((__nothrow__)); extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__)); # 669 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern int setpgrp (void) __attribute__ ((__nothrow__)); # 686 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern __pid_t setsid (void) __attribute__ ((__nothrow__)); extern __pid_t getsid (__pid_t __pid) __attribute__ ((__nothrow__)); extern __uid_t getuid (void) __attribute__ ((__nothrow__)); extern __uid_t geteuid (void) __attribute__ ((__nothrow__)); extern __gid_t getgid (void) __attribute__ ((__nothrow__)); extern __gid_t getegid (void) __attribute__ ((__nothrow__)); extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__)) ; extern int group_member (__gid_t __gid) __attribute__ ((__nothrow__)); extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__)); extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__)); extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__)); extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__)); extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__)); extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__)); extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid) __attribute__ ((__nothrow__)); extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid) __attribute__ ((__nothrow__)); extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid) __attribute__ ((__nothrow__)); extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) __attribute__ ((__nothrow__)); extern __pid_t fork (void) __attribute__ ((__nothrow__)); extern __pid_t vfork (void) __attribute__ ((__nothrow__)); extern char *ttyname (int __fd) __attribute__ ((__nothrow__)); extern int ttyname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ; extern int isatty (int __fd) __attribute__ ((__nothrow__)); extern int ttyslot (void) __attribute__ ((__nothrow__)); extern int link (__const char *__from, __const char *__to) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; extern int linkat (int __fromfd, __const char *__from, int __tofd, __const char *__to, int __flags) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))) ; extern int symlink (__const char *__from, __const char *__to) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; extern ssize_t readlink (__const char *__restrict __path, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ; extern int symlinkat (__const char *__from, int __tofd, __const char *__to) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ; extern ssize_t readlinkat (int __fd, __const char *__restrict __path, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))) ; extern int unlink (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int unlinkat (int __fd, __const char *__name, int __flag) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int rmdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__)); extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__)); extern char *getlogin (void); extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); extern int setlogin (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 890 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 # 1 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/getopt.h" 1 3 4 # 59 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/getopt.h" 3 4 extern char *optarg; # 73 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/getopt.h" 3 4 extern int optind; extern int opterr; extern int optopt; # 152 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/getopt.h" 3 4 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) __attribute__ ((__nothrow__)); # 891 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 2 3 4 extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int sethostname (__const char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int sethostid (long int __id) __attribute__ ((__nothrow__)) ; extern int getdomainname (char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int setdomainname (__const char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int vhangup (void) __attribute__ ((__nothrow__)); extern int revoke (__const char *__file) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int acct (__const char *__name) __attribute__ ((__nothrow__)); extern char *getusershell (void) __attribute__ ((__nothrow__)); extern void endusershell (void) __attribute__ ((__nothrow__)); extern void setusershell (void) __attribute__ ((__nothrow__)); extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__)) ; extern int chroot (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1))); # 976 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern int fsync (int __fd); extern long int gethostid (void); extern void sync (void) __attribute__ ((__nothrow__)); extern int getpagesize (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern int getdtablesize (void) __attribute__ ((__nothrow__)); # 1007 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern int truncate (__const char *__file, __off_t __length) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 1019 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern int truncate64 (__const char *__file, __off64_t __length) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 1029 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__)) ; # 1039 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern int ftruncate64 (int __fd, __off64_t __length) __attribute__ ((__nothrow__)) ; # 1050 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern int brk (void *__addr) __attribute__ ((__nothrow__)) ; extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__)); # 1071 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__)); # 1094 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern int lockf (int __fd, int __cmd, __off_t __len) ; # 1104 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern int lockf64 (int __fd, int __cmd, __off64_t __len) ; # 1125 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 extern int fdatasync (int __fildes); extern char *crypt (__const char *__key, __const char *__salt) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void encrypt (char *__libc_block, int __edflag) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void swab (__const void *__restrict __from, void *__restrict __to, ssize_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *ctermid (char *__s) __attribute__ ((__nothrow__)); # 1163 "/build_disk/poky_build/build0/tmp/sysroots/beagleboard/usr/include/unistd.h" 3 4 # 44 "../../../../src/gallium/auxiliary/os/os_misc.h" 2 # 83 "../../../../src/gallium/auxiliary/os/os_misc.h" void os_log_message(const char *message); const char * os_get_option(const char *name); # 43 "../../../../src/gallium/auxiliary/util/u_debug.h" 2 # 56 "../../../../src/gallium/auxiliary/util/u_debug.h" void _debug_vprintf(const char *format, va_list ap); static __inline__ void _debug_printf(const char *format, ...) { va_list ap; __builtin_va_start(ap,format); _debug_vprintf(format, ap); __builtin_va_end(ap); } # 79 "../../../../src/gallium/auxiliary/util/u_debug.h" static __inline__ void debug_printf(const char *format, ...) __attribute__ ((format (printf, 1, 2))); static __inline__ void debug_printf(const char *format, ...) { (void) format; } # 146 "../../../../src/gallium/auxiliary/util/u_debug.h" long debug_get_num_option(const char *name, long dfault); void _debug_assert_fail(const char *expr, const char *file, unsigned line, const char *function); # 229 "../../../../src/gallium/auxiliary/util/u_debug.h" struct debug_named_value { const char *name; unsigned long value; const char *desc; }; # 264 "../../../../src/gallium/auxiliary/util/u_debug.h" const char * debug_dump_enum(const struct debug_named_value *names, unsigned long value); const char * debug_dump_enum_noprefix(const struct debug_named_value *names, const char *prefix, unsigned long value); const char * debug_dump_flags(const struct debug_named_value *names, unsigned long value); # 294 "../../../../src/gallium/auxiliary/util/u_debug.h" const char * debug_get_option(const char *name, const char *dfault); boolean debug_get_bool_option(const char *name, boolean dfault); long debug_get_num_option(const char *name, long dfault); unsigned long debug_get_flags_option(const char *name, const struct debug_named_value *flags, unsigned long dfault); # 348 "../../../../src/gallium/auxiliary/util/u_debug.h" unsigned long debug_memory_begin(void); void debug_memory_end(unsigned long beginning); # 40 "../../../../src/gallium/auxiliary/util/u_memory.h" 2 # 1 "../../../../src/gallium/auxiliary/os/os_memory.h" 1 # 38 "../../../../src/gallium/auxiliary/os/os_memory.h" # 1 "../../../../src/gallium/include/pipe/p_config.h" 1 # 39 "../../../../src/gallium/auxiliary/os/os_memory.h" 2 # 80 "../../../../src/gallium/auxiliary/os/os_memory.h" # 1 "../../../../src/gallium/auxiliary/os/os_memory_stdc.h" 1 # 53 "../../../../src/gallium/auxiliary/os/os_memory_stdc.h" static __inline__ void * os_malloc_aligned(size_t size, size_t alignment) { void *ptr; alignment = (alignment + sizeof(void*) - 1) & ~(sizeof(void*) - 1); if(posix_memalign(&ptr, alignment, size) != 0) return ((void *)0); return ptr; } # 81 "../../../../src/gallium/auxiliary/os/os_memory.h" 2 # 41 "../../../../src/gallium/auxiliary/util/u_memory.h" 2 # 70 "../../../../src/gallium/auxiliary/util/u_memory.h" static __inline__ void * mem_dup(const void *src, uint size) { void *dup = malloc(size); if (dup) memcpy(dup, src, size); return dup; } # 30 "svga_tgsi_insn.c" 2 # 1 "svga_tgsi_emit.h" 1 # 29 "svga_tgsi_emit.h" # 1 "../../../../src/gallium/auxiliary/tgsi/tgsi_scan.h" 1 # 33 "../../../../src/gallium/auxiliary/tgsi/tgsi_scan.h" # 1 "../../../../src/gallium/include/pipe/p_state.h" 1 # 43 "../../../../src/gallium/include/pipe/p_state.h" # 1 "../../../../src/gallium/include/pipe/p_compiler.h" 1 # 44 "../../../../src/gallium/include/pipe/p_state.h" 2 # 1 "../../../../src/gallium/include/pipe/p_defines.h" 1 # 44 "../../../../src/gallium/include/pipe/p_defines.h" enum pipe_error { PIPE_OK = 0, PIPE_ERROR = -1, PIPE_ERROR_BAD_INPUT = -2, PIPE_ERROR_OUT_OF_MEMORY = -3, PIPE_ERROR_RETRY = -4 }; # 140 "../../../../src/gallium/include/pipe/p_defines.h" enum pipe_texture_target { PIPE_BUFFER = 0, PIPE_TEXTURE_1D = 1, PIPE_TEXTURE_2D = 2, PIPE_TEXTURE_3D = 3, PIPE_TEXTURE_CUBE = 4, PIPE_TEXTURE_RECT = 5, PIPE_TEXTURE_1D_ARRAY = 6, PIPE_TEXTURE_2D_ARRAY = 7, PIPE_MAX_TEXTURE_TYPES }; # 196 "../../../../src/gallium/include/pipe/p_defines.h" enum pipe_transfer_usage { PIPE_TRANSFER_READ = (1 << 0), PIPE_TRANSFER_WRITE = (1 << 1), PIPE_TRANSFER_READ_WRITE = PIPE_TRANSFER_READ | PIPE_TRANSFER_WRITE, # 223 "../../../../src/gallium/include/pipe/p_defines.h" PIPE_TRANSFER_MAP_DIRECTLY = (1 << 2), # 234 "../../../../src/gallium/include/pipe/p_defines.h" PIPE_TRANSFER_DISCARD = (1 << 8), # 244 "../../../../src/gallium/include/pipe/p_defines.h" PIPE_TRANSFER_DONTBLOCK = (1 << 9), # 256 "../../../../src/gallium/include/pipe/p_defines.h" PIPE_TRANSFER_UNSYNCHRONIZED = (1 << 10), PIPE_TRANSFER_NOOVERWRITE = (1 << 10), # 269 "../../../../src/gallium/include/pipe/p_defines.h" PIPE_TRANSFER_FLUSH_EXPLICIT = (1 << 11) }; # 417 "../../../../src/gallium/include/pipe/p_defines.h" enum pipe_cap { PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS, PIPE_CAP_NPOT_TEXTURES, PIPE_CAP_TWO_SIDED_STENCIL, PIPE_CAP_GLSL, PIPE_CAP_DUAL_SOURCE_BLEND, PIPE_CAP_ANISOTROPIC_FILTER, PIPE_CAP_POINT_SPRITE, PIPE_CAP_MAX_RENDER_TARGETS, PIPE_CAP_OCCLUSION_QUERY, PIPE_CAP_TIMER_QUERY, PIPE_CAP_TEXTURE_SHADOW_MAP, PIPE_CAP_TEXTURE_SWIZZLE, PIPE_CAP_MAX_TEXTURE_2D_LEVELS, PIPE_CAP_MAX_TEXTURE_3D_LEVELS, PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS, PIPE_CAP_MAX_LINE_WIDTH, PIPE_CAP_MAX_LINE_WIDTH_AA, PIPE_CAP_MAX_POINT_WIDTH, PIPE_CAP_MAX_POINT_WIDTH_AA, PIPE_CAP_MAX_TEXTURE_ANISOTROPY, PIPE_CAP_MAX_TEXTURE_LOD_BIAS, PIPE_CAP_GUARD_BAND_LEFT, PIPE_CAP_GUARD_BAND_TOP, PIPE_CAP_GUARD_BAND_RIGHT, PIPE_CAP_GUARD_BAND_BOTTOM, PIPE_CAP_TEXTURE_MIRROR_CLAMP, PIPE_CAP_TEXTURE_MIRROR_REPEAT, PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS, PIPE_CAP_BLEND_EQUATION_SEPARATE, PIPE_CAP_SM3, PIPE_CAP_STREAM_OUTPUT, PIPE_CAP_PRIMITIVE_RESTART, PIPE_CAP_MAX_COMBINED_SAMPLERS, PIPE_CAP_INDEP_BLEND_ENABLE, PIPE_CAP_INDEP_BLEND_FUNC, PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE, PIPE_CAP_ARRAY_TEXTURES, PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT, PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT, PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER, PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER, PIPE_CAP_DEPTH_CLAMP, PIPE_CAP_SHADER_STENCIL_EXPORT, }; enum pipe_shader_cap { PIPE_SHADER_CAP_MAX_INSTRUCTIONS, PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS, PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS, PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS, PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH, PIPE_SHADER_CAP_MAX_INPUTS, PIPE_SHADER_CAP_MAX_CONSTS, PIPE_SHADER_CAP_MAX_CONST_BUFFERS, PIPE_SHADER_CAP_MAX_TEMPS, PIPE_SHADER_CAP_MAX_ADDRS, PIPE_SHADER_CAP_MAX_PREDS, PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED, PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR, PIPE_SHADER_CAP_INDIRECT_OUTPUT_ADDR, PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR, PIPE_SHADER_CAP_INDIRECT_CONST_ADDR, PIPE_SHADER_CAP_SUBROUTINES, }; # 501 "../../../../src/gallium/include/pipe/p_defines.h" struct pipe_query_data_so_statistics { uint64_t num_primitives_written; uint64_t primitives_storage_needed; }; struct pipe_query_data_timestamp_disjoint { uint64_t frequency; boolean disjoint; }; # 45 "../../../../src/gallium/include/pipe/p_state.h" 2 # 1 "../../../../src/gallium/include/pipe/p_format.h" 1 # 44 "../../../../src/gallium/include/pipe/p_format.h" enum pipe_format { PIPE_FORMAT_NONE = 0, PIPE_FORMAT_B8G8R8A8_UNORM = 1, PIPE_FORMAT_B8G8R8X8_UNORM = 2, PIPE_FORMAT_A8R8G8B8_UNORM = 3, PIPE_FORMAT_X8R8G8B8_UNORM = 4, PIPE_FORMAT_B5G5R5A1_UNORM = 5, PIPE_FORMAT_B4G4R4A4_UNORM = 6, PIPE_FORMAT_B5G6R5_UNORM = 7, PIPE_FORMAT_R10G10B10A2_UNORM = 8, PIPE_FORMAT_L8_UNORM = 9, PIPE_FORMAT_A8_UNORM = 10, PIPE_FORMAT_I8_UNORM = 11, PIPE_FORMAT_L8A8_UNORM = 12, PIPE_FORMAT_L16_UNORM = 13, PIPE_FORMAT_UYVY = 14, PIPE_FORMAT_YUYV = 15, PIPE_FORMAT_Z16_UNORM = 16, PIPE_FORMAT_Z32_UNORM = 17, PIPE_FORMAT_Z32_FLOAT = 18, PIPE_FORMAT_Z24_UNORM_S8_USCALED = 19, PIPE_FORMAT_S8_USCALED_Z24_UNORM = 20, PIPE_FORMAT_Z24X8_UNORM = 21, PIPE_FORMAT_X8Z24_UNORM = 22, PIPE_FORMAT_S8_USCALED = 23, PIPE_FORMAT_R64_FLOAT = 24, PIPE_FORMAT_R64G64_FLOAT = 25, PIPE_FORMAT_R64G64B64_FLOAT = 26, PIPE_FORMAT_R64G64B64A64_FLOAT = 27, PIPE_FORMAT_R32_FLOAT = 28, PIPE_FORMAT_R32G32_FLOAT = 29, PIPE_FORMAT_R32G32B32_FLOAT = 30, PIPE_FORMAT_R32G32B32A32_FLOAT = 31, PIPE_FORMAT_R32_UNORM = 32, PIPE_FORMAT_R32G32_UNORM = 33, PIPE_FORMAT_R32G32B32_UNORM = 34, PIPE_FORMAT_R32G32B32A32_UNORM = 35, PIPE_FORMAT_R32_USCALED = 36, PIPE_FORMAT_R32G32_USCALED = 37, PIPE_FORMAT_R32G32B32_USCALED = 38, PIPE_FORMAT_R32G32B32A32_USCALED = 39, PIPE_FORMAT_R32_SNORM = 40, PIPE_FORMAT_R32G32_SNORM = 41, PIPE_FORMAT_R32G32B32_SNORM = 42, PIPE_FORMAT_R32G32B32A32_SNORM = 43, PIPE_FORMAT_R32_SSCALED = 44, PIPE_FORMAT_R32G32_SSCALED = 45, PIPE_FORMAT_R32G32B32_SSCALED = 46, PIPE_FORMAT_R32G32B32A32_SSCALED = 47, PIPE_FORMAT_R16_UNORM = 48, PIPE_FORMAT_R16G16_UNORM = 49, PIPE_FORMAT_R16G16B16_UNORM = 50, PIPE_FORMAT_R16G16B16A16_UNORM = 51, PIPE_FORMAT_R16_USCALED = 52, PIPE_FORMAT_R16G16_USCALED = 53, PIPE_FORMAT_R16G16B16_USCALED = 54, PIPE_FORMAT_R16G16B16A16_USCALED = 55, PIPE_FORMAT_R16_SNORM = 56, PIPE_FORMAT_R16G16_SNORM = 57, PIPE_FORMAT_R16G16B16_SNORM = 58, PIPE_FORMAT_R16G16B16A16_SNORM = 59, PIPE_FORMAT_R16_SSCALED = 60, PIPE_FORMAT_R16G16_SSCALED = 61, PIPE_FORMAT_R16G16B16_SSCALED = 62, PIPE_FORMAT_R16G16B16A16_SSCALED = 63, PIPE_FORMAT_R8_UNORM = 64, PIPE_FORMAT_R8G8_UNORM = 65, PIPE_FORMAT_R8G8B8_UNORM = 66, PIPE_FORMAT_R8G8B8A8_UNORM = 67, PIPE_FORMAT_X8B8G8R8_UNORM = 68, PIPE_FORMAT_R8_USCALED = 69, PIPE_FORMAT_R8G8_USCALED = 70, PIPE_FORMAT_R8G8B8_USCALED = 71, PIPE_FORMAT_R8G8B8A8_USCALED = 72, PIPE_FORMAT_R8_SNORM = 74, PIPE_FORMAT_R8G8_SNORM = 75, PIPE_FORMAT_R8G8B8_SNORM = 76, PIPE_FORMAT_R8G8B8A8_SNORM = 77, PIPE_FORMAT_R8_SSCALED = 82, PIPE_FORMAT_R8G8_SSCALED = 83, PIPE_FORMAT_R8G8B8_SSCALED = 84, PIPE_FORMAT_R8G8B8A8_SSCALED = 85, PIPE_FORMAT_R32_FIXED = 87, PIPE_FORMAT_R32G32_FIXED = 88, PIPE_FORMAT_R32G32B32_FIXED = 89, PIPE_FORMAT_R32G32B32A32_FIXED = 90, PIPE_FORMAT_R16_FLOAT = 91, PIPE_FORMAT_R16G16_FLOAT = 92, PIPE_FORMAT_R16G16B16_FLOAT = 93, PIPE_FORMAT_R16G16B16A16_FLOAT = 94, PIPE_FORMAT_L8_SRGB = 95, PIPE_FORMAT_L8A8_SRGB = 96, PIPE_FORMAT_R8G8B8_SRGB = 97, PIPE_FORMAT_A8B8G8R8_SRGB = 98, PIPE_FORMAT_X8B8G8R8_SRGB = 99, PIPE_FORMAT_B8G8R8A8_SRGB = 100, PIPE_FORMAT_B8G8R8X8_SRGB = 101, PIPE_FORMAT_A8R8G8B8_SRGB = 102, PIPE_FORMAT_X8R8G8B8_SRGB = 103, PIPE_FORMAT_R8G8B8A8_SRGB = 104, PIPE_FORMAT_DXT1_RGB = 105, PIPE_FORMAT_DXT1_RGBA = 106, PIPE_FORMAT_DXT3_RGBA = 107, PIPE_FORMAT_DXT5_RGBA = 108, PIPE_FORMAT_DXT1_SRGB = 109, PIPE_FORMAT_DXT1_SRGBA = 110, PIPE_FORMAT_DXT3_SRGBA = 111, PIPE_FORMAT_DXT5_SRGBA = 112, PIPE_FORMAT_RGTC1_UNORM = 113, PIPE_FORMAT_RGTC1_SNORM = 114, PIPE_FORMAT_RGTC2_UNORM = 115, PIPE_FORMAT_RGTC2_SNORM = 116, PIPE_FORMAT_R8G8_B8G8_UNORM = 117, PIPE_FORMAT_G8R8_G8B8_UNORM = 118, PIPE_FORMAT_R8SG8SB8UX8U_NORM = 119, PIPE_FORMAT_R5SG5SB6U_NORM = 120, PIPE_FORMAT_A8B8G8R8_UNORM = 121, PIPE_FORMAT_B5G5R5X1_UNORM = 122, PIPE_FORMAT_R10G10B10A2_USCALED = 123, PIPE_FORMAT_R11G11B10_FLOAT = 124, PIPE_FORMAT_R9G9B9E5_FLOAT = 125, PIPE_FORMAT_Z32_FLOAT_S8X24_USCALED = 126, PIPE_FORMAT_R1_UNORM = 127, PIPE_FORMAT_R10G10B10X2_USCALED = 128, PIPE_FORMAT_R10G10B10X2_SNORM = 129, PIPE_FORMAT_L4A4_UNORM = 130, PIPE_FORMAT_B10G10R10A2_UNORM = 131, PIPE_FORMAT_R10SG10SB10SA2U_NORM = 132, PIPE_FORMAT_R8G8Bx_SNORM = 133, PIPE_FORMAT_R8G8B8X8_UNORM = 134, PIPE_FORMAT_B4G4R4X4_UNORM = 135, PIPE_FORMAT_X24S8_USCALED = 136, PIPE_FORMAT_S8X24_USCALED = 137, PIPE_FORMAT_X32_S8X24_USCALED = 138, PIPE_FORMAT_COUNT }; # 46 "../../../../src/gallium/include/pipe/p_state.h" 2 # 69 "../../../../src/gallium/include/pipe/p_state.h" struct pipe_reference { int32_t count; }; struct pipe_rasterizer_state { unsigned flatshade:1; unsigned light_twoside:1; unsigned front_ccw:1; unsigned cull_face:2; unsigned fill_front:2; unsigned fill_back:2; unsigned offset_point:1; unsigned offset_line:1; unsigned offset_tri:1; unsigned scissor:1; unsigned poly_smooth:1; unsigned poly_stipple_enable:1; unsigned point_smooth:1; unsigned sprite_coord_enable:32; unsigned sprite_coord_mode:1; unsigned point_quad_rasterization:1; unsigned point_size_per_vertex:1; unsigned multisample:1; unsigned line_smooth:1; unsigned line_stipple_enable:1; unsigned line_stipple_factor:8; unsigned line_stipple_pattern:16; unsigned line_last_pixel:1; unsigned flatshade_first:1; # 122 "../../../../src/gallium/include/pipe/p_state.h" unsigned gl_rasterization_rules:1; float line_width; float point_size; float offset_units; float offset_scale; }; struct pipe_poly_stipple { unsigned stipple[32]; }; struct pipe_viewport_state { float scale[4]; float translate[4]; }; struct pipe_scissor_state { unsigned minx:16; unsigned miny:16; unsigned maxx:16; unsigned maxy:16; }; struct pipe_clip_state { float ucp[6][4]; unsigned nr; unsigned depth_clamp:1; }; struct pipe_shader_state { const struct tgsi_token *tokens; }; struct pipe_depth_state { unsigned enabled:1; unsigned writemask:1; unsigned func:3; }; struct pipe_stencil_state { unsigned enabled:1; unsigned func:3; unsigned fail_op:3; unsigned zpass_op:3; unsigned zfail_op:3; unsigned valuemask:8; unsigned writemask:8; }; struct pipe_alpha_state { unsigned enabled:1; unsigned func:3; float ref_value; }; struct pipe_depth_stencil_alpha_state { struct pipe_depth_state depth; struct pipe_stencil_state stencil[2]; struct pipe_alpha_state alpha; }; struct pipe_rt_blend_state { unsigned blend_enable:1; unsigned rgb_func:3; unsigned rgb_src_factor:5; unsigned rgb_dst_factor:5; unsigned alpha_func:3; unsigned alpha_src_factor:5; unsigned alpha_dst_factor:5; unsigned colormask:4; }; struct pipe_blend_state { unsigned independent_blend_enable:1; unsigned logicop_enable:1; unsigned logicop_func:4; unsigned dither:1; unsigned alpha_to_coverage:1; unsigned alpha_to_one:1; struct pipe_rt_blend_state rt[8]; }; struct pipe_blend_color { float color[4]; }; struct pipe_stencil_ref { ubyte ref_value[2]; }; struct pipe_framebuffer_state { unsigned width, height; unsigned nr_cbufs; struct pipe_surface *cbufs[8]; struct pipe_surface *zsbuf; }; struct pipe_sampler_state { unsigned wrap_s:3; unsigned wrap_t:3; unsigned wrap_r:3; unsigned min_img_filter:2; unsigned min_mip_filter:2; unsigned mag_img_filter:2; unsigned compare_mode:1; unsigned compare_func:3; unsigned normalized_coords:1; unsigned max_anisotropy:6; float lod_bias; float min_lod, max_lod; float border_color[4]; }; struct pipe_surface { struct pipe_reference reference; struct pipe_resource *texture; struct pipe_context *context; enum pipe_format format; unsigned width; unsigned height; unsigned usage; union { struct { unsigned level; unsigned first_layer:16; unsigned last_layer:16; } tex; struct { unsigned first_element; unsigned last_element; } buf; } u; }; struct pipe_sampler_view { struct pipe_reference reference; enum pipe_format format; struct pipe_resource *texture; struct pipe_context *context; union { struct { unsigned first_layer:16; unsigned last_layer:16; unsigned first_level:8; unsigned last_level:8; } tex; struct { unsigned first_element; unsigned last_element; } buf; } u; unsigned swizzle_r:3; unsigned swizzle_g:3; unsigned swizzle_b:3; unsigned swizzle_a:3; }; struct pipe_box { unsigned x; unsigned y; unsigned z; unsigned width; unsigned height; unsigned depth; }; struct pipe_resource { struct pipe_reference reference; struct pipe_screen *screen; enum pipe_texture_target target; enum pipe_format format; unsigned width0; unsigned height0; unsigned depth0; unsigned array_size; unsigned last_level:8; unsigned nr_samples:8; unsigned usage:8; unsigned bind; unsigned flags; }; struct pipe_stream_output_state { int output_buffer[32]; int register_index[32]; ubyte register_mask[32]; int num_outputs; unsigned stride; }; struct pipe_transfer { struct pipe_resource *resource; unsigned level; enum pipe_transfer_usage usage; struct pipe_box box; unsigned stride; unsigned layer_stride; void *data; }; # 407 "../../../../src/gallium/include/pipe/p_state.h" struct pipe_vertex_buffer { unsigned stride; unsigned max_index; unsigned buffer_offset; struct pipe_resource *buffer; }; struct pipe_vertex_element { unsigned src_offset; unsigned instance_divisor; unsigned vertex_buffer_index; enum pipe_format src_format; }; struct pipe_index_buffer { unsigned index_size; unsigned offset; struct pipe_resource *buffer; }; struct pipe_draw_info { boolean indexed; unsigned mode; unsigned start; unsigned count; unsigned start_instance; unsigned instance_count; int index_bias; unsigned min_index; unsigned max_index; boolean primitive_restart; unsigned restart_index; }; # 34 "../../../../src/gallium/auxiliary/tgsi/tgsi_scan.h" 2 struct tgsi_shader_info { uint num_tokens; ubyte num_inputs; ubyte num_outputs; ubyte input_semantic_name[32]; ubyte input_semantic_index[32]; ubyte input_interpolate[32]; ubyte input_centroid[32]; ubyte input_usage_mask[32]; ubyte input_cylindrical_wrap[32]; ubyte output_semantic_name[32]; ubyte output_semantic_index[32]; uint file_mask[TGSI_FILE_COUNT]; uint file_count[TGSI_FILE_COUNT]; int file_max[TGSI_FILE_COUNT]; uint immediate_count; uint num_instructions; uint opcode_count[145]; boolean writes_z; boolean writes_stencil; boolean writes_edgeflag; boolean uses_kill; unsigned indirect_files; struct { unsigned name; unsigned data[8]; } properties[5]; uint num_properties; }; extern void tgsi_scan_shader(const struct tgsi_token *tokens, struct tgsi_shader_info *info); extern boolean tgsi_is_passthrough_shader(const struct tgsi_token *tokens); # 30 "svga_tgsi_emit.h" 2 # 1 "svga_hw_reg.h" 1 # 37 "svga_hw_reg.h" # 1 "../../../../src/gallium/drivers/svga/include/svga_types.h" 1 # 31 "../../../../src/gallium/drivers/svga/include/svga_types.h" typedef int64_t int64; typedef uint64_t uint64; typedef int32_t int32; typedef uint32_t uint32; typedef int16_t int16; typedef uint16_t uint16; typedef int8_t int8; typedef uint8_t uint8; typedef uint8_t Bool; # 38 "svga_hw_reg.h" 2 # 1 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" 1 # 35 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" # 1 "../../../../src/gallium/drivers/svga/include/svga_reg.h" 1 # 106 "../../../../src/gallium/drivers/svga/include/svga_reg.h" enum { SVGA_REG_ID = 0, SVGA_REG_ENABLE = 1, SVGA_REG_WIDTH = 2, SVGA_REG_HEIGHT = 3, SVGA_REG_MAX_WIDTH = 4, SVGA_REG_MAX_HEIGHT = 5, SVGA_REG_DEPTH = 6, SVGA_REG_BITS_PER_PIXEL = 7, SVGA_REG_PSEUDOCOLOR = 8, SVGA_REG_RED_MASK = 9, SVGA_REG_GREEN_MASK = 10, SVGA_REG_BLUE_MASK = 11, SVGA_REG_BYTES_PER_LINE = 12, SVGA_REG_FB_START = 13, SVGA_REG_FB_OFFSET = 14, SVGA_REG_VRAM_SIZE = 15, SVGA_REG_FB_SIZE = 16, SVGA_REG_CAPABILITIES = 17, SVGA_REG_MEM_START = 18, SVGA_REG_MEM_SIZE = 19, SVGA_REG_CONFIG_DONE = 20, SVGA_REG_SYNC = 21, SVGA_REG_BUSY = 22, SVGA_REG_GUEST_ID = 23, SVGA_REG_CURSOR_ID = 24, SVGA_REG_CURSOR_X = 25, SVGA_REG_CURSOR_Y = 26, SVGA_REG_CURSOR_ON = 27, SVGA_REG_HOST_BITS_PER_PIXEL = 28, SVGA_REG_SCRATCH_SIZE = 29, SVGA_REG_MEM_REGS = 30, SVGA_REG_NUM_DISPLAYS = 31, SVGA_REG_PITCHLOCK = 32, SVGA_REG_IRQMASK = 33, SVGA_REG_NUM_GUEST_DISPLAYS = 34, SVGA_REG_DISPLAY_ID = 35, SVGA_REG_DISPLAY_IS_PRIMARY = 36, SVGA_REG_DISPLAY_POSITION_X = 37, SVGA_REG_DISPLAY_POSITION_Y = 38, SVGA_REG_DISPLAY_WIDTH = 39, SVGA_REG_DISPLAY_HEIGHT = 40, SVGA_REG_GMR_ID = 41, SVGA_REG_GMR_DESCRIPTOR = 42, SVGA_REG_GMR_MAX_IDS = 43, SVGA_REG_GMR_MAX_DESCRIPTOR_LENGTH = 44, SVGA_REG_TRACES = 45, SVGA_REG_TOP = 46, SVGA_PALETTE_BASE = 1024, SVGA_SCRATCH_BASE = SVGA_PALETTE_BASE + (3 * (1 << 8)) }; # 270 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct SVGAGuestMemDescriptor { uint32 ppn; uint32 numPages; } SVGAGuestMemDescriptor; typedef struct SVGAGuestPtr { uint32 gmrId; uint32 offset; } SVGAGuestPtr; # 303 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct SVGAGMRImageFormat { union { struct { uint32 bitsPerPixel : 8; uint32 colorDepth : 8; uint32 reserved : 16; }; uint32 value; }; } SVGAGMRImageFormat; # 324 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct SVGAColorBGRX { union { struct { uint32 b : 8; uint32 g : 8; uint32 r : 8; uint32 x : 8; }; uint32 value; }; } SVGAColorBGRX; # 352 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct SVGASignedRect { int32 left; int32 top; int32 right; int32 bottom; } SVGASignedRect; typedef struct SVGASignedPoint { int32 x; int32 y; } SVGASignedPoint; # 407 "../../../../src/gallium/drivers/svga/include/svga_reg.h" enum { SVGA_FIFO_MIN = 0, SVGA_FIFO_MAX, SVGA_FIFO_NEXT_CMD, SVGA_FIFO_STOP, # 432 "../../../../src/gallium/drivers/svga/include/svga_reg.h" SVGA_FIFO_CAPABILITIES = 4, SVGA_FIFO_FLAGS, SVGA_FIFO_FENCE, # 448 "../../../../src/gallium/drivers/svga/include/svga_reg.h" SVGA_FIFO_3D_HWVERSION, SVGA_FIFO_PITCHLOCK, SVGA_FIFO_CURSOR_ON, SVGA_FIFO_CURSOR_X, SVGA_FIFO_CURSOR_Y, SVGA_FIFO_CURSOR_COUNT, SVGA_FIFO_CURSOR_LAST_UPDATED, SVGA_FIFO_RESERVED, # 471 "../../../../src/gallium/drivers/svga/include/svga_reg.h" SVGA_FIFO_CURSOR_SCREEN_ID, # 494 "../../../../src/gallium/drivers/svga/include/svga_reg.h" SVGA_FIFO_3D_CAPS = 32, SVGA_FIFO_3D_CAPS_LAST = 32 + 255, # 512 "../../../../src/gallium/drivers/svga/include/svga_reg.h" SVGA_FIFO_GUEST_3D_HWVERSION, SVGA_FIFO_FENCE_GOAL, SVGA_FIFO_BUSY, SVGA_FIFO_NUM_REGS }; # 760 "../../../../src/gallium/drivers/svga/include/svga_reg.h" enum { SVGA_VIDEO_ENABLED = 0, SVGA_VIDEO_FLAGS, SVGA_VIDEO_DATA_OFFSET, SVGA_VIDEO_FORMAT, SVGA_VIDEO_COLORKEY, SVGA_VIDEO_SIZE, SVGA_VIDEO_WIDTH, SVGA_VIDEO_HEIGHT, SVGA_VIDEO_SRC_X, SVGA_VIDEO_SRC_Y, SVGA_VIDEO_SRC_WIDTH, SVGA_VIDEO_SRC_HEIGHT, SVGA_VIDEO_DST_X, SVGA_VIDEO_DST_Y, SVGA_VIDEO_DST_WIDTH, SVGA_VIDEO_DST_HEIGHT, SVGA_VIDEO_PITCH_1, SVGA_VIDEO_PITCH_2, SVGA_VIDEO_PITCH_3, SVGA_VIDEO_DATA_GMRID, SVGA_VIDEO_DST_SCREEN_ID, SVGA_VIDEO_NUM_REGS }; # 794 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct SVGAOverlayUnit { uint32 enabled; uint32 flags; uint32 dataOffset; uint32 format; uint32 colorKey; uint32 size; uint32 width; uint32 height; uint32 srcX; uint32 srcY; uint32 srcWidth; uint32 srcHeight; int32 dstX; int32 dstY; uint32 dstWidth; uint32 dstHeight; uint32 pitches[3]; uint32 dataGMRId; uint32 dstScreenId; } SVGAOverlayUnit; # 838 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct SVGAScreenObject { uint32 structSize; uint32 id; uint32 flags; struct { uint32 width; uint32 height; } size; struct { int32 x; int32 y; } root; } SVGAScreenObject; # 871 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef enum { SVGA_CMD_INVALID_CMD = 0, SVGA_CMD_UPDATE = 1, SVGA_CMD_RECT_COPY = 3, SVGA_CMD_DEFINE_CURSOR = 19, SVGA_CMD_DEFINE_ALPHA_CURSOR = 22, SVGA_CMD_UPDATE_VERBOSE = 25, SVGA_CMD_FRONT_ROP_FILL = 29, SVGA_CMD_FENCE = 30, SVGA_CMD_ESCAPE = 33, SVGA_CMD_DEFINE_SCREEN = 34, SVGA_CMD_DESTROY_SCREEN = 35, SVGA_CMD_DEFINE_GMRFB = 36, SVGA_CMD_BLIT_GMRFB_TO_SCREEN = 37, SVGA_CMD_BLIT_SCREEN_TO_GMRFB = 38, SVGA_CMD_ANNOTATION_FILL = 39, SVGA_CMD_ANNOTATION_COPY = 40, SVGA_CMD_MAX } SVGAFifoCmdId; # 922 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { uint32 x; uint32 y; uint32 width; uint32 height; } SVGAFifoCmdUpdate; # 941 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { uint32 srcX; uint32 srcY; uint32 destX; uint32 destY; uint32 width; uint32 height; } SVGAFifoCmdRectCopy; # 965 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { uint32 id; uint32 hotspotX; uint32 hotspotY; uint32 width; uint32 height; uint32 andMaskDepth; uint32 xorMaskDepth; } SVGAFifoCmdDefineCursor; # 994 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { uint32 id; uint32 hotspotX; uint32 hotspotY; uint32 width; uint32 height; } SVGAFifoCmdDefineAlphaCursor; # 1017 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { uint32 x; uint32 y; uint32 width; uint32 height; uint32 reason; } SVGAFifoCmdUpdateVerbose; # 1042 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { uint32 color; uint32 x; uint32 y; uint32 width; uint32 height; uint32 rop; } SVGAFifoCmdFrontRopFill; # 1068 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { uint32 fence; } SVGAFifoCmdFence; # 1085 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { uint32 nsid; uint32 size; } SVGAFifoCmdEscape; # 1119 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { SVGAScreenObject screen; } SVGAFifoCmdDefineScreen; # 1135 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { uint32 screenId; } SVGAFifoCmdDestroyScreen; # 1188 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { SVGAGuestPtr ptr; uint32 bytesPerLine; SVGAGMRImageFormat format; } SVGAFifoCmdDefineGMRFB; # 1225 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { SVGASignedPoint srcOrigin; SVGASignedRect destRect; uint32 destScreenId; } SVGAFifoCmdBlitGMRFBToScreen; # 1273 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { SVGASignedPoint destOrigin; SVGASignedRect srcRect; uint32 srcScreenId; } SVGAFifoCmdBlitScreenToGMRFB; # 1308 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { SVGAColorBGRX color; } SVGAFifoCmdAnnotationFill; # 1340 "../../../../src/gallium/drivers/svga/include/svga_reg.h" typedef struct { SVGASignedPoint srcOrigin; uint32 srcScreenId; } SVGAFifoCmdAnnotationCopy; # 36 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" 2 # 53 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" typedef enum { SVGA3D_HWVERSION_WS5_RC1 = (((0) << 16) | ((1) & 0xFF)), SVGA3D_HWVERSION_WS5_RC2 = (((0) << 16) | ((2) & 0xFF)), SVGA3D_HWVERSION_WS51_RC1 = (((0) << 16) | ((3) & 0xFF)), SVGA3D_HWVERSION_WS6_B1 = (((1) << 16) | ((1) & 0xFF)), SVGA3D_HWVERSION_FUSION_11 = (((1) << 16) | ((4) & 0xFF)), SVGA3D_HWVERSION_WS65_B1 = (((2) << 16) | ((0) & 0xFF)), SVGA3D_HWVERSION_CURRENT = SVGA3D_HWVERSION_WS65_B1, } SVGA3dHardwareVersion; typedef uint32 SVGA3dBool; # 81 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" typedef enum SVGA3dSurfaceFormat { SVGA3D_FORMAT_INVALID = 0, SVGA3D_X8R8G8B8 = 1, SVGA3D_A8R8G8B8 = 2, SVGA3D_R5G6B5 = 3, SVGA3D_X1R5G5B5 = 4, SVGA3D_A1R5G5B5 = 5, SVGA3D_A4R4G4B4 = 6, SVGA3D_Z_D32 = 7, SVGA3D_Z_D16 = 8, SVGA3D_Z_D24S8 = 9, SVGA3D_Z_D15S1 = 10, SVGA3D_LUMINANCE8 = 11, SVGA3D_LUMINANCE4_ALPHA4 = 12, SVGA3D_LUMINANCE16 = 13, SVGA3D_LUMINANCE8_ALPHA8 = 14, SVGA3D_DXT1 = 15, SVGA3D_DXT2 = 16, SVGA3D_DXT3 = 17, SVGA3D_DXT4 = 18, SVGA3D_DXT5 = 19, SVGA3D_BUMPU8V8 = 20, SVGA3D_BUMPL6V5U5 = 21, SVGA3D_BUMPX8L8V8U8 = 22, SVGA3D_BUMPL8V8U8 = 23, SVGA3D_ARGB_S10E5 = 24, SVGA3D_ARGB_S23E8 = 25, SVGA3D_A2R10G10B10 = 26, SVGA3D_V8U8 = 27, SVGA3D_Q8W8V8U8 = 28, SVGA3D_CxV8U8 = 29, SVGA3D_X8L8V8U8 = 30, SVGA3D_A2W10V10U10 = 31, SVGA3D_ALPHA8 = 32, SVGA3D_R_S10E5 = 33, SVGA3D_R_S23E8 = 34, SVGA3D_RG_S10E5 = 35, SVGA3D_RG_S23E8 = 36, SVGA3D_BUFFER = 37, SVGA3D_Z_D24X8 = 38, SVGA3D_V16U16 = 39, SVGA3D_G16R16 = 40, SVGA3D_A16B16G16R16 = 41, SVGA3D_UYVY = 42, SVGA3D_YUY2 = 43, SVGA3D_FORMAT_MAX } SVGA3dSurfaceFormat; typedef uint32 SVGA3dColor; typedef enum { SVGA3DFORMAT_OP_TEXTURE = 0x00000001, SVGA3DFORMAT_OP_VOLUMETEXTURE = 0x00000002, SVGA3DFORMAT_OP_CUBETEXTURE = 0x00000004, SVGA3DFORMAT_OP_OFFSCREEN_RENDERTARGET = 0x00000008, SVGA3DFORMAT_OP_SAME_FORMAT_RENDERTARGET = 0x00000010, SVGA3DFORMAT_OP_ZSTENCIL = 0x00000040, SVGA3DFORMAT_OP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH = 0x00000080, SVGA3DFORMAT_OP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET = 0x00000100, SVGA3DFORMAT_OP_DISPLAYMODE = 0x00000400, SVGA3DFORMAT_OP_3DACCELERATION = 0x00000800, SVGA3DFORMAT_OP_PIXELSIZE = 0x00001000, SVGA3DFORMAT_OP_CONVERT_TO_ARGB = 0x00002000, SVGA3DFORMAT_OP_OFFSCREENPLAIN = 0x00004000, SVGA3DFORMAT_OP_SRGBREAD = 0x00008000, SVGA3DFORMAT_OP_BUMPMAP = 0x00010000, SVGA3DFORMAT_OP_DMAP = 0x00020000, SVGA3DFORMAT_OP_NOFILTER = 0x00040000, SVGA3DFORMAT_OP_MEMBEROFGROUP_ARGB = 0x00080000, SVGA3DFORMAT_OP_SRGBWRITE = 0x00100000, SVGA3DFORMAT_OP_NOALPHABLEND = 0x00200000, SVGA3DFORMAT_OP_AUTOGENMIPMAP = 0x00400000, SVGA3DFORMAT_OP_VERTEXTEXTURE = 0x00800000, SVGA3DFORMAT_OP_NOTEXCOORDWRAPNORMIP = 0x01000000 } SVGA3dFormatOp; typedef union { uint32 value; struct { uint32 texture : 1; uint32 volumeTexture : 1; uint32 cubeTexture : 1; uint32 offscreenRenderTarget : 1; uint32 sameFormatRenderTarget : 1; uint32 unknown1 : 1; uint32 zStencil : 1; uint32 zStencilArbitraryDepth : 1; uint32 sameFormatUpToAlpha : 1; uint32 unknown2 : 1; uint32 displayMode : 1; uint32 acceleration3d : 1; uint32 pixelSize : 1; uint32 convertToARGB : 1; uint32 offscreenPlain : 1; uint32 sRGBRead : 1; uint32 bumpMap : 1; uint32 dmap : 1; uint32 noFilter : 1; uint32 memberOfGroupARGB : 1; uint32 sRGBWrite : 1; uint32 noAlphaBlend : 1; uint32 autoGenMipMap : 1; uint32 vertexTexture : 1; uint32 noTexCoordWrapNorMip : 1; }; } SVGA3dSurfaceFormatCaps; typedef enum { SVGA3D_RS_INVALID = 0, SVGA3D_RS_ZENABLE = 1, SVGA3D_RS_ZWRITEENABLE = 2, SVGA3D_RS_ALPHATESTENABLE = 3, SVGA3D_RS_DITHERENABLE = 4, SVGA3D_RS_BLENDENABLE = 5, SVGA3D_RS_FOGENABLE = 6, SVGA3D_RS_SPECULARENABLE = 7, SVGA3D_RS_STENCILENABLE = 8, SVGA3D_RS_LIGHTINGENABLE = 9, SVGA3D_RS_NORMALIZENORMALS = 10, SVGA3D_RS_POINTSPRITEENABLE = 11, SVGA3D_RS_POINTSCALEENABLE = 12, SVGA3D_RS_STENCILREF = 13, SVGA3D_RS_STENCILMASK = 14, SVGA3D_RS_STENCILWRITEMASK = 15, SVGA3D_RS_FOGSTART = 16, SVGA3D_RS_FOGEND = 17, SVGA3D_RS_FOGDENSITY = 18, SVGA3D_RS_POINTSIZE = 19, SVGA3D_RS_POINTSIZEMIN = 20, SVGA3D_RS_POINTSIZEMAX = 21, SVGA3D_RS_POINTSCALE_A = 22, SVGA3D_RS_POINTSCALE_B = 23, SVGA3D_RS_POINTSCALE_C = 24, SVGA3D_RS_FOGCOLOR = 25, SVGA3D_RS_AMBIENT = 26, SVGA3D_RS_CLIPPLANEENABLE = 27, SVGA3D_RS_FOGMODE = 28, SVGA3D_RS_FILLMODE = 29, SVGA3D_RS_SHADEMODE = 30, SVGA3D_RS_LINEPATTERN = 31, SVGA3D_RS_SRCBLEND = 32, SVGA3D_RS_DSTBLEND = 33, SVGA3D_RS_BLENDEQUATION = 34, SVGA3D_RS_CULLMODE = 35, SVGA3D_RS_ZFUNC = 36, SVGA3D_RS_ALPHAFUNC = 37, SVGA3D_RS_STENCILFUNC = 38, SVGA3D_RS_STENCILFAIL = 39, SVGA3D_RS_STENCILZFAIL = 40, SVGA3D_RS_STENCILPASS = 41, SVGA3D_RS_ALPHAREF = 42, SVGA3D_RS_FRONTWINDING = 43, SVGA3D_RS_COORDINATETYPE = 44, SVGA3D_RS_ZBIAS = 45, SVGA3D_RS_RANGEFOGENABLE = 46, SVGA3D_RS_COLORWRITEENABLE = 47, SVGA3D_RS_VERTEXMATERIALENABLE = 48, SVGA3D_RS_DIFFUSEMATERIALSOURCE = 49, SVGA3D_RS_SPECULARMATERIALSOURCE = 50, SVGA3D_RS_AMBIENTMATERIALSOURCE = 51, SVGA3D_RS_EMISSIVEMATERIALSOURCE = 52, SVGA3D_RS_TEXTUREFACTOR = 53, SVGA3D_RS_LOCALVIEWER = 54, SVGA3D_RS_SCISSORTESTENABLE = 55, SVGA3D_RS_BLENDCOLOR = 56, SVGA3D_RS_STENCILENABLE2SIDED = 57, SVGA3D_RS_CCWSTENCILFUNC = 58, SVGA3D_RS_CCWSTENCILFAIL = 59, SVGA3D_RS_CCWSTENCILZFAIL = 60, SVGA3D_RS_CCWSTENCILPASS = 61, SVGA3D_RS_VERTEXBLEND = 62, SVGA3D_RS_SLOPESCALEDEPTHBIAS = 63, SVGA3D_RS_DEPTHBIAS = 64, # 385 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" SVGA3D_RS_OUTPUTGAMMA = 65, SVGA3D_RS_ZVISIBLE = 66, SVGA3D_RS_LASTPIXEL = 67, SVGA3D_RS_CLIPPING = 68, SVGA3D_RS_WRAP0 = 69, SVGA3D_RS_WRAP1 = 70, SVGA3D_RS_WRAP2 = 71, SVGA3D_RS_WRAP3 = 72, SVGA3D_RS_WRAP4 = 73, SVGA3D_RS_WRAP5 = 74, SVGA3D_RS_WRAP6 = 75, SVGA3D_RS_WRAP7 = 76, SVGA3D_RS_WRAP8 = 77, SVGA3D_RS_WRAP9 = 78, SVGA3D_RS_WRAP10 = 79, SVGA3D_RS_WRAP11 = 80, SVGA3D_RS_WRAP12 = 81, SVGA3D_RS_WRAP13 = 82, SVGA3D_RS_WRAP14 = 83, SVGA3D_RS_WRAP15 = 84, SVGA3D_RS_MULTISAMPLEANTIALIAS = 85, SVGA3D_RS_MULTISAMPLEMASK = 86, SVGA3D_RS_INDEXEDVERTEXBLENDENABLE = 87, SVGA3D_RS_TWEENFACTOR = 88, SVGA3D_RS_ANTIALIASEDLINEENABLE = 89, SVGA3D_RS_COLORWRITEENABLE1 = 90, SVGA3D_RS_COLORWRITEENABLE2 = 91, SVGA3D_RS_COLORWRITEENABLE3 = 92, SVGA3D_RS_SEPARATEALPHABLENDENABLE = 93, SVGA3D_RS_SRCBLENDALPHA = 94, SVGA3D_RS_DSTBLENDALPHA = 95, SVGA3D_RS_BLENDEQUATIONALPHA = 96, SVGA3D_RS_MAX } SVGA3dRenderStateName; typedef enum { SVGA3D_VERTEXMATERIAL_NONE = 0, SVGA3D_VERTEXMATERIAL_DIFFUSE = 1, SVGA3D_VERTEXMATERIAL_SPECULAR = 2, } SVGA3dVertexMaterial; typedef enum { SVGA3D_FILLMODE_INVALID = 0, SVGA3D_FILLMODE_POINT = 1, SVGA3D_FILLMODE_LINE = 2, SVGA3D_FILLMODE_FILL = 3, SVGA3D_FILLMODE_MAX } SVGA3dFillModeType; typedef union { struct { uint16 mode; uint16 face; }; uint32 uintValue; } SVGA3dFillMode; typedef enum { SVGA3D_SHADEMODE_INVALID = 0, SVGA3D_SHADEMODE_FLAT = 1, SVGA3D_SHADEMODE_SMOOTH = 2, SVGA3D_SHADEMODE_PHONG = 3, SVGA3D_SHADEMODE_MAX } SVGA3dShadeMode; typedef union { struct { uint16 repeat; uint16 pattern; }; uint32 uintValue; } SVGA3dLinePattern; typedef enum { SVGA3D_BLENDOP_INVALID = 0, SVGA3D_BLENDOP_ZERO = 1, SVGA3D_BLENDOP_ONE = 2, SVGA3D_BLENDOP_SRCCOLOR = 3, SVGA3D_BLENDOP_INVSRCCOLOR = 4, SVGA3D_BLENDOP_SRCALPHA = 5, SVGA3D_BLENDOP_INVSRCALPHA = 6, SVGA3D_BLENDOP_DESTALPHA = 7, SVGA3D_BLENDOP_INVDESTALPHA = 8, SVGA3D_BLENDOP_DESTCOLOR = 9, SVGA3D_BLENDOP_INVDESTCOLOR = 10, SVGA3D_BLENDOP_SRCALPHASAT = 11, SVGA3D_BLENDOP_BLENDFACTOR = 12, SVGA3D_BLENDOP_INVBLENDFACTOR = 13, SVGA3D_BLENDOP_MAX } SVGA3dBlendOp; typedef enum { SVGA3D_BLENDEQ_INVALID = 0, SVGA3D_BLENDEQ_ADD = 1, SVGA3D_BLENDEQ_SUBTRACT = 2, SVGA3D_BLENDEQ_REVSUBTRACT = 3, SVGA3D_BLENDEQ_MINIMUM = 4, SVGA3D_BLENDEQ_MAXIMUM = 5, SVGA3D_BLENDEQ_MAX } SVGA3dBlendEquation; typedef enum { SVGA3D_FRONTWINDING_INVALID = 0, SVGA3D_FRONTWINDING_CW = 1, SVGA3D_FRONTWINDING_CCW = 2, SVGA3D_FRONTWINDING_MAX } SVGA3dFrontWinding; typedef enum { SVGA3D_FACE_INVALID = 0, SVGA3D_FACE_NONE = 1, SVGA3D_FACE_FRONT = 2, SVGA3D_FACE_BACK = 3, SVGA3D_FACE_FRONT_BACK = 4, SVGA3D_FACE_MAX } SVGA3dFace; typedef enum { SVGA3D_CMP_INVALID = 0, SVGA3D_CMP_NEVER = 1, SVGA3D_CMP_LESS = 2, SVGA3D_CMP_EQUAL = 3, SVGA3D_CMP_LESSEQUAL = 4, SVGA3D_CMP_GREATER = 5, SVGA3D_CMP_NOTEQUAL = 6, SVGA3D_CMP_GREATEREQUAL = 7, SVGA3D_CMP_ALWAYS = 8, SVGA3D_CMP_MAX } SVGA3dCmpFunc; typedef enum { SVGA3D_FOGFUNC_INVALID = 0, SVGA3D_FOGFUNC_EXP = 1, SVGA3D_FOGFUNC_EXP2 = 2, SVGA3D_FOGFUNC_LINEAR = 3, SVGA3D_FOGFUNC_PER_VERTEX = 4 } SVGA3dFogFunction; typedef enum { SVGA3D_FOGTYPE_INVALID = 0, SVGA3D_FOGTYPE_VERTEX = 1, SVGA3D_FOGTYPE_PIXEL = 2, SVGA3D_FOGTYPE_MAX = 3 } SVGA3dFogType; typedef enum { SVGA3D_FOGBASE_INVALID = 0, SVGA3D_FOGBASE_DEPTHBASED = 1, SVGA3D_FOGBASE_RANGEBASED = 2, SVGA3D_FOGBASE_MAX = 3 } SVGA3dFogBase; typedef enum { SVGA3D_STENCILOP_INVALID = 0, SVGA3D_STENCILOP_KEEP = 1, SVGA3D_STENCILOP_ZERO = 2, SVGA3D_STENCILOP_REPLACE = 3, SVGA3D_STENCILOP_INCRSAT = 4, SVGA3D_STENCILOP_DECRSAT = 5, SVGA3D_STENCILOP_INVERT = 6, SVGA3D_STENCILOP_INCR = 7, SVGA3D_STENCILOP_DECR = 8, SVGA3D_STENCILOP_MAX } SVGA3dStencilOp; typedef enum { SVGA3D_CLIPPLANE_0 = (1 << 0), SVGA3D_CLIPPLANE_1 = (1 << 1), SVGA3D_CLIPPLANE_2 = (1 << 2), SVGA3D_CLIPPLANE_3 = (1 << 3), SVGA3D_CLIPPLANE_4 = (1 << 4), SVGA3D_CLIPPLANE_5 = (1 << 5), } SVGA3dClipPlanes; typedef enum { SVGA3D_CLEAR_COLOR = 0x1, SVGA3D_CLEAR_DEPTH = 0x2, SVGA3D_CLEAR_STENCIL = 0x4 } SVGA3dClearFlag; typedef enum { SVGA3D_RT_DEPTH = 0, SVGA3D_RT_STENCIL = 1, SVGA3D_RT_COLOR0 = 2, SVGA3D_RT_COLOR1 = 3, SVGA3D_RT_COLOR2 = 4, SVGA3D_RT_COLOR3 = 5, SVGA3D_RT_COLOR4 = 6, SVGA3D_RT_COLOR5 = 7, SVGA3D_RT_COLOR6 = 8, SVGA3D_RT_COLOR7 = 9, SVGA3D_RT_MAX, SVGA3D_RT_INVALID = ((uint32)-1), } SVGA3dRenderTargetType; typedef union { struct { uint32 red : 1; uint32 green : 1; uint32 blue : 1; uint32 alpha : 1; }; uint32 uintValue; } SVGA3dColorMask; typedef enum { SVGA3D_VBLEND_DISABLE = 0, SVGA3D_VBLEND_1WEIGHT = 1, SVGA3D_VBLEND_2WEIGHT = 2, SVGA3D_VBLEND_3WEIGHT = 3, } SVGA3dVertexBlendFlags; typedef enum { SVGA3D_WRAPCOORD_0 = 1 << 0, SVGA3D_WRAPCOORD_1 = 1 << 1, SVGA3D_WRAPCOORD_2 = 1 << 2, SVGA3D_WRAPCOORD_3 = 1 << 3, SVGA3D_WRAPCOORD_ALL = 0xF, } SVGA3dWrapFlags; typedef enum { SVGA3D_TS_INVALID = 0, SVGA3D_TS_BIND_TEXTURE = 1, SVGA3D_TS_COLOROP = 2, SVGA3D_TS_COLORARG1 = 3, SVGA3D_TS_COLORARG2 = 4, SVGA3D_TS_ALPHAOP = 5, SVGA3D_TS_ALPHAARG1 = 6, SVGA3D_TS_ALPHAARG2 = 7, SVGA3D_TS_ADDRESSU = 8, SVGA3D_TS_ADDRESSV = 9, SVGA3D_TS_MIPFILTER = 10, SVGA3D_TS_MAGFILTER = 11, SVGA3D_TS_MINFILTER = 12, SVGA3D_TS_BORDERCOLOR = 13, SVGA3D_TS_TEXCOORDINDEX = 14, SVGA3D_TS_TEXTURETRANSFORMFLAGS = 15, SVGA3D_TS_TEXCOORDGEN = 16, SVGA3D_TS_BUMPENVMAT00 = 17, SVGA3D_TS_BUMPENVMAT01 = 18, SVGA3D_TS_BUMPENVMAT10 = 19, SVGA3D_TS_BUMPENVMAT11 = 20, SVGA3D_TS_TEXTURE_MIPMAP_LEVEL = 21, SVGA3D_TS_TEXTURE_LOD_BIAS = 22, SVGA3D_TS_TEXTURE_ANISOTROPIC_LEVEL = 23, SVGA3D_TS_ADDRESSW = 24, # 670 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" SVGA3D_TS_GAMMA = 25, SVGA3D_TS_BUMPENVLSCALE = 26, SVGA3D_TS_BUMPENVLOFFSET = 27, SVGA3D_TS_COLORARG0 = 28, SVGA3D_TS_ALPHAARG0 = 29, SVGA3D_TS_MAX } SVGA3dTextureStateName; typedef enum { SVGA3D_TC_INVALID = 0, SVGA3D_TC_DISABLE = 1, SVGA3D_TC_SELECTARG1 = 2, SVGA3D_TC_SELECTARG2 = 3, SVGA3D_TC_MODULATE = 4, SVGA3D_TC_ADD = 5, SVGA3D_TC_ADDSIGNED = 6, SVGA3D_TC_SUBTRACT = 7, SVGA3D_TC_BLENDTEXTUREALPHA = 8, SVGA3D_TC_BLENDDIFFUSEALPHA = 9, SVGA3D_TC_BLENDCURRENTALPHA = 10, SVGA3D_TC_BLENDFACTORALPHA = 11, SVGA3D_TC_MODULATE2X = 12, SVGA3D_TC_MODULATE4X = 13, SVGA3D_TC_DSDT = 14, SVGA3D_TC_DOTPRODUCT3 = 15, SVGA3D_TC_BLENDTEXTUREALPHAPM = 16, SVGA3D_TC_ADDSIGNED2X = 17, SVGA3D_TC_ADDSMOOTH = 18, SVGA3D_TC_PREMODULATE = 19, SVGA3D_TC_MODULATEALPHA_ADDCOLOR = 20, SVGA3D_TC_MODULATECOLOR_ADDALPHA = 21, SVGA3D_TC_MODULATEINVALPHA_ADDCOLOR = 22, SVGA3D_TC_MODULATEINVCOLOR_ADDALPHA = 23, SVGA3D_TC_BUMPENVMAPLUMINANCE = 24, SVGA3D_TC_MULTIPLYADD = 25, SVGA3D_TC_LERP = 26, SVGA3D_TC_MAX } SVGA3dTextureCombiner; typedef enum { SVGA3D_TEX_ADDRESS_INVALID = 0, SVGA3D_TEX_ADDRESS_WRAP = 1, SVGA3D_TEX_ADDRESS_MIRROR = 2, SVGA3D_TEX_ADDRESS_CLAMP = 3, SVGA3D_TEX_ADDRESS_BORDER = 4, SVGA3D_TEX_ADDRESS_MIRRORONCE = 5, SVGA3D_TEX_ADDRESS_EDGE = 6, SVGA3D_TEX_ADDRESS_MAX } SVGA3dTextureAddress; typedef enum { SVGA3D_TEX_FILTER_NONE = 0, SVGA3D_TEX_FILTER_NEAREST = 1, SVGA3D_TEX_FILTER_LINEAR = 2, SVGA3D_TEX_FILTER_ANISOTROPIC = 3, SVGA3D_TEX_FILTER_FLATCUBIC = 4, SVGA3D_TEX_FILTER_GAUSSIANCUBIC = 5, SVGA3D_TEX_FILTER_PYRAMIDALQUAD = 6, SVGA3D_TEX_FILTER_GAUSSIANQUAD = 7, SVGA3D_TEX_FILTER_MAX } SVGA3dTextureFilter; typedef enum { SVGA3D_TEX_TRANSFORM_OFF = 0, SVGA3D_TEX_TRANSFORM_S = (1 << 0), SVGA3D_TEX_TRANSFORM_T = (1 << 1), SVGA3D_TEX_TRANSFORM_R = (1 << 2), SVGA3D_TEX_TRANSFORM_Q = (1 << 3), SVGA3D_TEX_PROJECTED = (1 << 15), } SVGA3dTexTransformFlags; typedef enum { SVGA3D_TEXCOORD_GEN_OFF = 0, SVGA3D_TEXCOORD_GEN_EYE_POSITION = 1, SVGA3D_TEXCOORD_GEN_EYE_NORMAL = 2, SVGA3D_TEXCOORD_GEN_REFLECTIONVECTOR = 3, SVGA3D_TEXCOORD_GEN_SPHERE = 4, SVGA3D_TEXCOORD_GEN_MAX } SVGA3dTextureCoordGen; typedef enum { SVGA3D_TA_INVALID = 0, SVGA3D_TA_CONSTANT = 1, SVGA3D_TA_PREVIOUS = 2, SVGA3D_TA_DIFFUSE = 3, SVGA3D_TA_TEXTURE = 4, SVGA3D_TA_SPECULAR = 5, SVGA3D_TA_MAX } SVGA3dTextureArgData; typedef enum { SVGA3D_TM_NONE = 0, SVGA3D_TM_ALPHA = (1 << 4), SVGA3D_TM_ONE_MINUS = (2 << 4), } SVGA3dTextureArgModifier; # 800 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" typedef enum { SVGA3D_DECLUSAGE_POSITION = 0, SVGA3D_DECLUSAGE_BLENDWEIGHT, SVGA3D_DECLUSAGE_BLENDINDICES, SVGA3D_DECLUSAGE_NORMAL, SVGA3D_DECLUSAGE_PSIZE, SVGA3D_DECLUSAGE_TEXCOORD, SVGA3D_DECLUSAGE_TANGENT, SVGA3D_DECLUSAGE_BINORMAL, SVGA3D_DECLUSAGE_TESSFACTOR, SVGA3D_DECLUSAGE_POSITIONT, SVGA3D_DECLUSAGE_COLOR, SVGA3D_DECLUSAGE_FOG, SVGA3D_DECLUSAGE_DEPTH, SVGA3D_DECLUSAGE_SAMPLE, SVGA3D_DECLUSAGE_MAX } SVGA3dDeclUsage; typedef enum { SVGA3D_DECLMETHOD_DEFAULT = 0, SVGA3D_DECLMETHOD_PARTIALU, SVGA3D_DECLMETHOD_PARTIALV, SVGA3D_DECLMETHOD_CROSSUV, SVGA3D_DECLMETHOD_UV, SVGA3D_DECLMETHOD_LOOKUP, SVGA3D_DECLMETHOD_LOOKUPPRESAMPLED, } SVGA3dDeclMethod; typedef enum { SVGA3D_DECLTYPE_FLOAT1 = 0, SVGA3D_DECLTYPE_FLOAT2 = 1, SVGA3D_DECLTYPE_FLOAT3 = 2, SVGA3D_DECLTYPE_FLOAT4 = 3, SVGA3D_DECLTYPE_D3DCOLOR = 4, SVGA3D_DECLTYPE_UBYTE4 = 5, SVGA3D_DECLTYPE_SHORT2 = 6, SVGA3D_DECLTYPE_SHORT4 = 7, SVGA3D_DECLTYPE_UBYTE4N = 8, SVGA3D_DECLTYPE_SHORT2N = 9, SVGA3D_DECLTYPE_SHORT4N = 10, SVGA3D_DECLTYPE_USHORT2N = 11, SVGA3D_DECLTYPE_USHORT4N = 12, SVGA3D_DECLTYPE_UDEC3 = 13, SVGA3D_DECLTYPE_DEC3N = 14, SVGA3D_DECLTYPE_FLOAT16_2 = 15, SVGA3D_DECLTYPE_FLOAT16_4 = 16, SVGA3D_DECLTYPE_MAX, } SVGA3dDeclType; typedef union { struct { uint32 count : 30; uint32 indexedData : 1; uint32 instanceData : 1; }; uint32 value; } SVGA3dVertexDivisor; typedef enum { SVGA3D_PRIMITIVE_INVALID = 0, SVGA3D_PRIMITIVE_TRIANGLELIST = 1, SVGA3D_PRIMITIVE_POINTLIST = 2, SVGA3D_PRIMITIVE_LINELIST = 3, SVGA3D_PRIMITIVE_LINESTRIP = 4, SVGA3D_PRIMITIVE_TRIANGLESTRIP = 5, SVGA3D_PRIMITIVE_TRIANGLEFAN = 6, SVGA3D_PRIMITIVE_MAX } SVGA3dPrimitiveType; typedef enum { SVGA3D_COORDINATE_INVALID = 0, SVGA3D_COORDINATE_LEFTHANDED = 1, SVGA3D_COORDINATE_RIGHTHANDED = 2, SVGA3D_COORDINATE_MAX } SVGA3dCoordinateType; typedef enum { SVGA3D_TRANSFORM_INVALID = 0, SVGA3D_TRANSFORM_WORLD = 1, SVGA3D_TRANSFORM_VIEW = 2, SVGA3D_TRANSFORM_PROJECTION = 3, SVGA3D_TRANSFORM_TEXTURE0 = 4, SVGA3D_TRANSFORM_TEXTURE1 = 5, SVGA3D_TRANSFORM_TEXTURE2 = 6, SVGA3D_TRANSFORM_TEXTURE3 = 7, SVGA3D_TRANSFORM_TEXTURE4 = 8, SVGA3D_TRANSFORM_TEXTURE5 = 9, SVGA3D_TRANSFORM_TEXTURE6 = 10, SVGA3D_TRANSFORM_TEXTURE7 = 11, SVGA3D_TRANSFORM_WORLD1 = 12, SVGA3D_TRANSFORM_WORLD2 = 13, SVGA3D_TRANSFORM_WORLD3 = 14, SVGA3D_TRANSFORM_MAX } SVGA3dTransformType; typedef enum { SVGA3D_LIGHTTYPE_INVALID = 0, SVGA3D_LIGHTTYPE_POINT = 1, SVGA3D_LIGHTTYPE_SPOT1 = 2, SVGA3D_LIGHTTYPE_SPOT2 = 3, SVGA3D_LIGHTTYPE_DIRECTIONAL = 4, SVGA3D_LIGHTTYPE_MAX } SVGA3dLightType; typedef enum { SVGA3D_CUBEFACE_POSX = 0, SVGA3D_CUBEFACE_NEGX = 1, SVGA3D_CUBEFACE_POSY = 2, SVGA3D_CUBEFACE_NEGY = 3, SVGA3D_CUBEFACE_POSZ = 4, SVGA3D_CUBEFACE_NEGZ = 5, } SVGA3dCubeFace; typedef enum { SVGA3D_SHADERTYPE_COMPILED_DX8 = 0, SVGA3D_SHADERTYPE_VS = 1, SVGA3D_SHADERTYPE_PS = 2, SVGA3D_SHADERTYPE_MAX } SVGA3dShaderType; typedef enum { SVGA3D_CONST_TYPE_FLOAT = 0, SVGA3D_CONST_TYPE_INT = 1, SVGA3D_CONST_TYPE_BOOL = 2, } SVGA3dShaderConstType; typedef enum { SVGA3D_STRETCH_BLT_POINT = 0, SVGA3D_STRETCH_BLT_LINEAR = 1, SVGA3D_STRETCH_BLT_MAX } SVGA3dStretchBltMode; typedef enum { SVGA3D_QUERYTYPE_OCCLUSION = 0, SVGA3D_QUERYTYPE_MAX } SVGA3dQueryType; typedef enum { SVGA3D_QUERYSTATE_PENDING = 0, SVGA3D_QUERYSTATE_SUCCEEDED = 1, SVGA3D_QUERYSTATE_FAILED = 2, SVGA3D_QUERYSTATE_NEW = 3, } SVGA3dQueryState; typedef enum { SVGA3D_WRITE_HOST_VRAM = 1, SVGA3D_READ_HOST_VRAM = 2, } SVGA3dTransferType; # 1031 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" typedef struct { union { struct { uint16 function; uint8 type; uint8 base; }; uint32 uintValue; }; } SVGA3dFogMode; typedef struct SVGA3dSurfaceImageId { uint32 sid; uint32 face; uint32 mipmap; } SVGA3dSurfaceImageId; typedef struct SVGA3dGuestImage { SVGAGuestPtr ptr; # 1073 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" uint32 pitch; } SVGA3dGuestImage; # 1084 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" typedef struct { uint32 id; uint32 size; } SVGA3dCmdHeader; typedef struct { uint32 width; uint32 height; uint32 depth; } SVGA3dSize; typedef enum { SVGA3D_SURFACE_CUBEMAP = (1 << 0), SVGA3D_SURFACE_HINT_STATIC = (1 << 1), SVGA3D_SURFACE_HINT_DYNAMIC = (1 << 2), SVGA3D_SURFACE_HINT_INDEXBUFFER = (1 << 3), SVGA3D_SURFACE_HINT_VERTEXBUFFER = (1 << 4), SVGA3D_SURFACE_HINT_TEXTURE = (1 << 5), SVGA3D_SURFACE_HINT_RENDERTARGET = (1 << 6), SVGA3D_SURFACE_HINT_DEPTHSTENCIL = (1 << 7), SVGA3D_SURFACE_HINT_WRITEONLY = (1 << 8), } SVGA3dSurfaceFlags; typedef struct { uint32 numMipLevels; } SVGA3dSurfaceFace; typedef struct { uint32 sid; SVGA3dSurfaceFlags surfaceFlags; SVGA3dSurfaceFormat format; SVGA3dSurfaceFace face[6]; # 1134 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" } SVGA3dCmdDefineSurface; typedef struct { uint32 sid; } SVGA3dCmdDestroySurface; typedef struct { uint32 cid; } SVGA3dCmdDefineContext; typedef struct { uint32 cid; } SVGA3dCmdDestroyContext; typedef struct { uint32 cid; SVGA3dClearFlag clearFlag; uint32 color; float depth; uint32 stencil; } SVGA3dCmdClear; typedef struct SVGA3dCopyRect { uint32 x; uint32 y; uint32 w; uint32 h; uint32 srcx; uint32 srcy; } SVGA3dCopyRect; typedef struct SVGA3dCopyBox { uint32 x; uint32 y; uint32 z; uint32 w; uint32 h; uint32 d; uint32 srcx; uint32 srcy; uint32 srcz; } SVGA3dCopyBox; typedef struct { uint32 x; uint32 y; uint32 w; uint32 h; } SVGA3dRect; typedef struct { uint32 x; uint32 y; uint32 z; uint32 w; uint32 h; uint32 d; } SVGA3dBox; typedef struct { uint32 x; uint32 y; uint32 z; } SVGA3dPoint; typedef struct { SVGA3dLightType type; SVGA3dBool inWorldSpace; float diffuse[4]; float specular[4]; float ambient[4]; float position[4]; float direction[4]; float range; float falloff; float attenuation0; float attenuation1; float attenuation2; float theta; float phi; } SVGA3dLightData; typedef struct { uint32 sid; } SVGA3dCmdPresent; typedef struct { SVGA3dRenderStateName state; union { uint32 uintValue; float floatValue; }; } SVGA3dRenderState; typedef struct { uint32 cid; } SVGA3dCmdSetRenderState; typedef struct { uint32 cid; SVGA3dRenderTargetType type; SVGA3dSurfaceImageId target; } SVGA3dCmdSetRenderTarget; typedef struct { SVGA3dSurfaceImageId src; SVGA3dSurfaceImageId dest; } SVGA3dCmdSurfaceCopy; typedef struct { SVGA3dSurfaceImageId src; SVGA3dSurfaceImageId dest; SVGA3dBox boxSrc; SVGA3dBox boxDest; SVGA3dStretchBltMode mode; } SVGA3dCmdSurfaceStretchBlt; typedef struct { uint32 discard : 1; uint32 unsynchronized : 1; uint32 reserved : 30; } SVGA3dSurfaceDMAFlags; typedef struct { SVGA3dGuestImage guest; SVGA3dSurfaceImageId host; SVGA3dTransferType transfer; # 1309 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" } SVGA3dCmdSurfaceDMA; # 1321 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" typedef struct { uint32 suffixSize; # 1333 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" uint32 maximumOffset; # 1342 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" SVGA3dSurfaceDMAFlags flags; } SVGA3dCmdSurfaceDMASuffix; # 1362 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" typedef struct { # 1373 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" uint32 first; uint32 last; } SVGA3dArrayRangeHint; typedef struct { # 1390 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" uint32 surfaceId; uint32 offset; uint32 stride; } SVGA3dArray; typedef struct { SVGA3dDeclType type; SVGA3dDeclMethod method; SVGA3dDeclUsage usage; uint32 usageIndex; } SVGA3dVertexArrayIdentity; typedef struct { SVGA3dVertexArrayIdentity identity; SVGA3dArray array; SVGA3dArrayRangeHint rangeHint; } SVGA3dVertexDecl; typedef struct { SVGA3dPrimitiveType primType; uint32 primitiveCount; # 1440 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" SVGA3dArray indexArray; uint32 indexWidth; # 1463 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" int32 indexBias; } SVGA3dPrimitiveRange; typedef struct { uint32 cid; uint32 numVertexDecls; uint32 numRanges; # 1482 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" } SVGA3dCmdDrawPrimitives; typedef struct { uint32 stage; SVGA3dTextureStateName name; union { uint32 value; float floatValue; }; } SVGA3dTextureState; typedef struct { uint32 cid; } SVGA3dCmdSetTextureState; typedef struct { uint32 cid; SVGA3dTransformType type; float matrix[16]; } SVGA3dCmdSetTransform; typedef struct { float min; float max; } SVGA3dZRange; typedef struct { uint32 cid; SVGA3dZRange zRange; } SVGA3dCmdSetZRange; typedef struct { float diffuse[4]; float ambient[4]; float specular[4]; float emissive[4]; float shininess; } SVGA3dMaterial; typedef struct { uint32 cid; SVGA3dFace face; SVGA3dMaterial material; } SVGA3dCmdSetMaterial; typedef struct { uint32 cid; uint32 index; SVGA3dLightData data; } SVGA3dCmdSetLightData; typedef struct { uint32 cid; uint32 index; uint32 enabled; } SVGA3dCmdSetLightEnabled; typedef struct { uint32 cid; SVGA3dRect rect; } SVGA3dCmdSetViewport; typedef struct { uint32 cid; SVGA3dRect rect; } SVGA3dCmdSetScissorRect; typedef struct { uint32 cid; uint32 index; float plane[4]; } SVGA3dCmdSetClipPlane; typedef struct { uint32 cid; uint32 shid; SVGA3dShaderType type; } SVGA3dCmdDefineShader; typedef struct { uint32 cid; uint32 shid; SVGA3dShaderType type; } SVGA3dCmdDestroyShader; typedef struct { uint32 cid; uint32 reg; SVGA3dShaderType type; SVGA3dShaderConstType ctype; uint32 values[4]; } SVGA3dCmdSetShaderConst; typedef struct { uint32 cid; SVGA3dShaderType type; uint32 shid; } SVGA3dCmdSetShader; typedef struct { uint32 cid; SVGA3dQueryType type; } SVGA3dCmdBeginQuery; typedef struct { uint32 cid; SVGA3dQueryType type; SVGAGuestPtr guestResult; } SVGA3dCmdEndQuery; typedef struct { uint32 cid; SVGA3dQueryType type; SVGAGuestPtr guestResult; } SVGA3dCmdWaitForQuery; typedef struct { uint32 totalSize; SVGA3dQueryState state; union { uint32 result32; }; } SVGA3dQueryResult; # 1665 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" typedef struct { SVGA3dSurfaceImageId srcImage; SVGASignedRect srcRect; uint32 destScreenId; SVGASignedRect destRect; } SVGA3dCmdBlitSurfaceToScreen; # 1701 "../../../../src/gallium/drivers/svga/include/svga3d_reg.h" typedef enum { SVGA3D_DEVCAP_3D = 0, SVGA3D_DEVCAP_MAX_LIGHTS = 1, SVGA3D_DEVCAP_MAX_TEXTURES = 2, SVGA3D_DEVCAP_MAX_CLIP_PLANES = 3, SVGA3D_DEVCAP_VERTEX_SHADER_VERSION = 4, SVGA3D_DEVCAP_VERTEX_SHADER = 5, SVGA3D_DEVCAP_FRAGMENT_SHADER_VERSION = 6, SVGA3D_DEVCAP_FRAGMENT_SHADER = 7, SVGA3D_DEVCAP_MAX_RENDER_TARGETS = 8, SVGA3D_DEVCAP_S23E8_TEXTURES = 9, SVGA3D_DEVCAP_S10E5_TEXTURES = 10, SVGA3D_DEVCAP_MAX_FIXED_VERTEXBLEND = 11, SVGA3D_DEVCAP_D16_BUFFER_FORMAT = 12, SVGA3D_DEVCAP_D24S8_BUFFER_FORMAT = 13, SVGA3D_DEVCAP_D24X8_BUFFER_FORMAT = 14, SVGA3D_DEVCAP_QUERY_TYPES = 15, SVGA3D_DEVCAP_TEXTURE_GRADIENT_SAMPLING = 16, SVGA3D_DEVCAP_MAX_POINT_SIZE = 17, SVGA3D_DEVCAP_MAX_SHADER_TEXTURES = 18, SVGA3D_DEVCAP_MAX_TEXTURE_WIDTH = 19, SVGA3D_DEVCAP_MAX_TEXTURE_HEIGHT = 20, SVGA3D_DEVCAP_MAX_VOLUME_EXTENT = 21, SVGA3D_DEVCAP_MAX_TEXTURE_REPEAT = 22, SVGA3D_DEVCAP_MAX_TEXTURE_ASPECT_RATIO = 23, SVGA3D_DEVCAP_MAX_TEXTURE_ANISOTROPY = 24, SVGA3D_DEVCAP_MAX_PRIMITIVE_COUNT = 25, SVGA3D_DEVCAP_MAX_VERTEX_INDEX = 26, SVGA3D_DEVCAP_MAX_VERTEX_SHADER_INSTRUCTIONS = 27, SVGA3D_DEVCAP_MAX_FRAGMENT_SHADER_INSTRUCTIONS = 28, SVGA3D_DEVCAP_MAX_VERTEX_SHADER_TEMPS = 29, SVGA3D_DEVCAP_MAX_FRAGMENT_SHADER_TEMPS = 30, SVGA3D_DEVCAP_TEXTURE_OPS = 31, SVGA3D_DEVCAP_SURFACEFMT_X8R8G8B8 = 32, SVGA3D_DEVCAP_SURFACEFMT_A8R8G8B8 = 33, SVGA3D_DEVCAP_SURFACEFMT_A2R10G10B10 = 34, SVGA3D_DEVCAP_SURFACEFMT_X1R5G5B5 = 35, SVGA3D_DEVCAP_SURFACEFMT_A1R5G5B5 = 36, SVGA3D_DEVCAP_SURFACEFMT_A4R4G4B4 = 37, SVGA3D_DEVCAP_SURFACEFMT_R5G6B5 = 38, SVGA3D_DEVCAP_SURFACEFMT_LUMINANCE16 = 39, SVGA3D_DEVCAP_SURFACEFMT_LUMINANCE8_ALPHA8 = 40, SVGA3D_DEVCAP_SURFACEFMT_ALPHA8 = 41, SVGA3D_DEVCAP_SURFACEFMT_LUMINANCE8 = 42, SVGA3D_DEVCAP_SURFACEFMT_Z_D16 = 43, SVGA3D_DEVCAP_SURFACEFMT_Z_D24S8 = 44, SVGA3D_DEVCAP_SURFACEFMT_Z_D24X8 = 45, SVGA3D_DEVCAP_SURFACEFMT_DXT1 = 46, SVGA3D_DEVCAP_SURFACEFMT_DXT2 = 47, SVGA3D_DEVCAP_SURFACEFMT_DXT3 = 48, SVGA3D_DEVCAP_SURFACEFMT_DXT4 = 49, SVGA3D_DEVCAP_SURFACEFMT_DXT5 = 50, SVGA3D_DEVCAP_SURFACEFMT_BUMPX8L8V8U8 = 51, SVGA3D_DEVCAP_SURFACEFMT_A2W10V10U10 = 52, SVGA3D_DEVCAP_SURFACEFMT_BUMPU8V8 = 53, SVGA3D_DEVCAP_SURFACEFMT_Q8W8V8U8 = 54, SVGA3D_DEVCAP_SURFACEFMT_CxV8U8 = 55, SVGA3D_DEVCAP_SURFACEFMT_R_S10E5 = 56, SVGA3D_DEVCAP_SURFACEFMT_R_S23E8 = 57, SVGA3D_DEVCAP_SURFACEFMT_RG_S10E5 = 58, SVGA3D_DEVCAP_SURFACEFMT_RG_S23E8 = 59, SVGA3D_DEVCAP_SURFACEFMT_ARGB_S10E5 = 60, SVGA3D_DEVCAP_SURFACEFMT_ARGB_S23E8 = 61, SVGA3D_DEVCAP_MAX_VERTEX_SHADER_TEXTURES = 63, SVGA3D_DEVCAP_MAX_SIMULTANEOUS_RENDER_TARGETS = 64, SVGA3D_DEVCAP_SURFACEFMT_V16U16 = 65, SVGA3D_DEVCAP_SURFACEFMT_G16R16 = 66, SVGA3D_DEVCAP_SURFACEFMT_A16B16G16R16 = 67, SVGA3D_DEVCAP_SURFACEFMT_UYVY = 68, SVGA3D_DEVCAP_SURFACEFMT_YUY2 = 69, SVGA3D_DEVCAP_MAX } SVGA3dDevCapIndex; typedef union { Bool b; uint32 u; int32 i; float f; } SVGA3dDevCapResult; # 40 "svga_hw_reg.h" 2 # 31 "svga_tgsi_emit.h" 2 # 1 "svga_tgsi.h" 1 # 33 "svga_tgsi.h" struct svga_fragment_shader; struct svga_vertex_shader; struct svga_shader; struct tgsi_shader_info; struct tgsi_token; struct svga_vs_compile_key { unsigned zero_stride_vertex_elements; unsigned need_prescale:1; unsigned allow_psiz:1; unsigned num_zero_stride_vertex_elements:6; }; struct svga_fs_compile_key { unsigned light_twoside:1; unsigned front_ccw:1; unsigned white_fragments:1; unsigned num_textures:8; unsigned num_unnormalized_coords:8; struct { unsigned compare_mode:1; unsigned compare_func:3; unsigned unnormalized:1; unsigned width_height_idx:7; unsigned texture_target:8; } tex[16]; }; union svga_compile_key { struct svga_vs_compile_key vkey; struct svga_fs_compile_key fkey; }; struct svga_shader_result { const struct svga_shader *shader; union svga_compile_key key; const unsigned *tokens; unsigned nr_tokens; unsigned id; struct svga_shader_result *next; }; # 100 "svga_tgsi.h" static __inline__ void svga_generate_vdecl_semantics( unsigned idx, unsigned *usage, unsigned *usage_index ) { if (idx == 0) { *usage = SVGA3D_DECLUSAGE_POSITION; *usage_index = 0; } else { *usage = SVGA3D_DECLUSAGE_TEXCOORD; *usage_index = idx - 1; } } static __inline__ unsigned svga_vs_key_size( const struct svga_vs_compile_key *key ) { return sizeof *key; } static __inline__ unsigned svga_fs_key_size( const struct svga_fs_compile_key *key ) { return (const char *)&key->tex[key->num_textures] - (const char *)key; } struct svga_shader_result * svga_translate_fragment_program( const struct svga_fragment_shader *fs, const struct svga_fs_compile_key *fkey ); struct svga_shader_result * svga_translate_vertex_program( const struct svga_vertex_shader *fs, const struct svga_vs_compile_key *vkey ); void svga_destroy_shader_result( struct svga_shader_result *result ); # 32 "svga_tgsi_emit.h" 2 # 1 "../../../../src/gallium/drivers/svga/include/svga3d_shaderdefs.h" 1 # 66 "../../../../src/gallium/drivers/svga/include/svga3d_shaderdefs.h" typedef struct { union { struct { uint32 minor : 8; uint32 major : 8; uint32 type : 16; }; uint32 value; }; } SVGA3dShaderVersion; # 92 "../../../../src/gallium/drivers/svga/include/svga3d_shaderdefs.h" typedef enum { SVGA3DPSVERSION_NONE = 0, SVGA3DPSVERSION_ENABLED = 1, SVGA3DPSVERSION_11 = 3, SVGA3DPSVERSION_12 = 5, SVGA3DPSVERSION_13 = 7, SVGA3DPSVERSION_14 = 9, SVGA3DPSVERSION_20 = 11, SVGA3DPSVERSION_30 = 13, SVGA3DPSVERSION_40 = 15, SVGA3DPSVERSION_MAX } SVGA3dPixelShaderVersion; typedef enum { SVGA3DVSVERSION_NONE = 0, SVGA3DVSVERSION_ENABLED = 1, SVGA3DVSVERSION_11 = 3, SVGA3DVSVERSION_20 = 5, SVGA3DVSVERSION_30 = 7, SVGA3DVSVERSION_40 = 9, SVGA3DVSVERSION_MAX } SVGA3dVertexShaderVersion; typedef enum { SVGA3DOP_NOP = 0, SVGA3DOP_MOV, SVGA3DOP_ADD, SVGA3DOP_SUB, SVGA3DOP_MAD, SVGA3DOP_MUL, SVGA3DOP_RCP, SVGA3DOP_RSQ, SVGA3DOP_DP3, SVGA3DOP_DP4, SVGA3DOP_MIN, SVGA3DOP_MAX, SVGA3DOP_SLT, SVGA3DOP_SGE, SVGA3DOP_EXP, SVGA3DOP_LOG, SVGA3DOP_LIT, SVGA3DOP_DST, SVGA3DOP_LRP, SVGA3DOP_FRC, SVGA3DOP_M4x4, SVGA3DOP_M4x3, SVGA3DOP_M3x4, SVGA3DOP_M3x3, SVGA3DOP_M3x2, SVGA3DOP_CALL, SVGA3DOP_CALLNZ, SVGA3DOP_LOOP, SVGA3DOP_RET, SVGA3DOP_ENDLOOP, SVGA3DOP_LABEL, SVGA3DOP_DCL, SVGA3DOP_POW, SVGA3DOP_CRS, SVGA3DOP_SGN, SVGA3DOP_ABS, SVGA3DOP_NRM, SVGA3DOP_SINCOS, SVGA3DOP_REP, SVGA3DOP_ENDREP, SVGA3DOP_IF, SVGA3DOP_IFC, SVGA3DOP_ELSE, SVGA3DOP_ENDIF, SVGA3DOP_BREAK, SVGA3DOP_BREAKC, SVGA3DOP_MOVA, SVGA3DOP_DEFB, SVGA3DOP_DEFI, SVGA3DOP_TEXCOORD = 64, SVGA3DOP_TEXKILL, SVGA3DOP_TEX, SVGA3DOP_TEXBEM, SVGA3DOP_TEXBEML, SVGA3DOP_TEXREG2AR, SVGA3DOP_TEXREG2GB = 70, SVGA3DOP_TEXM3x2PAD, SVGA3DOP_TEXM3x2TEX, SVGA3DOP_TEXM3x3PAD, SVGA3DOP_TEXM3x3TEX, SVGA3DOP_RESERVED0, SVGA3DOP_TEXM3x3SPEC, SVGA3DOP_TEXM3x3VSPEC, SVGA3DOP_EXPP, SVGA3DOP_LOGP, SVGA3DOP_CND = 80, SVGA3DOP_DEF, SVGA3DOP_TEXREG2RGB, SVGA3DOP_TEXDP3TEX, SVGA3DOP_TEXM3x2DEPTH, SVGA3DOP_TEXDP3, SVGA3DOP_TEXM3x3, SVGA3DOP_TEXDEPTH, SVGA3DOP_CMP, SVGA3DOP_BEM, SVGA3DOP_DP2ADD = 90, SVGA3DOP_DSX, SVGA3DOP_DSY, SVGA3DOP_TEXLDD, SVGA3DOP_SETP, SVGA3DOP_TEXLDL, SVGA3DOP_BREAKP = 96, SVGA3DOP_LAST_INST, SVGA3DOP_PHASE = 0xFFFD, SVGA3DOP_COMMENT = 0xFFFE, SVGA3DOP_END = 0xFFFF, } SVGA3dShaderOpCodeType; typedef enum { SVGA3DOPCONT_NONE, SVGA3DOPCONT_PROJECT, SVGA3DOPCONT_BIAS, } SVGA3dShaderOpCodeControlFnType; typedef enum { SVGA3DOPCOMP_RESERVED0 = 0, SVGA3DOPCOMP_GT, SVGA3DOPCOMP_EQ, SVGA3DOPCOMP_GE, SVGA3DOPCOMP_LT, SVGA3DOPCOMPC_NE, SVGA3DOPCOMP_LE, SVGA3DOPCOMP_RESERVED1 } SVGA3dShaderOpCodeCompFnType; typedef enum { SVGA3DREG_TEMP = 0, SVGA3DREG_INPUT, SVGA3DREG_CONST, SVGA3DREG_ADDR, SVGA3DREG_TEXTURE = 3, SVGA3DREG_RASTOUT, SVGA3DREG_ATTROUT, SVGA3DREG_TEXCRDOUT, SVGA3DREG_OUTPUT = 6, SVGA3DREG_CONSTINT, SVGA3DREG_COLOROUT, SVGA3DREG_DEPTHOUT, SVGA3DREG_SAMPLER, SVGA3DREG_CONST2, SVGA3DREG_CONST3, SVGA3DREG_CONST4, SVGA3DREG_CONSTBOOL, SVGA3DREG_LOOP, SVGA3DREG_TEMPFLOAT16, SVGA3DREG_MISCTYPE, SVGA3DREG_LABEL, SVGA3DREG_PREDICATE, } SVGA3dShaderRegType; typedef enum { SVGA3DRASTOUT_POSITION = 0, SVGA3DRASTOUT_FOG, SVGA3DRASTOUT_PSIZE } SVGA3dShaderRastOutRegType; typedef enum { SVGA3DMISCREG_POSITION = 0, SVGA3DMISCREG_FACE } SVGA3DShaderMiscRegType; typedef enum { SVGA3DSAMP_UNKNOWN = 0, SVGA3DSAMP_2D = 2, SVGA3DSAMP_CUBE, SVGA3DSAMP_VOLUME, } SVGA3dShaderSamplerType; typedef enum { SVGA3DSAMPFORMAT_ARGB, SVGA3DSAMPFORMAT_V8U8, SVGA3DSAMPFORMAT_Q8W8V8U8, SVGA3DSAMPFORMAT_CxV8U8, SVGA3DSAMPFORMAT_X8L8V8U8, SVGA3DSAMPFORMAT_A2W10V10U10, SVGA3DSAMPFORMAT_DXT_PMA, SVGA3DSAMPFORMAT_YUV, SVGA3DSAMPFORMAT_UYVY, SVGA3DSAMPFORMAT_Rx, SVGA3DSAMPFORMAT_RxGx, SVGA3DSAMPFORMAT_V16U16, } SVGA3DShaderSamplerFormatClass; # 331 "../../../../src/gallium/drivers/svga/include/svga3d_shaderdefs.h" typedef enum { SVGA3DSRCMOD_NONE = 0, SVGA3DSRCMOD_NEG, SVGA3DSRCMOD_BIAS, SVGA3DSRCMOD_BIASNEG, SVGA3DSRCMOD_SIGN, SVGA3DSRCMOD_SIGNNEG, SVGA3DSRCMOD_COMP, SVGA3DSRCMOD_X2, SVGA3DSRCMOD_X2NEG, SVGA3DSRCMOD_DZ, SVGA3DSRCMOD_DW, SVGA3DSRCMOD_ABS, SVGA3DSRCMOD_ABSNEG, SVGA3DSRCMOD_NOT, } SVGA3dShaderSrcModType; typedef struct { union { struct { uint32 comment_op : 16; uint32 comment_size : 16; }; struct { uint32 op : 16; uint32 control : 3; uint32 reserved2 : 5; uint32 size : 4; uint32 predicated : 1; uint32 reserved1 : 1; uint32 coissue : 1; uint32 reserved0 : 1; }; uint32 value; }; } SVGA3dShaderInstToken; typedef struct { union { struct { uint32 num : 11; uint32 type_upper : 2; uint32 relAddr : 1; uint32 reserved1 : 2; uint32 mask : 4; uint32 dstMod : 4; uint32 shfScale : 4; uint32 type_lower : 3; uint32 reserved0 : 1; }; uint32 value; }; } SVGA3dShaderDestToken; typedef struct { union { struct { uint32 num : 11; uint32 type_upper : 2; uint32 relAddr : 1; uint32 reserved1 : 2; uint32 swizzle : 8; uint32 srcMod : 4; uint32 type_lower : 3; uint32 reserved0 : 1; }; uint32 value; }; } SVGA3dShaderSrcToken; typedef struct { union { struct { union { struct { uint32 usage : 5; uint32 reserved1 : 11; uint32 index : 4; uint32 reserved0 : 12; }; struct { uint32 reserved3 : 27; uint32 type : 4; uint32 reserved2 : 1; }; }; SVGA3dShaderDestToken dst; }; uint32 values[2]; }; } SVGA3DOpDclArgs; typedef struct { union { struct { SVGA3dShaderDestToken dst; union { float constValues[4]; int constIValues[4]; Bool constBValue; }; }; uint32 values[5]; }; } SVGA3DOpDefArgs; typedef union { uint32 value; SVGA3dShaderInstToken inst; SVGA3dShaderDestToken dest; SVGA3dShaderSrcToken src; } SVGA3dShaderToken; typedef struct { SVGA3dShaderVersion version; } SVGA3dShaderProgram; static const uint32 SVGA3D_INPUT_REG_POSITION_VS11 = 0; static const uint32 SVGA3D_INPUT_REG_PSIZE_VS11 = 1; static const uint32 SVGA3D_INPUT_REG_FOG_VS11 = 3; static const uint32 SVGA3D_INPUT_REG_FOG_MASK_VS11 = 8; static const uint32 SVGA3D_INPUT_REG_COLOR_BASE_VS11 = 2; static const uint32 SVGA3D_INPUT_REG_TEXCOORD_BASE_VS11 = 4; static const uint32 SVGA3D_INPUT_REG_COLOR_BASE_PS11 = 0; static const uint32 SVGA3D_INPUT_REG_TEXCOORD_BASE_PS11 = 2; static const uint32 SVGA3D_OUTPUT_REG_DEPTH_PS11 = 0; static const uint32 SVGA3D_OUTPUT_REG_COLOR_PS11 = 1; static const uint32 SVGA3D_INPUT_REG_COLOR_BASE_PS20 = 0; static const uint32 SVGA3D_INPUT_REG_COLOR_NUM_PS20 = 2; static const uint32 SVGA3D_INPUT_REG_TEXCOORD_BASE_PS20 = 2; static const uint32 SVGA3D_INPUT_REG_TEXCOORD_NUM_PS20 = 8; static const uint32 SVGA3D_OUTPUT_REG_COLOR_BASE_PS20 = 1; static const uint32 SVGA3D_OUTPUT_REG_COLOR_NUM_PS20 = 4; static const uint32 SVGA3D_OUTPUT_REG_DEPTH_BASE_PS20 = 0; static const uint32 SVGA3D_OUTPUT_REG_DEPTH_NUM_PS20 = 1; # 511 "../../../../src/gallium/drivers/svga/include/svga3d_shaderdefs.h" static __inline__ SVGA3dShaderRegType SVGA3dShaderGetRegType(uint32 token) { SVGA3dShaderSrcToken src; src.value = token; return (SVGA3dShaderRegType)(src.type_upper << 3 | src.type_lower); } # 33 "svga_tgsi_emit.h" 2 struct src_register { SVGA3dShaderSrcToken base; SVGA3dShaderSrcToken indirect; }; struct svga_arl_consts { int number; int idx; int swizzle; int arl_num; }; struct svga_shader_emitter { boolean use_sm30; unsigned size; char *buf; char *ptr; union svga_compile_key key; struct tgsi_shader_info info; int unit; int imm_start; int nr_hw_float_const; int nr_hw_int_const; int nr_hw_temp; int insn_offset; int internal_temp_count; int internal_imm_count; int internal_color_idx[2]; int internal_color_count; boolean emitted_vface; boolean emit_frontface; int internal_frontface_idx; int ps30_input_count; int dynamic_branching_level; boolean in_main_func; boolean created_zero_immediate; int zero_immediate_idx; boolean created_loop_const; int loop_const_idx; boolean created_sincos_consts; int sincos_consts_idx; unsigned label[32]; unsigned nr_labels; struct src_register input_map[32]; SVGA3dShaderDestToken output_map[32]; struct src_register imm_0055; SVGA3dShaderDestToken temp_pos; SVGA3dShaderDestToken true_pos; SVGA3dShaderDestToken temp_col[8]; SVGA3dShaderDestToken true_col[8]; SVGA3dShaderDestToken temp_psiz; SVGA3dShaderDestToken true_psiz; struct svga_arl_consts arl_consts[12]; int num_arl_consts; int current_arl; }; boolean svga_shader_emit_dword( struct svga_shader_emitter *emit, unsigned dword ); boolean svga_shader_emit_dwords( struct svga_shader_emitter *emit, const unsigned *dwords, unsigned nr ); boolean svga_shader_emit_opcode( struct svga_shader_emitter *emit, unsigned opcode ); boolean svga_translate_decl_sm20( struct svga_shader_emitter *emit, const struct tgsi_full_declaration *decl ); boolean svga_translate_decl_sm30( struct svga_shader_emitter *emit, const struct tgsi_full_declaration *decl ); static __inline__ boolean emit_dst( struct svga_shader_emitter *emit, SVGA3dShaderDestToken dest ) { do { } while (0 && (dest.reserved0)); do { } while (0 && (dest.mask)); return svga_shader_emit_dword( emit, dest.value ); } static __inline__ boolean emit_src( struct svga_shader_emitter *emit, const struct src_register src ) { if (src.base.relAddr) { do { } while (0 && (src.base.reserved0)); do { } while (0 && (src.indirect.reserved0)); return (svga_shader_emit_dword( emit, src.base.value ) && svga_shader_emit_dword( emit, src.indirect.value )); } else { do { } while (0 && (src.base.reserved0)); return svga_shader_emit_dword( emit, src.base.value ); } } static __inline__ boolean emit_instruction( struct svga_shader_emitter *emit, SVGA3dShaderInstToken opcode ) { return svga_shader_emit_opcode( emit, opcode.value ); } static __inline__ boolean emit_op1( struct svga_shader_emitter *emit, SVGA3dShaderInstToken inst, SVGA3dShaderDestToken dest, struct src_register src0 ) { return (emit_instruction( emit, inst ) && emit_dst( emit, dest ) && emit_src( emit, src0 )); } static __inline__ boolean emit_op2( struct svga_shader_emitter *emit, SVGA3dShaderInstToken inst, SVGA3dShaderDestToken dest, struct src_register src0, struct src_register src1 ) { return (emit_instruction( emit, inst ) && emit_dst( emit, dest ) && emit_src( emit, src0 ) && emit_src( emit, src1 )); } static __inline__ boolean emit_op3( struct svga_shader_emitter *emit, SVGA3dShaderInstToken inst, SVGA3dShaderDestToken dest, struct src_register src0, struct src_register src1, struct src_register src2 ) { return (emit_instruction( emit, inst ) && emit_dst( emit, dest ) && emit_src( emit, src0 ) && emit_src( emit, src1 ) && emit_src( emit, src2 )); } static __inline__ boolean emit_op4( struct svga_shader_emitter *emit, SVGA3dShaderInstToken inst, SVGA3dShaderDestToken dest, struct src_register src0, struct src_register src1, struct src_register src2, struct src_register src3) { return (emit_instruction( emit, inst ) && emit_dst( emit, dest ) && emit_src( emit, src0 ) && emit_src( emit, src1 ) && emit_src( emit, src2 ) && emit_src( emit, src3 )); } # 237 "svga_tgsi_emit.h" static __inline__ SVGA3dShaderInstToken inst_token( unsigned opcode ) { SVGA3dShaderInstToken inst; inst.value = 0; inst.op = opcode; return inst; } static __inline__ SVGA3dShaderDestToken dst_register( unsigned file, int number ) { SVGA3dShaderDestToken dest; dest.value = 0; dest.num = number; dest.type_upper = file >> 3; dest.relAddr = 0; dest.reserved1 = 0; dest.mask = 0xf; dest.dstMod = 0; dest.shfScale = 0; dest.type_lower = file & 0x7; dest.reserved0 = 1; return dest; } static __inline__ SVGA3dShaderDestToken writemask( SVGA3dShaderDestToken dest, unsigned mask ) { do { } while (0 && (dest.mask & mask)); dest.mask &= mask; return dest; } static __inline__ SVGA3dShaderSrcToken src_token( unsigned file, int number ) { SVGA3dShaderSrcToken src; src.value = 0; src.num = number; src.type_upper = file >> 3; src.relAddr = 0; src.reserved1 = 0; src.swizzle = ((0) | ((1) << 2) | ((2) << 4) | ((3) << 6)); src.srcMod = 0; src.type_lower = file & 0x7; src.reserved0 = 1; return src; } static __inline__ struct src_register absolute( struct src_register src ) { src.base.srcMod = SVGA3DSRCMOD_ABS; return src; } static __inline__ struct src_register negate( struct src_register src ) { switch (src.base.srcMod) { case SVGA3DSRCMOD_ABS: src.base.srcMod = SVGA3DSRCMOD_ABSNEG; break; case SVGA3DSRCMOD_ABSNEG: src.base.srcMod = SVGA3DSRCMOD_ABS; break; case SVGA3DSRCMOD_NEG: src.base.srcMod = SVGA3DSRCMOD_NONE; break; case SVGA3DSRCMOD_NONE: src.base.srcMod = SVGA3DSRCMOD_NEG; break; } return src; } static __inline__ struct src_register src_register( unsigned file, int number ) { struct src_register src; src.base = src_token( file, number ); src.indirect.value = 0; return src; } static __inline__ SVGA3dShaderDestToken dst( struct src_register src ) { return dst_register( SVGA3dShaderGetRegType( src.base.value ), src.base.num ); } static __inline__ struct src_register src( SVGA3dShaderDestToken dst ) { return src_register( SVGA3dShaderGetRegType( dst.value ), dst.num ); } static __inline__ ubyte svga_tgsi_sampler_type( struct svga_shader_emitter *emit, int idx ) { switch (emit->key.fkey.tex[idx].texture_target) { case PIPE_TEXTURE_1D: return SVGA3DSAMP_2D; case PIPE_TEXTURE_2D: case PIPE_TEXTURE_RECT: return SVGA3DSAMP_2D; case PIPE_TEXTURE_3D: return SVGA3DSAMP_VOLUME; case PIPE_TEXTURE_CUBE: return SVGA3DSAMP_CUBE; } return SVGA3DSAMP_UNKNOWN; } # 32 "svga_tgsi_insn.c" 2 # 1 "svga_context.h" 1 # 30 "svga_context.h" # 1 "../../../../src/gallium/include/pipe/p_context.h" 1 # 38 "../../../../src/gallium/include/pipe/p_context.h" struct pipe_blend_color; struct pipe_blend_state; struct pipe_box; struct pipe_clip_state; struct pipe_depth_stencil_alpha_state; struct pipe_draw_info; struct pipe_fence_handle; struct pipe_framebuffer_state; struct pipe_index_buffer; struct pipe_query; struct pipe_poly_stipple; struct pipe_rasterizer_state; struct pipe_resource; struct pipe_sampler_state; struct pipe_sampler_view; struct pipe_scissor_state; struct pipe_shader_state; struct pipe_stencil_ref; struct pipe_stream_output_state; struct pipe_surface; struct pipe_vertex_buffer; struct pipe_vertex_element; struct pipe_viewport_state; struct pipe_context { struct pipe_winsys *winsys; struct pipe_screen *screen; void *priv; void *draw; void (*destroy)( struct pipe_context * ); void (*draw_vbo)( struct pipe_context *pipe, const struct pipe_draw_info *info ); void (*draw_stream_output)( struct pipe_context *pipe, unsigned mode ); void (*render_condition)( struct pipe_context *pipe, struct pipe_query *query, uint mode ); struct pipe_query *(*create_query)( struct pipe_context *pipe, unsigned query_type ); void (*destroy_query)(struct pipe_context *pipe, struct pipe_query *q); void (*begin_query)(struct pipe_context *pipe, struct pipe_query *q); void (*end_query)(struct pipe_context *pipe, struct pipe_query *q); boolean (*get_query_result)(struct pipe_context *pipe, struct pipe_query *q, boolean wait, void *result); void * (*create_blend_state)(struct pipe_context *, const struct pipe_blend_state *); void (*bind_blend_state)(struct pipe_context *, void *); void (*delete_blend_state)(struct pipe_context *, void *); void * (*create_sampler_state)(struct pipe_context *, const struct pipe_sampler_state *); void (*bind_fragment_sampler_states)(struct pipe_context *, unsigned num_samplers, void **samplers); void (*bind_vertex_sampler_states)(struct pipe_context *, unsigned num_samplers, void **samplers); void (*bind_geometry_sampler_states)(struct pipe_context *, unsigned num_samplers, void **samplers); void (*delete_sampler_state)(struct pipe_context *, void *); void * (*create_rasterizer_state)(struct pipe_context *, const struct pipe_rasterizer_state *); void (*bind_rasterizer_state)(struct pipe_context *, void *); void (*delete_rasterizer_state)(struct pipe_context *, void *); void * (*create_depth_stencil_alpha_state)(struct pipe_context *, const struct pipe_depth_stencil_alpha_state *); void (*bind_depth_stencil_alpha_state)(struct pipe_context *, void *); void (*delete_depth_stencil_alpha_state)(struct pipe_context *, void *); void * (*create_fs_state)(struct pipe_context *, const struct pipe_shader_state *); void (*bind_fs_state)(struct pipe_context *, void *); void (*delete_fs_state)(struct pipe_context *, void *); void * (*create_vs_state)(struct pipe_context *, const struct pipe_shader_state *); void (*bind_vs_state)(struct pipe_context *, void *); void (*delete_vs_state)(struct pipe_context *, void *); void * (*create_gs_state)(struct pipe_context *, const struct pipe_shader_state *); void (*bind_gs_state)(struct pipe_context *, void *); void (*delete_gs_state)(struct pipe_context *, void *); void * (*create_vertex_elements_state)(struct pipe_context *, unsigned num_elements, const struct pipe_vertex_element *); void (*bind_vertex_elements_state)(struct pipe_context *, void *); void (*delete_vertex_elements_state)(struct pipe_context *, void *); void * (*create_stream_output_state)(struct pipe_context *, const struct pipe_stream_output_state *); void (*bind_stream_output_state)(struct pipe_context *, void *); void (*delete_stream_output_state)(struct pipe_context*, void*); void (*set_blend_color)( struct pipe_context *, const struct pipe_blend_color * ); void (*set_stencil_ref)( struct pipe_context *, const struct pipe_stencil_ref * ); void (*set_sample_mask)( struct pipe_context *, unsigned sample_mask ); void (*set_clip_state)( struct pipe_context *, const struct pipe_clip_state * ); void (*set_constant_buffer)( struct pipe_context *, uint shader, uint index, struct pipe_resource *buf ); void (*set_framebuffer_state)( struct pipe_context *, const struct pipe_framebuffer_state * ); void (*set_polygon_stipple)( struct pipe_context *, const struct pipe_poly_stipple * ); void (*set_scissor_state)( struct pipe_context *, const struct pipe_scissor_state * ); void (*set_viewport_state)( struct pipe_context *, const struct pipe_viewport_state * ); void (*set_fragment_sampler_views)(struct pipe_context *, unsigned num_views, struct pipe_sampler_view **); void (*set_vertex_sampler_views)(struct pipe_context *, unsigned num_views, struct pipe_sampler_view **); void (*set_geometry_sampler_views)(struct pipe_context *, unsigned num_views, struct pipe_sampler_view **); void (*set_vertex_buffers)( struct pipe_context *, unsigned num_buffers, const struct pipe_vertex_buffer * ); void (*set_index_buffer)( struct pipe_context *pipe, const struct pipe_index_buffer * ); void (*set_stream_output_buffers)(struct pipe_context *, struct pipe_resource **buffers, int *offsets, int num_buffers); # 256 "../../../../src/gallium/include/pipe/p_context.h" void (*resource_copy_region)(struct pipe_context *pipe, struct pipe_resource *dst, unsigned dst_level, unsigned dstx, unsigned dsty, unsigned dstz, struct pipe_resource *src, unsigned src_level, const struct pipe_box *src_box); void (*resource_resolve)(struct pipe_context *pipe, struct pipe_resource *dst, unsigned dst_layer, struct pipe_resource *src, unsigned src_layer); # 285 "../../../../src/gallium/include/pipe/p_context.h" void (*clear)(struct pipe_context *pipe, unsigned buffers, const float *rgba, double depth, unsigned stencil); void (*clear_render_target)(struct pipe_context *pipe, struct pipe_surface *dst, const float *rgba, unsigned dstx, unsigned dsty, unsigned width, unsigned height); void (*clear_depth_stencil)(struct pipe_context *pipe, struct pipe_surface *dst, unsigned clear_flags, double depth, unsigned stencil, unsigned dstx, unsigned dsty, unsigned width, unsigned height); void (*flush)( struct pipe_context *pipe, unsigned flags, struct pipe_fence_handle **fence ); # 333 "../../../../src/gallium/include/pipe/p_context.h" unsigned int (*is_resource_referenced)(struct pipe_context *pipe, struct pipe_resource *texture, unsigned level, int layer); struct pipe_sampler_view * (*create_sampler_view)(struct pipe_context *ctx, struct pipe_resource *texture, const struct pipe_sampler_view *templat); void (*sampler_view_destroy)(struct pipe_context *ctx, struct pipe_sampler_view *view); struct pipe_surface *(*create_surface)(struct pipe_context *ctx, struct pipe_resource *resource, const struct pipe_surface *templat); void (*surface_destroy)(struct pipe_context *ctx, struct pipe_surface *); struct pipe_transfer *(*get_transfer)(struct pipe_context *, struct pipe_resource *resource, unsigned level, unsigned usage, const struct pipe_box *); void (*transfer_destroy)(struct pipe_context *, struct pipe_transfer *); void *(*transfer_map)( struct pipe_context *, struct pipe_transfer *transfer ); void (*transfer_flush_region)( struct pipe_context *, struct pipe_transfer *transfer, const struct pipe_box *); void (*transfer_unmap)( struct pipe_context *, struct pipe_transfer *transfer ); void (*transfer_inline_write)( struct pipe_context *, struct pipe_resource *, unsigned level, unsigned usage, const struct pipe_box *, const void *data, unsigned stride, unsigned layer_stride); }; # 31 "svga_context.h" 2 # 1 "../../../../src/gallium/include/pipe/p_defines.h" 1 # 32 "svga_context.h" 2 # 1 "../../../../src/gallium/auxiliary/util/u_double_list.h" 1 # 41 "../../../../src/gallium/auxiliary/util/u_double_list.h" # 1 "/build_disk/poky_build/build0/tmp/sysroots/x86_64-linux/usr/lib/armv7a-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.0/include/stddef.h" 1 3 4 # 42 "../../../../src/gallium/auxiliary/util/u_double_list.h" 2 struct list_head { struct list_head *prev; struct list_head *next; }; # 35 "svga_context.h" 2 struct draw_vertex_shader; struct svga_shader_result; struct SVGACmdMemory; struct util_bitmask; struct u_upload_mgr; struct svga_shader { const struct tgsi_token *tokens; struct tgsi_shader_info info; struct svga_shader_result *results; unsigned id; boolean use_sm30; }; struct svga_fragment_shader { struct svga_shader base; }; struct svga_vertex_shader { struct svga_shader base; struct draw_vertex_shader *draw_shader; }; struct svga_cache_context; struct svga_tracked_state; struct svga_blend_state { boolean need_white_fragments; struct { uint8_t writemask; boolean blend_enable; uint8_t srcblend; uint8_t dstblend; uint8_t blendeq; boolean separate_alpha_blend_enable; uint8_t srcblend_alpha; uint8_t dstblend_alpha; uint8_t blendeq_alpha; } rt[1]; }; struct svga_depth_stencil_state { unsigned zfunc:8; unsigned zenable:1; unsigned zwriteenable:1; unsigned alphatestenable:1; unsigned alphafunc:8; struct { unsigned enabled:1; unsigned func:8; unsigned fail:8; unsigned zfail:8; unsigned pass:8; } stencil[2]; unsigned stencil_mask:8; unsigned stencil_writemask:8; float alpharef; }; # 133 "svga_context.h" struct svga_rasterizer_state { struct pipe_rasterizer_state templ; unsigned shademode:8; unsigned cullmode:8; unsigned scissortestenable:1; unsigned multisampleantialias:1; unsigned antialiasedlineenable:1; unsigned lastpixel:1; unsigned linepattern; float slopescaledepthbias; float depthbias; float pointsize; unsigned hw_unfilled:16; unsigned need_pipeline:16; }; struct svga_sampler_state { unsigned mipfilter; unsigned magfilter; unsigned minfilter; unsigned aniso_level; float lod_bias; unsigned addressu; unsigned addressv; unsigned addressw; unsigned bordercolor; unsigned normalized_coords:1; unsigned compare_mode:1; unsigned compare_func:3; unsigned min_lod; unsigned view_min_lod; unsigned view_max_lod; }; struct svga_velems_state { unsigned count; struct pipe_vertex_element velem[32]; }; struct svga_state { const struct svga_blend_state *blend; const struct svga_depth_stencil_state *depth; const struct svga_rasterizer_state *rast; const struct svga_sampler_state *sampler[16]; const struct svga_velems_state *velems; struct pipe_sampler_view *sampler_views[16]; struct svga_fragment_shader *fs; struct svga_vertex_shader *vs; struct pipe_vertex_buffer vb[32]; struct pipe_index_buffer ib; struct pipe_resource *cb[3]; struct pipe_framebuffer_state framebuffer; float depthscale; int nr_fbs; struct pipe_poly_stipple poly_stipple; struct pipe_scissor_state scissor; struct pipe_blend_color blend_color; struct pipe_stencil_ref stencil_ref; struct pipe_clip_state clip; struct pipe_viewport_state viewport; unsigned num_samplers; unsigned num_sampler_views; unsigned num_vertex_buffers; unsigned reduced_prim; struct { unsigned flag_1d; unsigned flag_srgb; } tex_flags; boolean any_user_vertex_buffers; unsigned zero_stride_vertex_elements; unsigned num_zero_stride_vertex_elements; float zero_stride_constants[32*4]; }; struct svga_prescale { float translate[4]; float scale[4]; boolean enabled; }; struct svga_hw_clear_state { struct { unsigned x,y,w,h; } viewport; struct { float zmin, zmax; } depthrange; struct pipe_framebuffer_state framebuffer; struct svga_prescale prescale; }; struct svga_hw_view_state { struct pipe_resource *texture; struct svga_sampler_view *v; unsigned min_lod; unsigned max_lod; int dirty; }; struct svga_hw_draw_state { unsigned rs[97]; unsigned ts[16][30]; float cb[3][256][4]; struct svga_shader_result *fs; struct svga_shader_result *vs; struct svga_hw_view_state views[16]; unsigned num_views; }; struct svga_sw_state { unsigned ve_format[32]; boolean need_swvfetch; boolean need_pipeline; boolean need_swtnl; }; struct svga_hw_queue; struct svga_query; struct svga_context { struct pipe_context pipe; struct svga_winsys_context *swc; struct { boolean no_swtnl; boolean force_swtnl; boolean use_min_mipmap; unsigned shader_id; unsigned disable_shader; } debug; struct { struct draw_context *draw; struct vbuf_render *backend; unsigned hw_prim; boolean new_vbuf; boolean new_vdecl; } swtnl; struct util_bitmask *fs_bm; struct util_bitmask *vs_bm; struct { unsigned dirty[4]; unsigned texture_timestamp; struct svga_sw_state sw; struct svga_hw_draw_state hw_draw; struct svga_hw_clear_state hw_clear; } state; struct svga_state curr; unsigned dirty; struct u_upload_mgr *upload_ib; struct u_upload_mgr *upload_vb; struct svga_hwtnl *hwtnl; struct svga_query *sq; struct list_head dirty_buffers; }; # 394 "svga_context.h" void svga_clear(struct pipe_context *pipe, unsigned buffers, const float *rgba, double depth, unsigned stencil); void svga_mark_surfaces_dirty(struct svga_context *svga); void svga_init_state_functions( struct svga_context *svga ); void svga_init_flush_functions( struct svga_context *svga ); void svga_init_string_functions( struct svga_context *svga ); void svga_init_blit_functions(struct svga_context *svga); void svga_init_blend_functions( struct svga_context *svga ); void svga_init_depth_stencil_functions( struct svga_context *svga ); void svga_init_misc_functions( struct svga_context *svga ); void svga_init_rasterizer_functions( struct svga_context *svga ); void svga_init_sampler_functions( struct svga_context *svga ); void svga_init_fs_functions( struct svga_context *svga ); void svga_init_vs_functions( struct svga_context *svga ); void svga_init_vertex_functions( struct svga_context *svga ); void svga_init_constbuffer_functions( struct svga_context *svga ); void svga_init_draw_functions( struct svga_context *svga ); void svga_init_query_functions( struct svga_context *svga ); void svga_init_surface_functions(struct svga_context *svga); void svga_cleanup_vertex_state( struct svga_context *svga ); void svga_cleanup_tss_binding( struct svga_context *svga ); void svga_cleanup_framebuffer( struct svga_context *svga ); void svga_context_flush( struct svga_context *svga, struct pipe_fence_handle **pfence ); void svga_hwtnl_flush_retry( struct svga_context *svga ); struct pipe_context * svga_context_create(struct pipe_screen *screen, void *priv); static __inline__ struct svga_context * svga_context( struct pipe_context *pipe ) { return (struct svga_context *)pipe; } # 33 "svga_tgsi_insn.c" 2 static boolean emit_vs_postamble( struct svga_shader_emitter *emit ); static boolean emit_ps_postamble( struct svga_shader_emitter *emit ); static unsigned translate_opcode( uint opcode ) { switch (opcode) { case 33: return SVGA3DOP_ABS; case 8: return SVGA3DOP_ADD; case 115: return SVGA3DOP_BREAKC; case 21: return SVGA3DOP_DP2ADD; case 9: return SVGA3DOP_DP3; case 10: return SVGA3DOP_DP4; case 24: return SVGA3DOP_FRC; case 16: return SVGA3DOP_MAD; case 13: return SVGA3DOP_MAX; case 12: return SVGA3DOP_MIN; case 1: return SVGA3DOP_MOV; case 7: return SVGA3DOP_MUL; case 107: return SVGA3DOP_NOP; case 112: return SVGA3DOP_NRM; case 65: return SVGA3DOP_SGN; default: debug_printf("Unkown opcode %u\n", opcode); do { } while (0 && (0)); return SVGA3DOP_LAST_INST; } } static unsigned translate_file( unsigned file ) { switch (file) { case TGSI_FILE_TEMPORARY: return SVGA3DREG_TEMP; case TGSI_FILE_INPUT: return SVGA3DREG_INPUT; case TGSI_FILE_OUTPUT: return SVGA3DREG_OUTPUT; case TGSI_FILE_IMMEDIATE: return SVGA3DREG_CONST; case TGSI_FILE_CONSTANT: return SVGA3DREG_CONST; case TGSI_FILE_SAMPLER: return SVGA3DREG_SAMPLER; case TGSI_FILE_ADDRESS: return SVGA3DREG_ADDR; default: do { } while (0 && (0)); return SVGA3DREG_TEMP; } } static SVGA3dShaderDestToken translate_dst_register( struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn, unsigned idx ) { const struct tgsi_full_dst_register *reg = &insn->Dst[idx]; SVGA3dShaderDestToken dest; switch (reg->Register.File) { case TGSI_FILE_OUTPUT: dest = emit->output_map[reg->Register.Index]; break; default: dest = dst_register( translate_file( reg->Register.File ), reg->Register.Index ); break; } dest.mask = reg->Register.WriteMask; do { } while (0 && (dest.mask)); if (insn->Instruction.Saturate) dest.dstMod = 1; return dest; } static struct src_register swizzle( struct src_register src, int x, int y, int z, int w ) { x = (src.base.swizzle >> (x * 2)) & 0x3; y = (src.base.swizzle >> (y * 2)) & 0x3; z = (src.base.swizzle >> (z * 2)) & 0x3; w = (src.base.swizzle >> (w * 2)) & 0x3; src.base.swizzle = ((x) | ((y) << 2) | ((z) << 4) | ((w) << 6)); return src; } static struct src_register scalar( struct src_register src, int comp ) { return swizzle( src, comp, comp, comp, comp ); } static __inline__ boolean svga_arl_needs_adjustment( const struct svga_shader_emitter *emit ) { int i; for (i = 0; i < emit->num_arl_consts; ++i) { if (emit->arl_consts[i].arl_num == emit->current_arl) return 1; } return 0; } static __inline__ int svga_arl_adjustment( const struct svga_shader_emitter *emit ) { int i; for (i = 0; i < emit->num_arl_consts; ++i) { if (emit->arl_consts[i].arl_num == emit->current_arl) return emit->arl_consts[i].number; } return 0; } static struct src_register translate_src_register( const struct svga_shader_emitter *emit, const struct tgsi_full_src_register *reg ) { struct src_register src; switch (reg->Register.File) { case TGSI_FILE_INPUT: src = emit->input_map[reg->Register.Index]; break; case TGSI_FILE_IMMEDIATE: src = src_register( translate_file( reg->Register.File ), reg->Register.Index + emit->imm_start ); break; default: src = src_register( translate_file( reg->Register.File ), reg->Register.Index ); break; } if (reg->Register.Indirect) { if (emit->unit == 1) { if (reg->Register.File == TGSI_FILE_INPUT) { src.base.relAddr = 1; src.indirect = src_token(SVGA3DREG_LOOP, 0); } } else { if (reg->Register.File == TGSI_FILE_CONSTANT) { if (svga_arl_needs_adjustment( emit )) { src.base.num -= svga_arl_adjustment( emit ); } src.base.relAddr = 1; src.indirect = src_token( SVGA3DREG_ADDR, reg->Indirect.Index ); src.indirect.swizzle = ((0) | ((0) << 2) | ((0) << 4) | ((0) << 6)); } } } src = swizzle( src, reg->Register.SwizzleX, reg->Register.SwizzleY, reg->Register.SwizzleZ, reg->Register.SwizzleW ); if (reg->Register.Absolute) { if (reg->Register.Negate) src.base.srcMod = SVGA3DSRCMOD_ABSNEG; else src.base.srcMod = SVGA3DSRCMOD_ABS; } else { if (reg->Register.Negate) src.base.srcMod = SVGA3DSRCMOD_NEG; else src.base.srcMod = SVGA3DSRCMOD_NONE; } return src; } static __inline__ SVGA3dShaderDestToken get_temp( struct svga_shader_emitter *emit ) { int i = emit->nr_hw_temp + emit->internal_temp_count++; return dst_register( SVGA3DREG_TEMP, i ); } static __inline__ void release_temp( struct svga_shader_emitter *emit, SVGA3dShaderDestToken temp ) { if (temp.num == emit->internal_temp_count - 1) emit->internal_temp_count--; } static void reset_temp_regs( struct svga_shader_emitter *emit ) { emit->internal_temp_count = 0; } static boolean submit_op0( struct svga_shader_emitter *emit, SVGA3dShaderInstToken inst, SVGA3dShaderDestToken dest ) { return (emit_instruction( emit, inst ) && emit_dst( emit, dest )); } static boolean submit_op1( struct svga_shader_emitter *emit, SVGA3dShaderInstToken inst, SVGA3dShaderDestToken dest, struct src_register src0 ) { return emit_op1( emit, inst, dest, src0 ); } # 312 "svga_tgsi_insn.c" static boolean submit_op2( struct svga_shader_emitter *emit, SVGA3dShaderInstToken inst, SVGA3dShaderDestToken dest, struct src_register src0, struct src_register src1 ) { SVGA3dShaderDestToken temp; SVGA3dShaderRegType type0, type1; boolean need_temp = 0; temp.value = 0; type0 = SVGA3dShaderGetRegType( src0.base.value ); type1 = SVGA3dShaderGetRegType( src1.base.value ); if (type0 == SVGA3DREG_CONST && type1 == SVGA3DREG_CONST && src0.base.num != src1.base.num) need_temp = 1; if (type0 == SVGA3DREG_INPUT && type1 == SVGA3DREG_INPUT && src0.base.num != src1.base.num) need_temp = 1; if (need_temp) { temp = get_temp( emit ); if (!emit_op1( emit, inst_token( SVGA3DOP_MOV ), temp, src0 )) return 0; src0 = src( temp ); } if (!emit_op2( emit, inst, dest, src0, src1 )) return 0; if (need_temp) release_temp( emit, temp ); return 1; } static boolean submit_op3( struct svga_shader_emitter *emit, SVGA3dShaderInstToken inst, SVGA3dShaderDestToken dest, struct src_register src0, struct src_register src1, struct src_register src2 ) { SVGA3dShaderDestToken temp0; SVGA3dShaderDestToken temp1; boolean need_temp0 = 0; boolean need_temp1 = 0; SVGA3dShaderRegType type0, type1, type2; temp0.value = 0; temp1.value = 0; type0 = SVGA3dShaderGetRegType( src0.base.value ); type1 = SVGA3dShaderGetRegType( src1.base.value ); type2 = SVGA3dShaderGetRegType( src2.base.value ); if (inst.op != SVGA3DOP_SINCOS) { if (type0 == SVGA3DREG_CONST && ((type1 == SVGA3DREG_CONST && src0.base.num != src1.base.num) || (type2 == SVGA3DREG_CONST && src0.base.num != src2.base.num))) need_temp0 = 1; if (type1 == SVGA3DREG_CONST && (type2 == SVGA3DREG_CONST && src1.base.num != src2.base.num)) need_temp1 = 1; } if (type0 == SVGA3DREG_INPUT && ((type1 == SVGA3DREG_INPUT && src0.base.num != src1.base.num) || (type2 == SVGA3DREG_INPUT && src0.base.num != src2.base.num))) need_temp0 = 1; if (type1 == SVGA3DREG_INPUT && (type2 == SVGA3DREG_INPUT && src1.base.num != src2.base.num)) need_temp1 = 1; if (need_temp0) { temp0 = get_temp( emit ); if (!emit_op1( emit, inst_token( SVGA3DOP_MOV ), temp0, src0 )) return 0; src0 = src( temp0 ); } if (need_temp1) { temp1 = get_temp( emit ); if (!emit_op1( emit, inst_token( SVGA3DOP_MOV ), temp1, src1 )) return 0; src1 = src( temp1 ); } if (!emit_op3( emit, inst, dest, src0, src1, src2 )) return 0; if (need_temp1) release_temp( emit, temp1 ); if (need_temp0) release_temp( emit, temp0 ); return 1; } # 436 "svga_tgsi_insn.c" static boolean submit_op4( struct svga_shader_emitter *emit, SVGA3dShaderInstToken inst, SVGA3dShaderDestToken dest, struct src_register src0, struct src_register src1, struct src_register src2, struct src_register src3) { SVGA3dShaderDestToken temp0; SVGA3dShaderDestToken temp3; boolean need_temp0 = 0; boolean need_temp3 = 0; SVGA3dShaderRegType type0, type1, type2, type3; temp0.value = 0; temp3.value = 0; type0 = SVGA3dShaderGetRegType( src0.base.value ); type1 = SVGA3dShaderGetRegType( src1.base.value ); type2 = SVGA3dShaderGetRegType( src2.base.value ); type3 = SVGA3dShaderGetRegType( src2.base.value ); do { } while (0 && (type1 == SVGA3DREG_SAMPLER)); if (type0 == SVGA3DREG_CONST && ((type3 == SVGA3DREG_CONST && src0.base.num != src3.base.num) || (type2 == SVGA3DREG_CONST && src0.base.num != src2.base.num))) need_temp0 = 1; if (type3 == SVGA3DREG_CONST && (type2 == SVGA3DREG_CONST && src3.base.num != src2.base.num)) need_temp3 = 1; if (type0 == SVGA3DREG_INPUT && ((type3 == SVGA3DREG_INPUT && src0.base.num != src3.base.num) || (type2 == SVGA3DREG_INPUT && src0.base.num != src2.base.num))) need_temp0 = 1; if (type3 == SVGA3DREG_INPUT && (type2 == SVGA3DREG_INPUT && src3.base.num != src2.base.num)) need_temp3 = 1; if (need_temp0) { temp0 = get_temp( emit ); if (!emit_op1( emit, inst_token( SVGA3DOP_MOV ), temp0, src0 )) return 0; src0 = src( temp0 ); } if (need_temp3) { temp3 = get_temp( emit ); if (!emit_op1( emit, inst_token( SVGA3DOP_MOV ), temp3, src3 )) return 0; src3 = src( temp3 ); } if (!emit_op4( emit, inst, dest, src0, src1, src2, src3 )) return 0; if (need_temp3) release_temp( emit, temp3 ); if (need_temp0) release_temp( emit, temp0 ); return 1; } static boolean emit_def_const( struct svga_shader_emitter *emit, SVGA3dShaderConstType type, unsigned idx, float a, float b, float c, float d ) { SVGA3DOpDefArgs def; SVGA3dShaderInstToken opcode; switch (type) { case SVGA3D_CONST_TYPE_FLOAT: opcode = inst_token( SVGA3DOP_DEF ); def.dst = dst_register( SVGA3DREG_CONST, idx ); def.constValues[0] = a; def.constValues[1] = b; def.constValues[2] = c; def.constValues[3] = d; break; case SVGA3D_CONST_TYPE_INT: opcode = inst_token( SVGA3DOP_DEFI ); def.dst = dst_register( SVGA3DREG_CONSTINT, idx ); def.constIValues[0] = (int)a; def.constIValues[1] = (int)b; def.constIValues[2] = (int)c; def.constIValues[3] = (int)d; break; default: do { } while (0 && (0)); opcode = inst_token( SVGA3DOP_NOP ); break; } if (!emit_instruction(emit, opcode) || !svga_shader_emit_dwords( emit, def.values, (sizeof(def.values)/sizeof((def.values)[0])))) return 0; return 1; } static __inline__ boolean create_zero_immediate( struct svga_shader_emitter *emit ) { unsigned idx = emit->nr_hw_float_const++; if (!emit_def_const( emit, SVGA3D_CONST_TYPE_FLOAT, idx, 0, 0, 0, 1 )) return 0; emit->zero_immediate_idx = idx; emit->created_zero_immediate = 1; return 1; } static __inline__ boolean create_loop_const( struct svga_shader_emitter *emit ) { unsigned idx = emit->nr_hw_int_const++; if (!emit_def_const( emit, SVGA3D_CONST_TYPE_INT, idx, 255, 0, 1, 0 )) return 0; emit->loop_const_idx = idx; emit->created_loop_const = 1; return 1; } static __inline__ boolean create_sincos_consts( struct svga_shader_emitter *emit ) { unsigned idx = emit->nr_hw_float_const++; if (!emit_def_const( emit, SVGA3D_CONST_TYPE_FLOAT, idx, -1.5500992e-006f, -2.1701389e-005f, 0.0026041667f, 0.00026041668f )) return 0; emit->sincos_consts_idx = idx; idx = emit->nr_hw_float_const++; if (!emit_def_const( emit, SVGA3D_CONST_TYPE_FLOAT, idx, -0.020833334f, -0.12500000f, 1.0f, 0.50000000f )) return 0; emit->created_sincos_consts = 1; return 1; } static __inline__ boolean create_arl_consts( struct svga_shader_emitter *emit ) { int i; for (i = 0; i < emit->num_arl_consts; i += 4) { int j; unsigned idx = emit->nr_hw_float_const++; float vals[4]; for (j = 0; j < 4 && (j + i) < emit->num_arl_consts; ++j) { vals[j] = emit->arl_consts[i + j].number; emit->arl_consts[i + j].idx = idx; switch (j) { case 0: emit->arl_consts[i + 0].swizzle = 0; break; case 1: emit->arl_consts[i + 0].swizzle = 1; break; case 2: emit->arl_consts[i + 0].swizzle = 2; break; case 3: emit->arl_consts[i + 0].swizzle = 3; break; } } while (j < 4) vals[j++] = 0; if (!emit_def_const( emit, SVGA3D_CONST_TYPE_FLOAT, idx, vals[0], vals[1], vals[2], vals[3])) return 0; } return 1; } static __inline__ struct src_register get_vface( struct svga_shader_emitter *emit ) { do { } while (0 && (emit->emitted_vface)); return src_register(SVGA3DREG_MISCTYPE, SVGA3DMISCREG_FACE); } static __inline__ struct src_register get_zero_immediate( struct svga_shader_emitter *emit ) { do { } while (0 && (emit->created_zero_immediate)); do { } while (0 && (emit->zero_immediate_idx >= 0)); return src_register( SVGA3DREG_CONST, emit->zero_immediate_idx ); } static __inline__ struct src_register get_loop_const( struct svga_shader_emitter *emit ) { do { } while (0 && (emit->created_loop_const)); do { } while (0 && (emit->loop_const_idx >= 0)); return src_register( SVGA3DREG_CONSTINT, emit->loop_const_idx ); } static __inline__ struct src_register get_sincos_const( struct svga_shader_emitter *emit, unsigned index ) { do { } while (0 && (emit->created_sincos_consts)); do { } while (0 && (emit->sincos_consts_idx >= 0)); do { } while (0 && (index == 0 || index == 1)); return src_register( SVGA3DREG_CONST, emit->sincos_consts_idx + index ); } static __inline__ struct src_register get_fake_arl_const( struct svga_shader_emitter *emit ) { struct src_register reg; int idx = 0, swizzle = 0, i; for (i = 0; i < emit->num_arl_consts; ++ i) { if (emit->arl_consts[i].arl_num == emit->current_arl) { idx = emit->arl_consts[i].idx; swizzle = emit->arl_consts[i].swizzle; } } reg = src_register( SVGA3DREG_CONST, idx ); return scalar(reg, swizzle); } static __inline__ struct src_register get_tex_dimensions( struct svga_shader_emitter *emit, int sampler_num ) { int idx; struct src_register reg; idx = emit->key.fkey.tex[sampler_num].width_height_idx + emit->info.file_max[TGSI_FILE_CONSTANT] + 1; reg = src_register( SVGA3DREG_CONST, idx ); return reg; } static boolean emit_fake_arl(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn) { const struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); struct src_register src1 = get_fake_arl_const( emit ); SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); SVGA3dShaderDestToken tmp = get_temp( emit ); if (!submit_op1(emit, inst_token( SVGA3DOP_MOV ), tmp, src0)) return 0; if (!submit_op2( emit, inst_token( SVGA3DOP_ADD ), tmp, src( tmp ), src1)) return 0; src1 = src(tmp); src1.base.swizzle = src0.base.swizzle; return submit_op1( emit, inst_token( SVGA3DOP_MOVA ), dst, src1 ); } static boolean emit_if(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn) { const struct src_register src = translate_src_register( emit, &insn->Src[0] ); struct src_register zero = get_zero_immediate( emit ); SVGA3dShaderInstToken if_token = inst_token( SVGA3DOP_IFC ); if_token.control = SVGA3DOPCOMPC_NE; zero = scalar(zero, 0); emit->dynamic_branching_level++; return (emit_instruction( emit, if_token ) && emit_src( emit, src ) && emit_src( emit, zero ) ); } static boolean emit_endif(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn) { emit->dynamic_branching_level--; return (emit_instruction( emit, inst_token( SVGA3DOP_ENDIF ))); } static boolean emit_else(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn) { return (emit_instruction( emit, inst_token( SVGA3DOP_ELSE ))); } static boolean emit_floor(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); const struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); SVGA3dShaderDestToken temp = get_temp( emit ); if (!submit_op1( emit, inst_token( SVGA3DOP_FRC ), temp, src0 )) return 0; if (!submit_op2( emit, inst_token( SVGA3DOP_ADD ), dst, src0, negate( src( temp ) ) )) return 0; return 1; } static boolean emit_cmp(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); const struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); const struct src_register src1 = translate_src_register( emit, &insn->Src[1] ); const struct src_register src2 = translate_src_register( emit, &insn->Src[2] ); if (emit->unit == 0) { SVGA3dShaderDestToken temp = get_temp(emit); struct src_register zero = scalar(get_zero_immediate(emit), 0); if (!submit_op2(emit, inst_token(SVGA3DOP_SLT), temp, src0, zero)) return 0; return submit_op3(emit, inst_token(SVGA3DOP_LRP), dst, src(temp), src1, src2); } return submit_op3( emit, inst_token( SVGA3DOP_CMP ), dst, src0, src2, src1); } # 851 "svga_tgsi_insn.c" static boolean emit_div(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); const struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); const struct src_register src1 = translate_src_register( emit, &insn->Src[1] ); SVGA3dShaderDestToken temp = get_temp( emit ); int i; for (i = 0; i < 4; i++) { unsigned channel = 1 << i; if (dst.mask & channel) { if (!submit_op1( emit, inst_token( SVGA3DOP_RCP ), writemask(temp, channel), scalar(src1, i) )) return 0; } } if (!submit_op2( emit, inst_token( SVGA3DOP_MUL ), dst, src0, src( temp ) )) return 0; return 1; } static boolean emit_dp2(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); const struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); const struct src_register src1 = translate_src_register( emit, &insn->Src[1] ); SVGA3dShaderDestToken temp = get_temp( emit ); struct src_register temp_src0, temp_src1; if (!submit_op2( emit, inst_token( SVGA3DOP_MUL ), temp, src0, src1 )) return 0; temp_src0 = scalar(src( temp ), 0); temp_src1 = scalar(src( temp ), 1); if (!submit_op2( emit, inst_token( SVGA3DOP_ADD ), dst, temp_src0, temp_src1 )) return 0; return 1; } # 926 "svga_tgsi_insn.c" static boolean emit_dph(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); const struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); struct src_register src1 = translate_src_register( emit, &insn->Src[1] ); SVGA3dShaderDestToken temp = get_temp( emit ); if (!submit_op2( emit, inst_token( SVGA3DOP_DP3 ), temp, src0, src1 )) return 0; src1 = scalar(src1, 3); if (!submit_op2( emit, inst_token( SVGA3DOP_ADD ), dst, src( temp ), src1 )) return 0; return 1; } # 957 "svga_tgsi_insn.c" static boolean emit_nrm(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); const struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); SVGA3dShaderDestToken temp = get_temp( emit ); if (!submit_op2( emit, inst_token( SVGA3DOP_DP3 ), temp, src0, src0 )) return 0; if (!submit_op1( emit, inst_token( SVGA3DOP_RSQ ), temp, src( temp ))) return 0; if (!submit_op2( emit, inst_token( SVGA3DOP_MUL ), dst, src0, src( temp ))) return 0; return 1; } static boolean do_emit_sincos(struct svga_shader_emitter *emit, SVGA3dShaderDestToken dst, struct src_register src0) { src0 = scalar(src0, 0); if (emit->use_sm30) { return submit_op1( emit, inst_token( SVGA3DOP_SINCOS ), dst, src0 ); } else { struct src_register const1 = get_sincos_const( emit, 0 ); struct src_register const2 = get_sincos_const( emit, 1 ); return submit_op3( emit, inst_token( SVGA3DOP_SINCOS ), dst, src0, const1, const2 ); } } static boolean emit_sincos(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); SVGA3dShaderDestToken temp = get_temp( emit ); if (!do_emit_sincos(emit, writemask(temp, 0x03), src0 )) return 0; if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), dst, src( temp ) )) return 0; return 1; } static boolean emit_sin(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); SVGA3dShaderDestToken temp = get_temp( emit ); if (!do_emit_sincos(emit, writemask(temp, 0x02), src0)) return 0; src0 = scalar(src( temp ), 1); if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), dst, src0 )) return 0; return 1; } static boolean emit_cos(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); SVGA3dShaderDestToken temp = get_temp( emit ); if (!do_emit_sincos( emit, writemask(temp, 0x01), src0 )) return 0; src0 = scalar(src( temp ), 0); if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), dst, src0 )) return 0; return 1; } static boolean emit_sub(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); struct src_register src1 = translate_src_register( emit, &insn->Src[1] ); src1 = negate(src1); if (!submit_op2( emit, inst_token( SVGA3DOP_ADD ), dst, src0, src1 )) return 0; return 1; } static boolean emit_kil(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderInstToken inst; const struct tgsi_full_src_register *reg = &insn->Src[0]; struct src_register src0; inst = inst_token( SVGA3DOP_TEXKILL ); src0 = translate_src_register( emit, reg ); if (reg->Register.Absolute || reg->Register.Negate || reg->Register.Indirect || reg->Register.SwizzleX != 0 || reg->Register.SwizzleY != 1 || reg->Register.SwizzleZ != 2 || reg->Register.File != TGSI_FILE_TEMPORARY) { SVGA3dShaderDestToken temp = get_temp( emit ); submit_op1( emit, inst_token( SVGA3DOP_MOV ), temp, src0 ); src0 = src( temp ); } return submit_op0( emit, inst, dst(src0) ); } static boolean emit_kilp(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderInstToken inst; SVGA3dShaderDestToken temp; struct src_register one = scalar( get_zero_immediate( emit ), 3 ); inst = inst_token( SVGA3DOP_TEXKILL ); temp = get_temp( emit ); if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), temp, negate( one ) )) return 0; return submit_op0( emit, inst, temp ); } # 1150 "svga_tgsi_insn.c" static boolean emit_conditional(struct svga_shader_emitter *emit, unsigned compare_func, SVGA3dShaderDestToken dst, struct src_register src0, struct src_register src1, struct src_register pass, struct src_register fail) { SVGA3dShaderDestToken pred_reg = dst_register( SVGA3DREG_PREDICATE, 0 ); SVGA3dShaderInstToken setp_token, mov_token; setp_token = inst_token( SVGA3DOP_SETP ); switch (compare_func) { case 0: return submit_op1( emit, inst_token( SVGA3DOP_MOV ), dst, fail ); break; case 1: setp_token.control = SVGA3DOPCOMP_LT; break; case 2: setp_token.control = SVGA3DOPCOMP_EQ; break; case 3: setp_token.control = SVGA3DOPCOMP_LE; break; case 4: setp_token.control = SVGA3DOPCOMP_GT; break; case 5: setp_token.control = SVGA3DOPCOMPC_NE; break; case 6: setp_token.control = SVGA3DOPCOMP_GE; break; case 7: return submit_op1( emit, inst_token( SVGA3DOP_MOV ), dst, pass ); break; } if (!submit_op2( emit, setp_token, pred_reg, src0, src1 )) return 0; mov_token = inst_token( SVGA3DOP_MOV ); if (!submit_op1( emit, mov_token, dst, fail )) return 0; mov_token.predicated = 1; if (!submit_op2( emit, mov_token, dst, src( pred_reg ), pass )) return 0; return 1; } static boolean emit_select(struct svga_shader_emitter *emit, unsigned compare_func, SVGA3dShaderDestToken dst, struct src_register src0, struct src_register src1 ) { if (emit->unit == 0) { switch (compare_func) { case 6: return submit_op2( emit, inst_token( SVGA3DOP_SGE ), dst, src0, src1 ); case 3: return submit_op2( emit, inst_token( SVGA3DOP_SGE ), dst, src1, src0 ); case 4: return submit_op2( emit, inst_token( SVGA3DOP_SLT ), dst, src1, src0 ); case 1: return submit_op2( emit, inst_token( SVGA3DOP_SLT ), dst, src0, src1 ); default: break; } } { struct src_register one, zero; zero = get_zero_immediate( emit ); one = scalar( zero, 3 ); zero = scalar( zero, 0 ); return emit_conditional( emit, compare_func, dst, src0, src1, one, zero); } } static boolean emit_select_op(struct svga_shader_emitter *emit, unsigned compare, const struct tgsi_full_instruction *insn) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); struct src_register src1 = translate_src_register( emit, &insn->Src[1] ); return emit_select( emit, compare, dst, src0, src1 ); } static boolean emit_tex2(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn, SVGA3dShaderDestToken dst ) { SVGA3dShaderInstToken inst; struct src_register texcoord; struct src_register sampler; SVGA3dShaderDestToken tmp; inst.value = 0; switch (insn->Instruction.Opcode) { case 52: inst.op = SVGA3DOP_TEX; break; case 54: inst.op = SVGA3DOP_TEX; inst.control = SVGA3DOPCONT_PROJECT; break; case 68: inst.op = SVGA3DOP_TEX; inst.control = SVGA3DOPCONT_BIAS; break; case 72: inst.op = SVGA3DOP_TEXLDL; break; default: do { } while (0 && (0)); return 0; } texcoord = translate_src_register( emit, &insn->Src[0] ); sampler = translate_src_register( emit, &insn->Src[1] ); if (emit->key.fkey.tex[sampler.base.num].unnormalized || emit->dynamic_branching_level > 0) tmp = get_temp( emit ); if (emit->dynamic_branching_level > 0 && inst.op == SVGA3DOP_TEX && SVGA3dShaderGetRegType(texcoord.base.value) == SVGA3DREG_TEMP) { struct src_register zero = get_zero_immediate( emit ); if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), tmp, texcoord )) return 0; if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), writemask( tmp, 0x08 ), scalar( zero, 0 ))) return 0; texcoord = src( tmp ); inst.op = SVGA3DOP_TEXLDL; } if (emit->key.fkey.tex[sampler.base.num].unnormalized) { struct src_register wh = get_tex_dimensions( emit, sampler.base.num ); if (!submit_op2( emit, inst_token( SVGA3DOP_MUL ), tmp, texcoord, wh )) return 0; texcoord = src( tmp ); } return submit_op2( emit, inst, dst, texcoord, sampler ); } static boolean emit_tex4(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn, SVGA3dShaderDestToken dst ) { SVGA3dShaderInstToken inst; struct src_register texcoord; struct src_register ddx; struct src_register ddy; struct src_register sampler; texcoord = translate_src_register( emit, &insn->Src[0] ); ddx = translate_src_register( emit, &insn->Src[1] ); ddy = translate_src_register( emit, &insn->Src[2] ); sampler = translate_src_register( emit, &insn->Src[3] ); inst.value = 0; switch (insn->Instruction.Opcode) { case 53: inst.op = SVGA3DOP_TEXLDD; break; default: do { } while (0 && (0)); return 0; } return submit_op4( emit, inst, dst, texcoord, sampler, ddx, ddy ); } static boolean emit_tex(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); struct src_register src1 = translate_src_register( emit, &insn->Src[1] ); SVGA3dShaderDestToken tex_result; boolean compare = (emit->key.fkey.tex[src1.base.num].compare_mode == 1); if (compare || (!emit->use_sm30 && dst.mask != 0x0F) ) { tex_result = get_temp( emit ); } else { tex_result = dst; } switch(insn->Instruction.Opcode) { case 52: case 68: case 54: case 72: if (!emit_tex2( emit, insn, tex_result )) return 0; break; case 53: if (!emit_tex4( emit, insn, tex_result )) return 0; break; default: do { } while (0 && (0)); } if (compare) { if (dst.mask & 0x07) { SVGA3dShaderDestToken src0_zdivw = get_temp( emit ); struct src_register tex_src_x = scalar(src(tex_result), 1); if (!submit_op1( emit, inst_token( SVGA3DOP_RCP ), writemask(src0_zdivw, 0x01), scalar(src0, 3) )) return 0; if (!submit_op2( emit, inst_token( SVGA3DOP_MUL ), writemask(src0_zdivw, 0x01), scalar(src0, 2), scalar(src(src0_zdivw), 0) )) return 0; if (!emit_select( emit, emit->key.fkey.tex[src1.base.num].compare_func, writemask( dst, 0x07 ), scalar(src(src0_zdivw), 0), tex_src_x)) return 0; } if (dst.mask & 0x08) { struct src_register one = scalar( get_zero_immediate( emit ), 3 ); if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), writemask( dst, 0x08 ), one )) return 0; } return 1; } else if (!emit->use_sm30 && dst.mask != 0x0F) { if (!emit_op1( emit, inst_token( SVGA3DOP_MOV ), dst, src(tex_result) )) return 0; } return 1; } static boolean emit_bgnloop2( struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderInstToken inst = inst_token( SVGA3DOP_LOOP ); struct src_register loop_reg = src_register( SVGA3DREG_LOOP, 0 ); struct src_register const_int = get_loop_const( emit ); emit->dynamic_branching_level++; return (emit_instruction( emit, inst ) && emit_src( emit, loop_reg ) && emit_src( emit, const_int ) ); } static boolean emit_endloop2( struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderInstToken inst = inst_token( SVGA3DOP_ENDLOOP ); emit->dynamic_branching_level--; return emit_instruction( emit, inst ); } static boolean emit_brk( struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderInstToken inst = inst_token( SVGA3DOP_BREAK ); return emit_instruction( emit, inst ); } static boolean emit_scalar_op1( struct svga_shader_emitter *emit, unsigned opcode, const struct tgsi_full_instruction *insn ) { SVGA3dShaderInstToken inst; SVGA3dShaderDestToken dst; struct src_register src; inst = inst_token( opcode ); dst = translate_dst_register( emit, insn, 0 ); src = translate_src_register( emit, &insn->Src[0] ); src = scalar( src, 0 ); return submit_op1( emit, inst, dst, src ); } static boolean emit_simple_instruction(struct svga_shader_emitter *emit, unsigned opcode, const struct tgsi_full_instruction *insn ) { const struct tgsi_full_src_register *src = insn->Src; SVGA3dShaderInstToken inst; SVGA3dShaderDestToken dst; inst = inst_token( opcode ); dst = translate_dst_register( emit, insn, 0 ); switch (insn->Instruction.NumSrcRegs) { case 0: return submit_op0( emit, inst, dst ); case 1: return submit_op1( emit, inst, dst, translate_src_register( emit, &src[0] )); case 2: return submit_op2( emit, inst, dst, translate_src_register( emit, &src[0] ), translate_src_register( emit, &src[1] ) ); case 3: return submit_op3( emit, inst, dst, translate_src_register( emit, &src[0] ), translate_src_register( emit, &src[1] ), translate_src_register( emit, &src[2] ) ); default: do { } while (0 && (0)); return 0; } } static boolean emit_deriv(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { if (emit->dynamic_branching_level > 0 && insn->Src[0].Register.File == TGSI_FILE_TEMPORARY) { struct src_register zero = get_zero_immediate( emit ); SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); if (!submit_op1(emit, inst_token( SVGA3DOP_MOV ), dst, scalar(zero, 0))) return 0; return 1; } else { unsigned opcode; switch (insn->Instruction.Opcode) { case 37: opcode = SVGA3DOP_DSX; break; case 38: opcode = SVGA3DOP_DSY; break; default: return 0; } return emit_simple_instruction( emit, opcode, insn ); } } static boolean emit_arl(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn) { ++emit->current_arl; if (emit->unit == 1) { return 1; } if (svga_arl_needs_adjustment( emit )) { return emit_fake_arl( emit, insn ); } else { return emit_simple_instruction(emit, SVGA3DOP_MOVA, insn); } } static boolean alias_src_dst( struct src_register src, SVGA3dShaderDestToken dst ) { if (src.base.num != dst.num) return 0; if (SVGA3dShaderGetRegType(dst.value) != SVGA3dShaderGetRegType(src.base.value)) return 0; return 1; } static boolean emit_pow(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); struct src_register src1 = translate_src_register( emit, &insn->Src[1] ); boolean need_tmp = 0; if (insn->Dst[0].Register.File != TGSI_FILE_TEMPORARY) need_tmp = 1; if (alias_src_dst( src1, dst )) need_tmp = 1; src0 = scalar( src0, 0 ); src1 = scalar( src1, 0 ); if (need_tmp) { SVGA3dShaderDestToken tmp = writemask(get_temp( emit ), 0x01 ); if (!submit_op2(emit, inst_token( SVGA3DOP_POW ), tmp, src0, src1)) return 0; return submit_op1(emit, inst_token( SVGA3DOP_MOV ), dst, scalar(src(tmp), 0) ); } else { return submit_op2(emit, inst_token( SVGA3DOP_POW ), dst, src0, src1); } } static boolean emit_xpd(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); const struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); const struct src_register src1 = translate_src_register( emit, &insn->Src[1] ); boolean need_dst_tmp = 0; if (SVGA3dShaderGetRegType(dst.value) != SVGA3DREG_TEMP) need_dst_tmp = 1; if (alias_src_dst(src0, dst) || alias_src_dst(src1, dst)) need_dst_tmp = 1; if (need_dst_tmp) { SVGA3dShaderDestToken tmp = get_temp( emit ); tmp.mask = dst.mask & 0x07; if (!submit_op2(emit, inst_token( SVGA3DOP_CRS ), tmp, src0, src1)) return 0; if (!submit_op1(emit, inst_token( SVGA3DOP_MOV ), dst, src( tmp ))) return 0; } else { if (!submit_op2(emit, inst_token( SVGA3DOP_CRS ), dst, src0, src1)) return 0; } if (dst.mask & 0x08) { struct src_register zero = get_zero_immediate( emit ); if (!submit_op1(emit, inst_token( SVGA3DOP_MOV ), writemask(dst, 0x08), zero)) return 0; } return 1; } static boolean emit_lrp(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); SVGA3dShaderDestToken tmp; const struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); const struct src_register src1 = translate_src_register( emit, &insn->Src[1] ); const struct src_register src2 = translate_src_register( emit, &insn->Src[2] ); boolean need_dst_tmp = 0; if (alias_src_dst(src0, dst) || alias_src_dst(src2, dst)) need_dst_tmp = 1; if (need_dst_tmp) { tmp = get_temp( emit ); tmp.mask = dst.mask; } else { tmp = dst; } if (!submit_op3(emit, inst_token( SVGA3DOP_LRP ), tmp, src0, src1, src2)) return 0; if (need_dst_tmp) { if (!submit_op1(emit, inst_token( SVGA3DOP_MOV ), dst, src( tmp ))) return 0; } return 1; } static boolean emit_dst_insn(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { if (emit->unit == 0) { return emit_simple_instruction(emit, SVGA3DOP_DST, insn); } else { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); SVGA3dShaderDestToken tmp; const struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); const struct src_register src1 = translate_src_register( emit, &insn->Src[1] ); struct src_register zero = get_zero_immediate( emit ); boolean need_tmp = 0; if (SVGA3dShaderGetRegType(dst.value) != SVGA3DREG_TEMP || alias_src_dst(src0, dst) || alias_src_dst(src1, dst)) need_tmp = 1; if (need_tmp) { tmp = get_temp( emit ); } else { tmp = dst; } if (tmp.mask & 0x09) { if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), writemask(tmp, 0x09 ), scalar( zero, 3 ))) return 0; } if (tmp.mask & 0x06) { if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), writemask(tmp, 0x06 ), src0)) return 0; } if (tmp.mask & 0x0A) { if (!submit_op2( emit, inst_token( SVGA3DOP_MUL ), writemask(tmp, 0x0A ), src(tmp), src1)) return 0; } if (need_tmp) { if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), dst, src(tmp))) return 0; } } return 1; } static boolean emit_exp(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); struct src_register zero = get_zero_immediate( emit ); SVGA3dShaderDestToken fraction; if (dst.mask & 0x02) fraction = dst; else if (dst.mask & 0x01) fraction = get_temp( emit ); else fraction.value = 0; if (dst.mask & 0x03) { if (!submit_op1( emit, inst_token( SVGA3DOP_FRC ), writemask( fraction, 0x02 ), src0 )) return 0; } if (dst.mask & 0x01) { if (!submit_op2( emit, inst_token( SVGA3DOP_ADD ), writemask( dst, 0x01 ), src0, scalar( negate( src( fraction ) ), 1 ) ) ) return 0; if (!submit_op1( emit, inst_token( SVGA3DOP_EXP ), writemask( dst, 0x01 ), scalar( src( dst ), 0 ) ) ) return 0; if (!(dst.mask & 0x02)) release_temp( emit, fraction ); } if (dst.mask & 0x04) { if (!submit_op1( emit, inst_token( SVGA3DOP_EXPP ), writemask( dst, 0x04 ), src0 ) ) return 0; } if (dst.mask & 0x08) { if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), writemask(dst, 0x08), scalar( zero, 3 ) )) return 0; } return 1; } static boolean emit_lit(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { if (emit->unit == 0) { return emit_simple_instruction(emit, SVGA3DOP_LIT, insn); } else { # 1939 "svga_tgsi_insn.c" SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); SVGA3dShaderDestToken tmp = get_temp( emit ); const struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); struct src_register zero = get_zero_immediate( emit ); if (dst.mask & 0x04) { if (!submit_op2(emit, inst_token( SVGA3DOP_POW ), tmp, scalar(src0, 1), scalar(src0, 3))) return 0; } if (dst.mask & 0x02) { if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), writemask(tmp, 0x02 ), scalar(src0, 0))) return 0; } { SVGA3dShaderDestToken pred_reg = dst_register( SVGA3DREG_PREDICATE, 0 ); SVGA3dShaderInstToken setp_token, mov_token; struct src_register predsrc; setp_token = inst_token( SVGA3DOP_SETP ); mov_token = inst_token( SVGA3DOP_MOV ); setp_token.control = SVGA3DOPCOMP_GT; if (0) predsrc = swizzle(src0, 0, 0, 1, 1); else predsrc = swizzle(src0, 0, 0, 0, 0); if (!submit_op2( emit, setp_token, pred_reg, predsrc, swizzle(zero, 0, 0, 0, 0) )) return 0; if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), dst, swizzle(zero, 3, 0, 0, 3 ))) return 0; if (dst.mask & 0x06) { mov_token.predicated = 1; if (!submit_op2( emit, mov_token, writemask(dst, 0x06), src( pred_reg ), src( tmp ) )) return 0; } } } return 1; } static boolean emit_ex2( struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { SVGA3dShaderInstToken inst; SVGA3dShaderDestToken dst; struct src_register src0; inst = inst_token( SVGA3DOP_EXP ); dst = translate_dst_register( emit, insn, 0 ); src0 = translate_src_register( emit, &insn->Src[0] ); src0 = scalar( src0, 0 ); if (dst.mask != 0x0F) { SVGA3dShaderDestToken tmp = get_temp( emit ); if (!submit_op1( emit, inst, tmp, src0 )) return 0; return submit_op1( emit, inst_token( SVGA3DOP_MOV ), dst, scalar( src( tmp ), 0 ) ); } return submit_op1( emit, inst, dst, src0 ); } static boolean emit_log(struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn) { SVGA3dShaderDestToken dst = translate_dst_register( emit, insn, 0 ); struct src_register src0 = translate_src_register( emit, &insn->Src[0] ); struct src_register zero = get_zero_immediate( emit ); SVGA3dShaderDestToken abs_tmp; struct src_register abs_src0; SVGA3dShaderDestToken log2_abs; abs_tmp.value = 0; if (dst.mask & 0x04) log2_abs = dst; else if (dst.mask & 0x03) log2_abs = get_temp( emit ); else log2_abs.value = 0; if (dst.mask & 0x07) { if (!src0.base.srcMod || src0.base.srcMod == SVGA3DSRCMOD_ABS) abs_src0 = src0; else { abs_tmp = get_temp( emit ); if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), abs_tmp, src0 ) ) return 0; abs_src0 = src( abs_tmp ); } abs_src0 = absolute( scalar( abs_src0, 0 ) ); if (!submit_op1( emit, inst_token( SVGA3DOP_LOG ), writemask( log2_abs, 0x04 ), abs_src0 ) ) return 0; } if (dst.mask & 0x03) { SVGA3dShaderDestToken floor_log2; if (dst.mask & 0x01) floor_log2 = dst; else floor_log2 = get_temp( emit ); if (!submit_op1( emit, inst_token( SVGA3DOP_FRC ), writemask( floor_log2, 0x01 ), scalar( src( log2_abs ), 2 ) ) ) return 0; if (!submit_op2( emit, inst_token( SVGA3DOP_ADD ), writemask( floor_log2, 0x01 ), scalar( src( log2_abs ), 2 ), negate( src( floor_log2 ) ) ) ) return 0; if (dst.mask & 0x02) { if (!submit_op1( emit, inst_token( SVGA3DOP_EXP ), writemask( dst, 0x02 ), negate( scalar( src( floor_log2 ), 0 ) ) ) ) return 0; if (!submit_op2( emit, inst_token( SVGA3DOP_MUL ), writemask( dst, 0x02 ), src( dst ), abs_src0 ) ) return 0; } if (!(dst.mask & 0x01)) release_temp( emit, floor_log2 ); if (!(dst.mask & 0x04)) release_temp( emit, log2_abs ); } if (dst.mask & 0x07 && src0.base.srcMod && src0.base.srcMod != SVGA3DSRCMOD_ABS) release_temp( emit, abs_tmp ); if (dst.mask & 0x08) { if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), writemask(dst, 0x08), scalar( zero, 3 ) )) return 0; } return 1; } static boolean emit_bgnsub( struct svga_shader_emitter *emit, unsigned position, const struct tgsi_full_instruction *insn ) { unsigned i; emit->in_main_func = 0; for (i = 0; i < emit->nr_labels; i++) { if (emit->label[i] == position) { return (emit_instruction( emit, inst_token( SVGA3DOP_RET ) ) && emit_instruction( emit, inst_token( SVGA3DOP_LABEL ) ) && emit_src( emit, src_register( SVGA3DREG_LABEL, i ))); } } do { } while (0 && (0)); return 1; } static boolean emit_call( struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn ) { unsigned position = insn->Label.Label; unsigned i; for (i = 0; i < emit->nr_labels; i++) { if (emit->label[i] == position) break; } if (emit->nr_labels == (sizeof(emit->label)/sizeof((emit->label)[0]))) return 0; if (i == emit->nr_labels) { emit->label[i] = position; emit->nr_labels++; } return (emit_instruction( emit, inst_token( SVGA3DOP_CALL ) ) && emit_src( emit, src_register( SVGA3DREG_LABEL, i ))); } static boolean emit_end( struct svga_shader_emitter *emit ) { if (emit->unit == 0) { return emit_vs_postamble( emit ); } else { return emit_ps_postamble( emit ); } } static boolean svga_emit_instruction( struct svga_shader_emitter *emit, unsigned position, const struct tgsi_full_instruction *insn ) { switch (insn->Instruction.Opcode) { case 0: return emit_arl( emit, insn ); case 52: case 68: case 54: case 72: case 53: return emit_tex( emit, insn ); case 37: case 38: return emit_deriv( emit, insn ); case 100: return emit_bgnsub( emit, position, insn ); case 102: return 1; case 63: return emit_call( emit, insn ); case 26: case 86: return emit_floor( emit, insn ); case 66: return emit_cmp( emit, insn ); case 70: return emit_div( emit, insn ); case 71: return emit_dp2( emit, insn ); case 35: return emit_dph( emit, insn ); case 69: return emit_nrm( emit, insn ); case 36: return emit_cos( emit, insn ); case 48: return emit_sin( emit, insn ); case 67: return emit_sincos( emit, insn ); case 117: return emit_end( emit ); case 116: return emit_kil( emit, insn ); case 45: return emit_select_op( emit, 2, insn ); case 50: return emit_select_op( emit, 5, insn ); case 47: return emit_select_op( emit, 4, insn ); case 15: return emit_select_op( emit, 6, insn ); case 14: return emit_select_op( emit, 1, insn ); case 49: return emit_select_op( emit, 3, insn ); case 17: return emit_sub( emit, insn ); case 30: return emit_pow( emit, insn ); case 28: return emit_ex2( emit, insn ); case 5: return emit_exp( emit, insn ); case 6: return emit_log( emit, insn ); case 29: return emit_scalar_op1( emit, SVGA3DOP_LOG, insn ); case 4: return emit_scalar_op1( emit, SVGA3DOP_RSQ, insn ); case 3: return emit_scalar_op1( emit, SVGA3DOP_RCP, insn ); case 96: case 64: return 1; case 25: case 27: case 89: case 90: case 84: case 85: case 87: case 125: case 92: return 0; case 74: return emit_if( emit, insn ); case 77: return emit_else( emit, insn ); case 78: return emit_endif( emit, insn ); case 99: return emit_bgnloop2( emit, insn ); case 101: return emit_endloop2( emit, insn ); case 73: return emit_brk( emit, insn ); case 31: return emit_xpd( emit, insn ); case 39: return emit_kilp( emit, insn ); case 11: return emit_dst_insn( emit, insn ); case 2: return emit_lit( emit, insn ); case 18: return emit_lrp( emit, insn ); default: { unsigned opcode = translate_opcode(insn->Instruction.Opcode); if (opcode == SVGA3DOP_LAST_INST) return 0; if (!emit_simple_instruction( emit, opcode, insn )) return 0; } } return 1; } static boolean svga_emit_immediate( struct svga_shader_emitter *emit, struct tgsi_full_immediate *imm) { static const float id[4] = {0,0,0,1}; float value[4]; unsigned i; do { } while (0 && (1 <= imm->Immediate.NrTokens && imm->Immediate.NrTokens <= 5)); for (i = 0; i < imm->Immediate.NrTokens - 1; i++) value[i] = imm->u[i].Float; for ( ; i < 4; i++ ) value[i] = id[i]; return emit_def_const( emit, SVGA3D_CONST_TYPE_FLOAT, emit->imm_start + emit->internal_imm_count++, value[0], value[1], value[2], value[3]); } static boolean make_immediate( struct svga_shader_emitter *emit, float a, float b, float c, float d, struct src_register *out ) { unsigned idx = emit->nr_hw_float_const++; if (!emit_def_const( emit, SVGA3D_CONST_TYPE_FLOAT, idx, a, b, c, d )) return 0; *out = src_register( SVGA3DREG_CONST, idx ); return 1; } static boolean emit_vs_preamble( struct svga_shader_emitter *emit ) { if (!emit->key.vkey.need_prescale) { if (!make_immediate( emit, 0, 0, .5, .5, &emit->imm_0055)) return 0; } return 1; } static boolean emit_ps_preamble( struct svga_shader_emitter *emit ) { unsigned i; if (!emit->use_sm30) { struct src_register zero = get_zero_immediate( emit ); for (i = 0; i < 8; i++) { if (SVGA3dShaderGetRegType(emit->true_col[i].value) != 0) { if (!submit_op1( emit, inst_token(SVGA3DOP_MOV), emit->temp_col[i], zero )) return 0; } } } return 1; } static boolean emit_ps_postamble( struct svga_shader_emitter *emit ) { unsigned i; if (SVGA3dShaderGetRegType(emit->true_pos.value) != 0) { if (!submit_op1( emit, inst_token(SVGA3DOP_MOV), emit->true_pos, scalar(src(emit->temp_pos), 2) )) return 0; } for (i = 0; i < 8; i++) { if (SVGA3dShaderGetRegType(emit->true_col[i].value) != 0) { if (emit->unit == 1 && emit->key.fkey.white_fragments) { struct src_register one = scalar( get_zero_immediate( emit ), 3 ); if (!submit_op1( emit, inst_token(SVGA3DOP_MOV), emit->true_col[i], one )) return 0; } else { if (!submit_op1( emit, inst_token(SVGA3DOP_MOV), emit->true_col[i], src(emit->temp_col[i]) )) return 0; } } } return 1; } static boolean emit_vs_postamble( struct svga_shader_emitter *emit ) { if (SVGA3dShaderGetRegType(emit->true_psiz.value) != 0) { if (!submit_op1( emit, inst_token(SVGA3DOP_MOV), emit->true_psiz, scalar(src(emit->temp_psiz), 0) )) return 0; } if (emit->key.vkey.need_prescale) { SVGA3dShaderDestToken temp_pos = emit->temp_pos; SVGA3dShaderDestToken pos = emit->true_pos; unsigned offset = emit->info.file_max[TGSI_FILE_CONSTANT] + 1; struct src_register prescale_scale = src_register( SVGA3DREG_CONST, offset + 0 ); struct src_register prescale_trans = src_register( SVGA3DREG_CONST, offset + 1 ); if (!submit_op2( emit, inst_token(SVGA3DOP_MUL), writemask(temp_pos, 0x07), src(temp_pos), prescale_scale )) return 0; if (!submit_op3( emit, inst_token(SVGA3DOP_MAD), pos, swizzle(src(temp_pos), 3, 3, 3, 3), prescale_trans, src(temp_pos))) return 0; } else { SVGA3dShaderDestToken temp_pos = emit->temp_pos; SVGA3dShaderDestToken pos = emit->true_pos; struct src_register imm_0055 = emit->imm_0055; if (!submit_op2( emit, inst_token(SVGA3DOP_DP4), writemask(temp_pos, 0x04), imm_0055, src(temp_pos) )) return 0; if (!submit_op1( emit, inst_token(SVGA3DOP_MOV), pos, src(temp_pos) )) return 0; } return 1; } # 2590 "svga_tgsi_insn.c" static boolean emit_light_twoside( struct svga_shader_emitter *emit ) { struct src_register vface, zero; struct src_register front[2]; struct src_register back[2]; SVGA3dShaderDestToken color[2]; int count = emit->internal_color_count; int i; SVGA3dShaderInstToken if_token; if (count == 0) return 1; vface = get_vface( emit ); zero = get_zero_immediate( emit ); for (i = 0; i < count; i++) { color[i] = dst_register( SVGA3DREG_TEMP, emit->nr_hw_temp++ ); front[i] = emit->input_map[emit->internal_color_idx[i]]; back[i] = front[i]; back[i].base.num = front[i].base.num + 1; emit->input_map[emit->internal_color_idx[i]] = src(color[i]); } if_token = inst_token( SVGA3DOP_IFC ); if (emit->key.fkey.front_ccw) if_token.control = SVGA3DOPCOMP_LT; else if_token.control = SVGA3DOPCOMP_GT; zero = scalar(zero, 0); if (!(emit_instruction( emit, if_token ) && emit_src( emit, vface ) && emit_src( emit, zero ) )) return 0; for (i = 0; i < count; i++) { if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), color[i], front[i] )) return 0; } if (!(emit_instruction( emit, inst_token( SVGA3DOP_ELSE)))) return 0; for (i = 0; i < count; i++) { if (!submit_op1( emit, inst_token( SVGA3DOP_MOV ), color[i], back[i] )) return 0; } if (!emit_instruction( emit, inst_token( SVGA3DOP_ENDIF ) )) return 0; return 1; } static boolean emit_frontface( struct svga_shader_emitter *emit ) { struct src_register vface, zero; SVGA3dShaderDestToken temp; struct src_register pass, fail; vface = get_vface( emit ); zero = get_zero_immediate( emit ); temp = dst_register( SVGA3DREG_TEMP, emit->nr_hw_temp++ ); if (emit->key.fkey.front_ccw) { pass = scalar( zero, 0 ); fail = scalar( zero, 3 ); } else { pass = scalar( zero, 3 ); fail = scalar( zero, 0 ); } if (!emit_conditional(emit, 4, temp, vface, scalar( zero, 0 ), pass, fail)) return 0; emit->input_map[emit->internal_frontface_idx] = src(temp); return 1; } static __inline__ boolean needs_to_create_zero( struct svga_shader_emitter *emit ) { int i; if (emit->unit == 1) { if (!emit->use_sm30) return 1; if (emit->key.fkey.light_twoside) return 1; if (emit->key.fkey.white_fragments) return 1; if (emit->emit_frontface) return 1; if (emit->info.opcode_count[11] >= 1 || emit->info.opcode_count[2] >= 1) return 1; } if (emit->unit == 0) { if (emit->info.opcode_count[66] >= 1) return 1; } if (emit->info.opcode_count[74] >= 1 || emit->info.opcode_count[99] >= 1 || emit->info.opcode_count[37] >= 1 || emit->info.opcode_count[38] >= 1 || emit->info.opcode_count[15] >= 1 || emit->info.opcode_count[47] >= 1 || emit->info.opcode_count[49] >= 1 || emit->info.opcode_count[14] >= 1 || emit->info.opcode_count[50] >= 1 || emit->info.opcode_count[45] >= 1 || emit->info.opcode_count[5] >= 1 || emit->info.opcode_count[6] >= 1 || emit->info.opcode_count[31] >= 1 || emit->info.opcode_count[39] >= 1) return 1; for (i = 0; i < emit->key.fkey.num_textures; i++) { if (emit->key.fkey.tex[i].compare_mode == 1) return 1; } return 0; } static __inline__ boolean needs_to_create_loop_const( struct svga_shader_emitter *emit ) { return (emit->info.opcode_count[99] >= 1); } static __inline__ boolean needs_to_create_sincos_consts( struct svga_shader_emitter *emit ) { return !emit->use_sm30 && (emit->info.opcode_count[48] >= 1 || emit->info.opcode_count[36] >= 1 || emit->info.opcode_count[67] >= 1); } static __inline__ boolean needs_to_create_arl_consts( struct svga_shader_emitter *emit ) { return (emit->num_arl_consts > 0); } static __inline__ boolean pre_parse_add_indirect( struct svga_shader_emitter *emit, int num, int current_arl) { int i; do { } while (0 && (num < 0)); for (i = 0; i < emit->num_arl_consts; ++i) { if (emit->arl_consts[i].arl_num == current_arl) break; } if (emit->num_arl_consts == i) { ++emit->num_arl_consts; } emit->arl_consts[i].number = (emit->arl_consts[i].number > num) ? num : emit->arl_consts[i].number; emit->arl_consts[i].arl_num = current_arl; return 1; } static boolean pre_parse_instruction( struct svga_shader_emitter *emit, const struct tgsi_full_instruction *insn, int current_arl) { if (insn->Src[0].Register.Indirect && insn->Src[0].Indirect.File == TGSI_FILE_ADDRESS) { const struct tgsi_full_src_register *reg = &insn->Src[0]; if (reg->Register.Index < 0) { pre_parse_add_indirect(emit, reg->Register.Index, current_arl); } } if (insn->Src[1].Register.Indirect && insn->Src[1].Indirect.File == TGSI_FILE_ADDRESS) { const struct tgsi_full_src_register *reg = &insn->Src[1]; if (reg->Register.Index < 0) { pre_parse_add_indirect(emit, reg->Register.Index, current_arl); } } if (insn->Src[2].Register.Indirect && insn->Src[2].Indirect.File == TGSI_FILE_ADDRESS) { const struct tgsi_full_src_register *reg = &insn->Src[2]; if (reg->Register.Index < 0) { pre_parse_add_indirect(emit, reg->Register.Index, current_arl); } } return 1; } static boolean pre_parse_tokens( struct svga_shader_emitter *emit, const struct tgsi_token *tokens ) { struct tgsi_parse_context parse; int current_arl = 0; tgsi_parse_init( &parse, tokens ); while (!tgsi_parse_end_of_tokens( &parse )) { tgsi_parse_token( &parse ); switch (parse.FullToken.Token.Type) { case 1: case 0: break; case 2: if (parse.FullToken.FullInstruction.Instruction.Opcode == 0) { ++current_arl; } if (!pre_parse_instruction( emit, &parse.FullToken.FullInstruction, current_arl )) return 0; break; default: break; } } return 1; } static boolean svga_shader_emit_helpers( struct svga_shader_emitter *emit ) { if ( emit ) { create_arl_consts( emit ); } if (emit->unit == 1) { if (!emit_ps_preamble( emit )) return 0; if (emit->emit_frontface) { if (!emit_frontface( emit )) return 0; } } return 1; } int foo (struct tgsi_parse_context* xx ); boolean svga_shader_emit_instructions( struct svga_shader_emitter *emit) { struct tgsi_parse_context parse; while (!tgsi_parse_end_of_tokens( &parse )) { switch (parse.FullToken.Token.Type) { case 2: svga_shader_emit_helpers( emit ); break; default: break; } } return 0; }