llvmpipe: Make lp_type a regular union.

Union not worth the hassle of violating C99 or adding a name to
the structure.
This commit is contained in:
José Fonseca
2009-09-14 11:05:06 +01:00
parent fa150debf0
commit b4835ea03d
36 changed files with 263 additions and 265 deletions
+1 -1
View File
@@ -45,7 +45,7 @@
void
lp_build_alpha_test(LLVMBuilderRef builder,
const struct pipe_alpha_state *state,
union lp_type type,
struct lp_type type,
struct lp_build_mask_context *mask,
LLVMValueRef alpha,
LLVMValueRef ref)
+2 -2
View File
@@ -38,14 +38,14 @@
#include <llvm-c/Core.h>
struct pipe_alpha_state;
union lp_type;
struct lp_type;
struct lp_build_mask_context;
void
lp_build_alpha_test(LLVMBuilderRef builder,
const struct pipe_alpha_state *state,
union lp_type type,
struct lp_type type,
struct lp_build_mask_context *mask,
LLVMValueRef alpha,
LLVMValueRef ref);
+23 -23
View File
@@ -65,7 +65,7 @@ lp_build_min_simple(struct lp_build_context *bld,
LLVMValueRef a,
LLVMValueRef b)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
const char *intrinsic = NULL;
LLVMValueRef cond;
@@ -113,7 +113,7 @@ lp_build_max_simple(struct lp_build_context *bld,
LLVMValueRef a,
LLVMValueRef b)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
const char *intrinsic = NULL;
LLVMValueRef cond;
@@ -159,7 +159,7 @@ LLVMValueRef
lp_build_comp(struct lp_build_context *bld,
LLVMValueRef a)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
if(a == bld->one)
return bld->zero;
@@ -188,7 +188,7 @@ lp_build_add(struct lp_build_context *bld,
LLVMValueRef a,
LLVMValueRef b)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMValueRef res;
if(a == bld->zero)
@@ -241,7 +241,7 @@ lp_build_sub(struct lp_build_context *bld,
LLVMValueRef a,
LLVMValueRef b)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMValueRef res;
if(b == bld->zero)
@@ -405,7 +405,7 @@ lp_build_mul(struct lp_build_context *bld,
LLVMValueRef a,
LLVMValueRef b)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
if(a == bld->zero)
return bld->zero;
@@ -477,7 +477,7 @@ lp_build_div(struct lp_build_context *bld,
LLVMValueRef a,
LLVMValueRef b)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
if(a == bld->zero)
return bld->zero;
@@ -590,7 +590,7 @@ LLVMValueRef
lp_build_abs(struct lp_build_context *bld,
LLVMValueRef a)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMTypeRef vec_type = lp_build_vec_type(type);
if(!type.sign)
@@ -627,7 +627,7 @@ LLVMValueRef
lp_build_sgn(struct lp_build_context *bld,
LLVMValueRef a)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMTypeRef vec_type = lp_build_vec_type(type);
LLVMValueRef cond;
LLVMValueRef res;
@@ -678,7 +678,7 @@ lp_build_round_sse41(struct lp_build_context *bld,
LLVMValueRef a,
enum lp_build_round_sse41_mode mode)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMTypeRef vec_type = lp_build_vec_type(type);
const char *intrinsic;
@@ -706,7 +706,7 @@ LLVMValueRef
lp_build_round(struct lp_build_context *bld,
LLVMValueRef a)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
assert(type.floating);
@@ -724,7 +724,7 @@ LLVMValueRef
lp_build_floor(struct lp_build_context *bld,
LLVMValueRef a)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
assert(type.floating);
@@ -742,7 +742,7 @@ LLVMValueRef
lp_build_ceil(struct lp_build_context *bld,
LLVMValueRef a)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
assert(type.floating);
@@ -760,7 +760,7 @@ LLVMValueRef
lp_build_trunc(struct lp_build_context *bld,
LLVMValueRef a)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
assert(type.floating);
@@ -782,7 +782,7 @@ LLVMValueRef
lp_build_int(struct lp_build_context *bld,
LLVMValueRef a)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMTypeRef int_vec_type = lp_build_int_vec_type(type);
assert(type.floating);
@@ -805,7 +805,7 @@ LLVMValueRef
lp_build_sqrt(struct lp_build_context *bld,
LLVMValueRef a)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMTypeRef vec_type = lp_build_vec_type(type);
char intrinsic[32];
@@ -823,7 +823,7 @@ LLVMValueRef
lp_build_rcp(struct lp_build_context *bld,
LLVMValueRef a)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
if(a == bld->zero)
return bld->undef;
@@ -854,7 +854,7 @@ LLVMValueRef
lp_build_rsqrt(struct lp_build_context *bld,
LLVMValueRef a)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
assert(type.floating);
@@ -875,7 +875,7 @@ LLVMValueRef
lp_build_cos(struct lp_build_context *bld,
LLVMValueRef a)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMTypeRef vec_type = lp_build_vec_type(type);
char intrinsic[32];
@@ -895,7 +895,7 @@ LLVMValueRef
lp_build_sin(struct lp_build_context *bld,
LLVMValueRef a)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMTypeRef vec_type = lp_build_vec_type(type);
char intrinsic[32];
@@ -966,7 +966,7 @@ lp_build_polynomial(struct lp_build_context *bld,
const double *coeffs,
unsigned num_coeffs)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMValueRef res = NULL;
unsigned i;
@@ -1014,7 +1014,7 @@ lp_build_exp2_approx(struct lp_build_context *bld,
LLVMValueRef *p_frac_part,
LLVMValueRef *p_exp2)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMTypeRef vec_type = lp_build_vec_type(type);
LLVMTypeRef int_vec_type = lp_build_int_vec_type(type);
LLVMValueRef ipart = NULL;
@@ -1107,7 +1107,7 @@ lp_build_log2_approx(struct lp_build_context *bld,
LLVMValueRef *p_floor_log2,
LLVMValueRef *p_log2)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMTypeRef vec_type = lp_build_vec_type(type);
LLVMTypeRef int_vec_type = lp_build_int_vec_type(type);
+1 -1
View File
@@ -40,7 +40,7 @@
#include <llvm-c/Core.h>
union lp_type type;
struct lp_type type;
struct lp_build_context;
+3 -3
View File
@@ -46,7 +46,7 @@
struct pipe_blend_state;
union lp_type;
struct lp_type;
struct lp_build_context;
@@ -74,7 +74,7 @@ lp_build_blend_func(struct lp_build_context *bld,
LLVMValueRef
lp_build_blend_aos(LLVMBuilderRef builder,
const struct pipe_blend_state *blend,
union lp_type type,
struct lp_type type,
LLVMValueRef src,
LLVMValueRef dst,
LLVMValueRef const_,
@@ -84,7 +84,7 @@ lp_build_blend_aos(LLVMBuilderRef builder,
void
lp_build_blend_soa(LLVMBuilderRef builder,
const struct pipe_blend_state *blend,
union lp_type type,
struct lp_type type,
LLVMValueRef src[4],
LLVMValueRef dst[4],
LLVMValueRef const_[4],
@@ -303,7 +303,7 @@ lp_build_blend_func(struct lp_build_context *bld,
LLVMValueRef
lp_build_blend_aos(LLVMBuilderRef builder,
const struct pipe_blend_state *blend,
union lp_type type,
struct lp_type type,
LLVMValueRef src,
LLVMValueRef dst,
LLVMValueRef const_,
@@ -199,7 +199,7 @@ lp_build_blend_soa_factor(struct lp_build_blend_soa_context *bld,
void
lp_build_blend_soa(LLVMBuilderRef builder,
const struct pipe_blend_state *blend,
union lp_type type,
struct lp_type type,
LLVMValueRef src[4],
LLVMValueRef dst[4],
LLVMValueRef con[4],
+15 -15
View File
@@ -42,7 +42,7 @@
unsigned
lp_mantissa(union lp_type type)
lp_mantissa(struct lp_type type)
{
assert(type.floating);
@@ -72,7 +72,7 @@ lp_mantissa(union lp_type type)
* Same as lp_const_scale(), but in terms of shifts.
*/
unsigned
lp_const_shift(union lp_type type)
lp_const_shift(struct lp_type type)
{
if(type.floating)
return 0;
@@ -86,7 +86,7 @@ lp_const_shift(union lp_type type)
unsigned
lp_const_offset(union lp_type type)
lp_const_offset(struct lp_type type)
{
if(type.floating || type.fixed)
return 0;
@@ -104,7 +104,7 @@ lp_const_offset(union lp_type type)
* else for the fixed points types and normalized integers.
*/
double
lp_const_scale(union lp_type type)
lp_const_scale(struct lp_type type)
{
unsigned long long llscale;
double dscale;
@@ -122,7 +122,7 @@ lp_const_scale(union lp_type type)
* Minimum value representable by the type.
*/
double
lp_const_min(union lp_type type)
lp_const_min(struct lp_type type)
{
unsigned bits;
@@ -158,7 +158,7 @@ lp_const_min(union lp_type type)
* Maximum value representable by the type.
*/
double
lp_const_max(union lp_type type)
lp_const_max(struct lp_type type)
{
unsigned bits;
@@ -190,7 +190,7 @@ lp_const_max(union lp_type type)
double
lp_const_eps(union lp_type type)
lp_const_eps(struct lp_type type)
{
if (type.floating) {
switch(type.width) {
@@ -211,7 +211,7 @@ lp_const_eps(union lp_type type)
LLVMValueRef
lp_build_undef(union lp_type type)
lp_build_undef(struct lp_type type)
{
LLVMTypeRef vec_type = lp_build_vec_type(type);
return LLVMGetUndef(vec_type);
@@ -219,7 +219,7 @@ lp_build_undef(union lp_type type)
LLVMValueRef
lp_build_zero(union lp_type type)
lp_build_zero(struct lp_type type)
{
LLVMTypeRef vec_type = lp_build_vec_type(type);
return LLVMConstNull(vec_type);
@@ -227,7 +227,7 @@ lp_build_zero(union lp_type type)
LLVMValueRef
lp_build_one(union lp_type type)
lp_build_one(struct lp_type type)
{
LLVMTypeRef elem_type;
LLVMValueRef elems[LP_MAX_VECTOR_LENGTH];
@@ -269,7 +269,7 @@ lp_build_one(union lp_type type)
LLVMValueRef
lp_build_const_scalar(union lp_type type,
lp_build_const_scalar(struct lp_type type,
double val)
{
LLVMTypeRef elem_type = lp_build_elem_type(type);
@@ -295,7 +295,7 @@ lp_build_const_scalar(union lp_type type,
LLVMValueRef
lp_build_int_const_scalar(union lp_type type,
lp_build_int_const_scalar(struct lp_type type,
long long val)
{
LLVMTypeRef elem_type = lp_build_int_elem_type(type);
@@ -312,7 +312,7 @@ lp_build_int_const_scalar(union lp_type type,
LLVMValueRef
lp_build_const_aos(union lp_type type,
lp_build_const_aos(struct lp_type type,
double r, double g, double b, double a,
const unsigned char *swizzle)
{
@@ -352,8 +352,8 @@ lp_build_const_aos(union lp_type type,
LLVMValueRef
lp_build_const_mask_aos(union lp_type type,
boolean cond[4])
lp_build_const_mask_aos(struct lp_type type,
const boolean cond[4])
{
LLVMTypeRef elem_type = LLVMIntType(type.width);
LLVMValueRef masks[LP_MAX_VECTOR_LENGTH];
+16 -16
View File
@@ -42,67 +42,67 @@
#include <pipe/p_compiler.h>
union lp_type type;
struct lp_type type;
unsigned
lp_mantissa(union lp_type type);
lp_mantissa(struct lp_type type);
unsigned
lp_const_shift(union lp_type type);
lp_const_shift(struct lp_type type);
unsigned
lp_const_offset(union lp_type type);
lp_const_offset(struct lp_type type);
double
lp_const_scale(union lp_type type);
lp_const_scale(struct lp_type type);
double
lp_const_min(union lp_type type);
lp_const_min(struct lp_type type);
double
lp_const_max(union lp_type type);
lp_const_max(struct lp_type type);
double
lp_const_eps(union lp_type type);
lp_const_eps(struct lp_type type);
LLVMValueRef
lp_build_undef(union lp_type type);
lp_build_undef(struct lp_type type);
LLVMValueRef
lp_build_zero(union lp_type type);
lp_build_zero(struct lp_type type);
LLVMValueRef
lp_build_one(union lp_type type);
lp_build_one(struct lp_type type);
LLVMValueRef
lp_build_const_scalar(union lp_type type,
lp_build_const_scalar(struct lp_type type,
double val);
LLVMValueRef
lp_build_int_const_scalar(union lp_type type,
lp_build_int_const_scalar(struct lp_type type,
long long val);
LLVMValueRef
lp_build_const_aos(union lp_type type,
lp_build_const_aos(struct lp_type type,
double r, double g, double b, double a,
const unsigned char *swizzle);
LLVMValueRef
lp_build_const_mask_aos(union lp_type type,
boolean cond[4]);
lp_build_const_mask_aos(struct lp_type type,
const boolean cond[4]);
#endif /* !LP_BLD_CONST_H */
+16 -16
View File
@@ -86,7 +86,7 @@
*/
LLVMValueRef
lp_build_clamped_float_to_unsigned_norm(LLVMBuilderRef builder,
union lp_type src_type,
struct lp_type src_type,
unsigned dst_width,
LLVMValueRef src)
{
@@ -152,7 +152,7 @@ lp_build_clamped_float_to_unsigned_norm(LLVMBuilderRef builder,
LLVMValueRef
lp_build_unsigned_norm_to_float(LLVMBuilderRef builder,
unsigned src_width,
union lp_type dst_type,
struct lp_type dst_type,
LLVMValueRef src)
{
LLVMTypeRef vec_type = lp_build_vec_type(dst_type);
@@ -248,8 +248,8 @@ lp_build_const_pack_shuffle(unsigned n)
*/
static void
lp_build_expand(LLVMBuilderRef builder,
union lp_type src_type,
union lp_type dst_type,
struct lp_type src_type,
struct lp_type dst_type,
LLVMValueRef src,
LLVMValueRef *dst, unsigned num_dsts)
{
@@ -266,7 +266,7 @@ lp_build_expand(LLVMBuilderRef builder,
dst[0] = src;
while(src_type.width < dst_type.width) {
union lp_type new_type = src_type;
struct lp_type new_type = src_type;
LLVMTypeRef new_vec_type;
new_type.width *= 2;
@@ -314,8 +314,8 @@ lp_build_expand(LLVMBuilderRef builder,
*/
static LLVMValueRef
lp_build_pack2(LLVMBuilderRef builder,
union lp_type src_type,
union lp_type dst_type,
struct lp_type src_type,
struct lp_type dst_type,
boolean clamped,
LLVMValueRef lo,
LLVMValueRef hi)
@@ -392,8 +392,8 @@ lp_build_pack2(LLVMBuilderRef builder,
*/
static LLVMValueRef
lp_build_pack(LLVMBuilderRef builder,
union lp_type src_type,
union lp_type dst_type,
struct lp_type src_type,
struct lp_type dst_type,
boolean clamped,
const LLVMValueRef *src, unsigned num_srcs)
{
@@ -410,7 +410,7 @@ lp_build_pack(LLVMBuilderRef builder,
tmp[i] = src[i];
while(src_type.width > dst_type.width) {
union lp_type new_type = src_type;
struct lp_type new_type = src_type;
new_type.width /= 2;
new_type.length *= 2;
@@ -442,12 +442,12 @@ lp_build_pack(LLVMBuilderRef builder,
*/
void
lp_build_conv(LLVMBuilderRef builder,
union lp_type src_type,
union lp_type dst_type,
struct lp_type src_type,
struct lp_type dst_type,
const LLVMValueRef *src, unsigned num_srcs,
LLVMValueRef *dst, unsigned num_dsts)
{
union lp_type tmp_type;
struct lp_type tmp_type;
LLVMValueRef tmp[LP_MAX_VECTOR_LENGTH];
unsigned num_tmps;
unsigned i;
@@ -470,7 +470,7 @@ lp_build_conv(LLVMBuilderRef builder,
* Clamp if necessary
*/
if(src_type.value != dst_type.value) {
if(memcmp(&src_type, &dst_type, sizeof src_type) != 0) {
struct lp_build_context bld;
double src_min = lp_const_min(src_type);
double dst_min = lp_const_min(dst_type);
@@ -656,8 +656,8 @@ lp_build_conv(LLVMBuilderRef builder,
*/
void
lp_build_conv_mask(LLVMBuilderRef builder,
union lp_type src_type,
union lp_type dst_type,
struct lp_type src_type,
struct lp_type dst_type,
const LLVMValueRef *src, unsigned num_srcs,
LLVMValueRef *dst, unsigned num_dsts)
{
+7 -7
View File
@@ -40,33 +40,33 @@
#include <llvm-c/Core.h>
union lp_type type;
struct lp_type type;
LLVMValueRef
lp_build_clamped_float_to_unsigned_norm(LLVMBuilderRef builder,
union lp_type src_type,
struct lp_type src_type,
unsigned dst_width,
LLVMValueRef src);
LLVMValueRef
lp_build_unsigned_norm_to_float(LLVMBuilderRef builder,
unsigned src_width,
union lp_type dst_type,
struct lp_type dst_type,
LLVMValueRef src);
void
lp_build_conv(LLVMBuilderRef builder,
union lp_type src_type,
union lp_type dst_type,
struct lp_type src_type,
struct lp_type dst_type,
const LLVMValueRef *srcs, unsigned num_srcs,
LLVMValueRef *dsts, unsigned num_dsts);
void
lp_build_conv_mask(LLVMBuilderRef builder,
union lp_type src_type,
union lp_type dst_type,
struct lp_type src_type,
struct lp_type dst_type,
const LLVMValueRef *src, unsigned num_srcs,
LLVMValueRef *dst, unsigned num_dsts);
+4 -4
View File
@@ -71,11 +71,11 @@
/**
* Return a type appropriate for depth/stencil testing.
*/
union lp_type
struct lp_type
lp_depth_type(const struct util_format_description *format_desc,
unsigned length)
{
union lp_type type;
struct lp_type type;
unsigned swizzle;
assert(format_desc->colorspace == UTIL_FORMAT_COLORSPACE_ZS);
@@ -85,7 +85,7 @@ lp_depth_type(const struct util_format_description *format_desc,
swizzle = format_desc->swizzle[0];
assert(swizzle < 4);
type.value = 0;
memset(&type, 0, sizeof type);
type.width = format_desc->block.bits;
if(format_desc->channel[swizzle].type == UTIL_FORMAT_TYPE_FLOAT) {
@@ -114,7 +114,7 @@ lp_depth_type(const struct util_format_description *format_desc,
void
lp_build_depth_test(LLVMBuilderRef builder,
const struct pipe_depth_state *state,
union lp_type type,
struct lp_type type,
const struct util_format_description *format_desc,
struct lp_build_mask_context *mask,
LLVMValueRef src,
+3 -3
View File
@@ -41,11 +41,11 @@
struct pipe_depth_state;
struct util_format_description;
union lp_type;
struct lp_type;
struct lp_build_mask_context;
union lp_type
struct lp_type
lp_depth_type(const struct util_format_description *format_desc,
unsigned length);
@@ -53,7 +53,7 @@ lp_depth_type(const struct util_format_description *format_desc,
void
lp_build_depth_test(LLVMBuilderRef builder,
const struct pipe_depth_state *state,
union lp_type type,
struct lp_type type,
const struct util_format_description *format_desc,
struct lp_build_mask_context *mask,
LLVMValueRef src,
+1 -1
View File
@@ -405,7 +405,7 @@ lp_build_mask_check(struct lp_build_mask_context *mask)
void
lp_build_mask_begin(struct lp_build_mask_context *mask,
struct lp_build_flow_context *flow,
union lp_type type,
struct lp_type type,
LLVMValueRef value)
{
memset(mask, 0, sizeof *mask);
+2 -2
View File
@@ -38,7 +38,7 @@
#include <llvm-c/Core.h>
union lp_type;
struct lp_type;
struct lp_build_flow_context;
@@ -84,7 +84,7 @@ struct lp_build_mask_context
void
lp_build_mask_begin(struct lp_build_mask_context *mask,
struct lp_build_flow_context *flow,
union lp_type type,
struct lp_type type,
LLVMValueRef value);
/**
+3 -3
View File
@@ -39,7 +39,7 @@
#include "pipe/p_format.h"
struct util_format_description;
union lp_type;
struct lp_type;
/**
@@ -103,7 +103,7 @@ lp_build_gather(LLVMBuilderRef builder,
void
lp_build_unpack_rgba_soa(LLVMBuilderRef builder,
const struct util_format_description *format_desc,
union lp_type type,
struct lp_type type,
LLVMValueRef packed,
LLVMValueRef *rgba);
@@ -111,7 +111,7 @@ lp_build_unpack_rgba_soa(LLVMBuilderRef builder,
void
lp_build_load_rgba_soa(LLVMBuilderRef builder,
const struct util_format_description *format_desc,
union lp_type type,
struct lp_type type,
LLVMValueRef base_ptr,
LLVMValueRef offsets,
LLVMValueRef *rgba);
@@ -84,7 +84,7 @@ lp_build_gather(LLVMBuilderRef builder,
static LLVMValueRef
lp_build_format_swizzle(union lp_type type,
lp_build_format_swizzle(struct lp_type type,
const LLVMValueRef *inputs,
enum util_format_swizzle swizzle)
{
@@ -110,7 +110,7 @@ lp_build_format_swizzle(union lp_type type,
void
lp_build_unpack_rgba_soa(LLVMBuilderRef builder,
const struct util_format_description *format_desc,
union lp_type type,
struct lp_type type,
LLVMValueRef packed,
LLVMValueRef *rgba)
{
@@ -188,7 +188,7 @@ lp_build_unpack_rgba_soa(LLVMBuilderRef builder,
void
lp_build_load_rgba_soa(LLVMBuilderRef builder,
const struct util_format_description *format_desc,
union lp_type type,
struct lp_type type,
LLVMValueRef base_ptr,
LLVMValueRef offsets,
LLVMValueRef *rgba)
+1 -1
View File
@@ -292,7 +292,7 @@ void
lp_build_interp_soa_init(struct lp_build_interp_soa_context *bld,
const struct tgsi_token *tokens,
LLVMBuilderRef builder,
union lp_type type,
struct lp_type type,
LLVMValueRef a0_ptr,
LLVMValueRef dadx_ptr,
LLVMValueRef dady_ptr,
+1 -1
View File
@@ -83,7 +83,7 @@ void
lp_build_interp_soa_init(struct lp_build_interp_soa_context *bld,
const struct tgsi_token *tokens,
LLVMBuilderRef builder,
union lp_type type,
struct lp_type type,
LLVMValueRef a0_ptr,
LLVMValueRef dadx_ptr,
LLVMValueRef dady_ptr,
+3 -3
View File
@@ -45,7 +45,7 @@ lp_build_cmp(struct lp_build_context *bld,
LLVMValueRef a,
LLVMValueRef b)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMTypeRef vec_type = lp_build_vec_type(type);
LLVMTypeRef int_vec_type = lp_build_int_vec_type(type);
LLVMValueRef zeros = LLVMConstNull(int_vec_type);
@@ -301,7 +301,7 @@ lp_build_select(struct lp_build_context *bld,
LLVMValueRef a,
LLVMValueRef b)
{
union lp_type type = bld->type;
struct lp_type type = bld->type;
LLVMValueRef res;
if(a == b)
@@ -339,7 +339,7 @@ lp_build_select_aos(struct lp_build_context *bld,
LLVMValueRef b,
const boolean cond[4])
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
const unsigned n = type.length;
unsigned i, j;
+1 -1
View File
@@ -42,7 +42,7 @@
#include "pipe/p_defines.h" /* For PIPE_FUNC_xxx */
union lp_type type;
struct lp_type type;
struct lp_build_context;
+2 -2
View File
@@ -40,7 +40,7 @@
struct pipe_texture;
struct pipe_sampler_state;
union lp_type;
struct lp_type;
/**
@@ -123,7 +123,7 @@ void
lp_build_sample_soa(LLVMBuilderRef builder,
const struct lp_sampler_static_state *static_state,
struct lp_sampler_dynamic_state *dynamic_state,
union lp_type fp_type,
struct lp_type fp_type,
unsigned unit,
unsigned num_coords,
const LLVMValueRef *coords,
@@ -97,15 +97,15 @@ struct lp_build_sample_context
const struct util_format_description *format_desc;
/** Incoming coordinates type and build context */
union lp_type coord_type;
struct lp_type coord_type;
struct lp_build_context coord_bld;
/** Integer coordinates */
union lp_type int_coord_type;
struct lp_type int_coord_type;
struct lp_build_context int_coord_bld;
/** Output texels type and build context */
union lp_type texel_type;
struct lp_type texel_type;
struct lp_build_context texel_bld;
};
@@ -337,7 +337,7 @@ void
lp_build_sample_soa(LLVMBuilderRef builder,
const struct lp_sampler_static_state *static_state,
struct lp_sampler_dynamic_state *dynamic_state,
union lp_type type,
struct lp_type type,
unsigned unit,
unsigned num_coords,
const LLVMValueRef *coords,
@@ -64,7 +64,7 @@ LLVMValueRef
lp_build_broadcast_scalar(struct lp_build_context *bld,
LLVMValueRef scalar)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
LLVMValueRef res;
unsigned i;
@@ -83,7 +83,7 @@ lp_build_broadcast_aos(struct lp_build_context *bld,
LLVMValueRef a,
unsigned channel)
{
const union lp_type type = bld->type;
const struct lp_type type = bld->type;
const unsigned n = type.length;
unsigned i, j;
@@ -115,7 +115,7 @@ lp_build_broadcast_aos(struct lp_build_context *bld,
* YY00 YY00 .... YY00
* YYYY YYYY .... YYYY <= output
*/
union lp_type type4 = type;
struct lp_type type4 = type;
const char shifts[4][2] = {
{ 1, 2},
{-1, 2},
@@ -40,7 +40,7 @@
#include <llvm-c/Core.h>
union lp_type type;
struct lp_type type;
struct lp_build_context;
+3 -3
View File
@@ -39,7 +39,7 @@
struct tgsi_token;
union lp_type;
struct lp_type;
struct lp_build_context;
struct lp_build_mask_context;
@@ -60,7 +60,7 @@ struct lp_build_sampler_soa
void
(*emit_fetch_texel)( struct lp_build_sampler_soa *sampler,
LLVMBuilderRef builder,
union lp_type type,
struct lp_type type,
unsigned unit,
unsigned num_coords,
const LLVMValueRef *coords,
@@ -72,7 +72,7 @@ struct lp_build_sampler_soa
void
lp_build_tgsi_soa(LLVMBuilderRef builder,
const struct tgsi_token *tokens,
union lp_type type,
struct lp_type type,
struct lp_build_mask_context *mask,
LLVMValueRef consts_ptr,
const LLVMValueRef *pos,
@@ -1415,7 +1415,7 @@ emit_instruction(
void
lp_build_tgsi_soa(LLVMBuilderRef builder,
const struct tgsi_token *tokens,
union lp_type type,
struct lp_type type,
struct lp_build_mask_context *mask,
LLVMValueRef consts_ptr,
const LLVMValueRef *pos,
+13 -12
View File
@@ -33,7 +33,7 @@
LLVMTypeRef
lp_build_elem_type(union lp_type type)
lp_build_elem_type(struct lp_type type)
{
if (type.floating) {
switch(type.width) {
@@ -55,7 +55,7 @@ lp_build_elem_type(union lp_type type)
LLVMTypeRef
lp_build_vec_type(union lp_type type)
lp_build_vec_type(struct lp_type type)
{
LLVMTypeRef elem_type = lp_build_elem_type(type);
return LLVMVectorType(elem_type, type.length);
@@ -69,7 +69,7 @@ lp_build_vec_type(union lp_type type)
* type and check for identity.
*/
boolean
lp_check_elem_type(union lp_type type, LLVMTypeRef elem_type)
lp_check_elem_type(struct lp_type type, LLVMTypeRef elem_type)
{
LLVMTypeKind elem_kind;
@@ -107,7 +107,7 @@ lp_check_elem_type(union lp_type type, LLVMTypeRef elem_type)
boolean
lp_check_vec_type(union lp_type type, LLVMTypeRef vec_type)
lp_check_vec_type(struct lp_type type, LLVMTypeRef vec_type)
{
LLVMTypeRef elem_type;
@@ -128,7 +128,7 @@ lp_check_vec_type(union lp_type type, LLVMTypeRef vec_type)
boolean
lp_check_value(union lp_type type, LLVMValueRef val)
lp_check_value(struct lp_type type, LLVMValueRef val)
{
LLVMTypeRef vec_type;
@@ -143,25 +143,26 @@ lp_check_value(union lp_type type, LLVMValueRef val)
LLVMTypeRef
lp_build_int_elem_type(union lp_type type)
lp_build_int_elem_type(struct lp_type type)
{
return LLVMIntType(type.width);
}
LLVMTypeRef
lp_build_int_vec_type(union lp_type type)
lp_build_int_vec_type(struct lp_type type)
{
LLVMTypeRef elem_type = lp_build_int_elem_type(type);
return LLVMVectorType(elem_type, type.length);
}
union lp_type
lp_int_type(union lp_type type)
struct lp_type
lp_int_type(struct lp_type type)
{
union lp_type int_type;
int_type.value = 0;
struct lp_type int_type;
memset(&int_type, 0, sizeof int_type);
int_type.width = type.width;
int_type.length = type.length;
return int_type;
@@ -171,7 +172,7 @@ lp_int_type(union lp_type type)
void
lp_build_context_init(struct lp_build_context *bld,
LLVMBuilderRef builder,
union lp_type type)
struct lp_type type)
{
bld->builder = builder;
bld->type = type;
+56 -59
View File
@@ -56,58 +56,55 @@
* on the types used for intermediate computations, such as signed vs unsigned,
* normalized values, or fixed point.
*/
union lp_type {
struct {
/**
* Floating-point. Cannot be used with fixed. Integer numbers are
* represented by this zero.
*/
unsigned floating:1;
struct lp_type {
/**
* Floating-point. Cannot be used with fixed. Integer numbers are
* represented by this zero.
*/
unsigned floating:1;
/**
* Fixed-point. Cannot be used with floating. Integer numbers are
* represented by this zero.
*/
unsigned fixed:1;
/**
* Whether it can represent negative values or not.
*
* If this is not set for floating point, it means that all values are
* assumed to be positive.
*/
unsigned sign:1;
/**
* Fixed-point. Cannot be used with floating. Integer numbers are
* represented by this zero.
*/
unsigned fixed:1;
/**
* Whether values are normalized to fit [0, 1] interval, or [-1, 1]
* interval for signed types.
*
* For integer types it means the representable integer range should be
* interpreted as the interval above.
*
* For floating and fixed point formats it means the values should be
* clamped to the interval above.
*/
unsigned norm:1;
/**
* Whether it can represent negative values or not.
*
* If this is not set for floating point, it means that all values are
* assumed to be positive.
*/
unsigned sign:1;
/**
* Element width.
*
* For fixed point values, the fixed point is assumed to be at half the
* width.
*/
unsigned width:14;
/**
* Whether values are normalized to fit [0, 1] interval, or [-1, 1]
* interval for signed types.
*
* For integer types it means the representable integer range should be
* interpreted as the interval above.
*
* For floating and fixed point formats it means the values should be
* clamped to the interval above.
*/
unsigned norm:1;
/**
* Vector length.
*
* width*length should be a power of two greater or equal to eight.
*
* @sa LP_MAX_VECTOR_LENGTH
*/
unsigned length:14;
};
uint32_t value;
/**
* Element width.
*
* For fixed point values, the fixed point is assumed to be at half the
* width.
*/
unsigned width:14;
/**
* Vector length.
*
* width*length should be a power of two greater or equal to eight.
*
* @sa LP_MAX_VECTOR_LENGTH
*/
unsigned length:14;
};
@@ -124,7 +121,7 @@ struct lp_build_context
* This not only describes the input/output LLVM types, but also whether
* to normalize/clamp the results.
*/
union lp_type type;
struct lp_type type;
/** Same as lp_build_undef(type) */
LLVMValueRef undef;
@@ -138,41 +135,41 @@ struct lp_build_context
LLVMTypeRef
lp_build_elem_type(union lp_type type);
lp_build_elem_type(struct lp_type type);
LLVMTypeRef
lp_build_vec_type(union lp_type type);
lp_build_vec_type(struct lp_type type);
boolean
lp_check_elem_type(union lp_type type, LLVMTypeRef elem_type);
lp_check_elem_type(struct lp_type type, LLVMTypeRef elem_type);
boolean
lp_check_vec_type(union lp_type type, LLVMTypeRef vec_type);
lp_check_vec_type(struct lp_type type, LLVMTypeRef vec_type);
boolean
lp_check_value(union lp_type type, LLVMValueRef val);
lp_check_value(struct lp_type type, LLVMValueRef val);
LLVMTypeRef
lp_build_int_elem_type(union lp_type type);
lp_build_int_elem_type(struct lp_type type);
LLVMTypeRef
lp_build_int_vec_type(union lp_type type);
lp_build_int_vec_type(struct lp_type type);
union lp_type
lp_int_type(union lp_type type);
struct lp_type
lp_int_type(struct lp_type type);
void
lp_build_context_init(struct lp_build_context *bld,
LLVMBuilderRef builder,
union lp_type type);
struct lp_type type);
#endif /* !LP_BLD_TYPE_H */
+8 -8
View File
@@ -133,13 +133,13 @@ generate_pos0(LLVMBuilderRef builder,
static void
generate_depth(LLVMBuilderRef builder,
const struct lp_fragment_shader_variant_key *key,
union lp_type src_type,
struct lp_type src_type,
struct lp_build_mask_context *mask,
LLVMValueRef src,
LLVMValueRef dst_ptr)
{
const struct util_format_description *format_desc;
union lp_type dst_type;
struct lp_type dst_type;
if(!key->depth.enabled)
return;
@@ -181,7 +181,7 @@ generate_fs(struct llvmpipe_context *lp,
struct lp_fragment_shader *shader,
const struct lp_fragment_shader_variant_key *key,
LLVMBuilderRef builder,
union lp_type type,
struct lp_type type,
LLVMValueRef context_ptr,
unsigned i,
const struct lp_build_interp_soa_context *interp,
@@ -299,7 +299,7 @@ generate_fs(struct llvmpipe_context *lp,
static void
generate_blend(const struct pipe_blend_state *blend,
LLVMBuilderRef builder,
union lp_type type,
struct lp_type type,
LLVMValueRef context_ptr,
LLVMValueRef mask,
LLVMValueRef *src,
@@ -364,8 +364,8 @@ generate_fragment(struct llvmpipe_context *lp,
{
struct llvmpipe_screen *screen = llvmpipe_screen(lp->pipe.screen);
struct lp_fragment_shader_variant *variant;
union lp_type fs_type;
union lp_type blend_type;
struct lp_type fs_type;
struct lp_type blend_type;
LLVMTypeRef fs_elem_type;
LLVMTypeRef fs_vec_type;
LLVMTypeRef fs_int_vec_type;
@@ -431,7 +431,7 @@ generate_fragment(struct llvmpipe_context *lp,
/* TODO: actually pick these based on the fs and color buffer
* characteristics. */
fs_type.value = 0;
memset(&fs_type, 0, sizeof fs_type);
fs_type.floating = TRUE; /* floating point values */
fs_type.sign = TRUE; /* values are signed */
fs_type.norm = FALSE; /* values are not limited to [0,1] or [-1,1] */
@@ -439,7 +439,7 @@ generate_fragment(struct llvmpipe_context *lp,
fs_type.length = 4; /* 4 element per vector */
num_fs = 4;
blend_type.value = 0;
memset(&blend_type, 0, sizeof blend_type);
blend_type.floating = FALSE; /* values are integers */
blend_type.sign = FALSE; /* values are unsigned */
blend_type.norm = TRUE; /* values are in [0,1] or [-1,1] */
+10 -10
View File
@@ -86,43 +86,43 @@ random_float(void);
void
dump_type(FILE *fp, union lp_type type);
dump_type(FILE *fp, struct lp_type type);
double
read_elem(union lp_type type, const void *src, unsigned index);
read_elem(struct lp_type type, const void *src, unsigned index);
void
write_elem(union lp_type type, void *dst, unsigned index, double src);
write_elem(struct lp_type type, void *dst, unsigned index, double src);
void
random_elem(union lp_type type, void *dst, unsigned index);
random_elem(struct lp_type type, void *dst, unsigned index);
void
read_vec(union lp_type type, const void *src, double *dst);
read_vec(struct lp_type type, const void *src, double *dst);
void
write_vec(union lp_type type, void *dst, const double *src);
write_vec(struct lp_type type, void *dst, const double *src);
void
random_vec(union lp_type type, void *dst);
random_vec(struct lp_type type, void *dst);
boolean
compare_vec_with_eps(union lp_type type, const void *res, const void *ref, double eps);
compare_vec_with_eps(struct lp_type type, const void *res, const void *ref, double eps);
boolean
compare_vec(union lp_type type, const void *res, const void *ref);
compare_vec(struct lp_type type, const void *res, const void *ref);
void
dump_vec(FILE *fp, union lp_type type, const void *src);
dump_vec(FILE *fp, struct lp_type type, const void *src);
#endif /* !LP_TEST_H */
+9 -9
View File
@@ -80,7 +80,7 @@ static void
write_tsv_row(FILE *fp,
const struct pipe_blend_state *blend,
enum vector_mode mode,
union lp_type type,
struct lp_type type,
double cycles,
boolean success)
{
@@ -125,7 +125,7 @@ static void
dump_blend_type(FILE *fp,
const struct pipe_blend_state *blend,
enum vector_mode mode,
union lp_type type)
struct lp_type type)
{
fprintf(fp, "%s", mode ? "soa" : "aos");
@@ -153,7 +153,7 @@ static LLVMValueRef
add_blend_test(LLVMModuleRef module,
const struct pipe_blend_state *blend,
enum vector_mode mode,
union lp_type type)
struct lp_type type)
{
LLVMTypeRef ret_type;
LLVMTypeRef vec_type;
@@ -467,7 +467,7 @@ test_one(unsigned verbose,
FILE *fp,
const struct pipe_blend_state *blend,
enum vector_mode mode,
union lp_type type)
struct lp_type type)
{
LLVMModuleRef module = NULL;
LLVMValueRef func = NULL;
@@ -765,10 +765,10 @@ blend_funcs[] = {
};
const union lp_type blend_types[] = {
const struct lp_type blend_types[] = {
/* float, fixed, sign, norm, width, len */
{{ TRUE, FALSE, FALSE, TRUE, 32, 4 }}, /* f32 x 4 */
{{ FALSE, FALSE, FALSE, TRUE, 8, 16 }}, /* u8n x 16 */
{ TRUE, FALSE, FALSE, TRUE, 32, 4 }, /* f32 x 4 */
{ FALSE, FALSE, FALSE, TRUE, 8, 16 }, /* u8n x 16 */
};
@@ -788,7 +788,7 @@ test_all(unsigned verbose, FILE *fp)
const unsigned *alpha_dst_factor;
struct pipe_blend_state blend;
enum vector_mode mode;
const union lp_type *type;
const struct lp_type *type;
bool success = TRUE;
for(rgb_func = blend_funcs; rgb_func < &blend_funcs[num_funcs]; ++rgb_func) {
@@ -841,7 +841,7 @@ test_some(unsigned verbose, FILE *fp, unsigned long n)
const unsigned *alpha_dst_factor;
struct pipe_blend_state blend;
enum vector_mode mode;
const union lp_type *type;
const struct lp_type *type;
unsigned long i;
bool success = TRUE;
+33 -33
View File
@@ -59,8 +59,8 @@ write_tsv_header(FILE *fp)
static void
write_tsv_row(FILE *fp,
union lp_type src_type,
union lp_type dst_type,
struct lp_type src_type,
struct lp_type dst_type,
double cycles,
boolean success)
{
@@ -80,8 +80,8 @@ write_tsv_row(FILE *fp,
static void
dump_conv_types(FILE *fp,
union lp_type src_type,
union lp_type dst_type)
struct lp_type src_type,
struct lp_type dst_type)
{
fprintf(fp, "src_type=");
dump_type(fp, src_type);
@@ -96,8 +96,8 @@ dump_conv_types(FILE *fp,
static LLVMValueRef
add_conv_test(LLVMModuleRef module,
union lp_type src_type, unsigned num_srcs,
union lp_type dst_type, unsigned num_dsts)
struct lp_type src_type, unsigned num_srcs,
struct lp_type dst_type, unsigned num_dsts)
{
LLVMTypeRef args[2];
LLVMValueRef func;
@@ -145,8 +145,8 @@ add_conv_test(LLVMModuleRef module,
static boolean
test_one(unsigned verbose,
FILE *fp,
union lp_type src_type,
union lp_type dst_type)
struct lp_type src_type,
struct lp_type dst_type)
{
LLVMModuleRef module = NULL;
LLVMValueRef func = NULL;
@@ -343,35 +343,35 @@ test_one(unsigned verbose,
}
const union lp_type conv_types[] = {
const struct lp_type conv_types[] = {
/* float, fixed, sign, norm, width, len */
{{ TRUE, FALSE, TRUE, TRUE, 32, 4 }},
{{ TRUE, FALSE, TRUE, FALSE, 32, 4 }},
{{ TRUE, FALSE, FALSE, TRUE, 32, 4 }},
{{ TRUE, FALSE, FALSE, FALSE, 32, 4 }},
{ TRUE, FALSE, TRUE, TRUE, 32, 4 },
{ TRUE, FALSE, TRUE, FALSE, 32, 4 },
{ TRUE, FALSE, FALSE, TRUE, 32, 4 },
{ TRUE, FALSE, FALSE, FALSE, 32, 4 },
/* TODO: test fixed formats too */
{{ FALSE, FALSE, TRUE, TRUE, 16, 8 }},
{{ FALSE, FALSE, TRUE, FALSE, 16, 8 }},
{{ FALSE, FALSE, FALSE, TRUE, 16, 8 }},
{{ FALSE, FALSE, FALSE, FALSE, 16, 8 }},
{ FALSE, FALSE, TRUE, TRUE, 16, 8 },
{ FALSE, FALSE, TRUE, FALSE, 16, 8 },
{ FALSE, FALSE, FALSE, TRUE, 16, 8 },
{ FALSE, FALSE, FALSE, FALSE, 16, 8 },
{{ FALSE, FALSE, TRUE, TRUE, 32, 4 }},
{{ FALSE, FALSE, TRUE, FALSE, 32, 4 }},
{{ FALSE, FALSE, FALSE, TRUE, 32, 4 }},
{{ FALSE, FALSE, FALSE, FALSE, 32, 4 }},
{ FALSE, FALSE, TRUE, TRUE, 32, 4 },
{ FALSE, FALSE, TRUE, FALSE, 32, 4 },
{ FALSE, FALSE, FALSE, TRUE, 32, 4 },
{ FALSE, FALSE, FALSE, FALSE, 32, 4 },
{{ FALSE, FALSE, TRUE, TRUE, 16, 8 }},
{{ FALSE, FALSE, TRUE, FALSE, 16, 8 }},
{{ FALSE, FALSE, FALSE, TRUE, 16, 8 }},
{{ FALSE, FALSE, FALSE, FALSE, 16, 8 }},
{ FALSE, FALSE, TRUE, TRUE, 16, 8 },
{ FALSE, FALSE, TRUE, FALSE, 16, 8 },
{ FALSE, FALSE, FALSE, TRUE, 16, 8 },
{ FALSE, FALSE, FALSE, FALSE, 16, 8 },
{{ FALSE, FALSE, TRUE, TRUE, 8, 16 }},
{{ FALSE, FALSE, TRUE, FALSE, 8, 16 }},
{{ FALSE, FALSE, FALSE, TRUE, 8, 16 }},
{{ FALSE, FALSE, FALSE, FALSE, 8, 16 }},
{ FALSE, FALSE, TRUE, TRUE, 8, 16 },
{ FALSE, FALSE, TRUE, FALSE, 8, 16 },
{ FALSE, FALSE, FALSE, TRUE, 8, 16 },
{ FALSE, FALSE, FALSE, FALSE, 8, 16 },
};
@@ -381,8 +381,8 @@ const unsigned num_types = sizeof(conv_types)/sizeof(conv_types[0]);
boolean
test_all(unsigned verbose, FILE *fp)
{
const union lp_type *src_type;
const union lp_type *dst_type;
const struct lp_type *src_type;
const struct lp_type *dst_type;
bool success = TRUE;
for(src_type = conv_types; src_type < &conv_types[num_types]; ++src_type) {
@@ -407,8 +407,8 @@ test_all(unsigned verbose, FILE *fp)
boolean
test_some(unsigned verbose, FILE *fp, unsigned long n)
{
const union lp_type *src_type;
const union lp_type *dst_type;
const struct lp_type *src_type;
const struct lp_type *dst_type;
unsigned long i;
bool success = TRUE;
+10 -10
View File
@@ -40,7 +40,7 @@
void
dump_type(FILE *fp,
union lp_type type)
struct lp_type type)
{
fprintf(fp, "%s%s%u%sx%u",
type.sign ? (type.floating || type.fixed ? "" : "s") : "u",
@@ -52,7 +52,7 @@ dump_type(FILE *fp,
double
read_elem(union lp_type type, const void *src, unsigned index)
read_elem(struct lp_type type, const void *src, unsigned index)
{
double scale = lp_const_scale(type);
double value;
@@ -115,7 +115,7 @@ read_elem(union lp_type type, const void *src, unsigned index)
void
write_elem(union lp_type type, void *dst, unsigned index, double value)
write_elem(struct lp_type type, void *dst, unsigned index, double value)
{
assert(index < type.length);
if(!type.sign && value < 0.0)
@@ -184,7 +184,7 @@ write_elem(union lp_type type, void *dst, unsigned index, double value)
void
random_elem(union lp_type type, void *dst, unsigned index)
random_elem(struct lp_type type, void *dst, unsigned index)
{
double value;
assert(index < type.length);
@@ -209,7 +209,7 @@ random_elem(union lp_type type, void *dst, unsigned index)
void
read_vec(union lp_type type, const void *src, double *dst)
read_vec(struct lp_type type, const void *src, double *dst)
{
unsigned i;
for (i = 0; i < type.length; ++i)
@@ -218,7 +218,7 @@ read_vec(union lp_type type, const void *src, double *dst)
void
write_vec(union lp_type type, void *dst, const double *src)
write_vec(struct lp_type type, void *dst, const double *src)
{
unsigned i;
for (i = 0; i < type.length; ++i)
@@ -234,7 +234,7 @@ random_float(void)
void
random_vec(union lp_type type, void *dst)
random_vec(struct lp_type type, void *dst)
{
unsigned i;
for (i = 0; i < type.length; ++i)
@@ -243,7 +243,7 @@ random_vec(union lp_type type, void *dst)
boolean
compare_vec_with_eps(union lp_type type, const void *res, const void *ref, double eps)
compare_vec_with_eps(struct lp_type type, const void *res, const void *ref, double eps)
{
unsigned i;
for (i = 0; i < type.length; ++i) {
@@ -259,7 +259,7 @@ compare_vec_with_eps(union lp_type type, const void *res, const void *ref, doubl
boolean
compare_vec(union lp_type type, const void *res, const void *ref)
compare_vec(struct lp_type type, const void *res, const void *ref)
{
double eps = lp_const_eps(type);
return compare_vec_with_eps(type, res, ref, eps);
@@ -267,7 +267,7 @@ compare_vec(union lp_type type, const void *res, const void *ref)
void
dump_vec(FILE *fp, union lp_type type, const void *src)
dump_vec(FILE *fp, struct lp_type type, const void *src)
{
unsigned i;
for (i = 0; i < type.length; ++i) {
@@ -1654,7 +1654,7 @@ lp_c_sampler_soa_destroy(struct lp_build_sampler_soa *sampler)
static void
lp_c_sampler_soa_emit_fetch_texel(struct lp_build_sampler_soa *_sampler,
LLVMBuilderRef builder,
union lp_type type,
struct lp_type type,
unsigned unit,
unsigned num_coords,
const LLVMValueRef *coords,
@@ -149,7 +149,7 @@ lp_llvm_sampler_soa_destroy(struct lp_build_sampler_soa *sampler)
static void
lp_llvm_sampler_soa_emit_fetch_texel(struct lp_build_sampler_soa *base,
LLVMBuilderRef builder,
union lp_type type,
struct lp_type type,
unsigned unit,
unsigned num_coords,
const LLVMValueRef *coords,