aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2013-08-29 20:52:35 +0200
committerRoland Scheidegger <[email protected]>2013-08-30 23:20:03 +0200
commit289faa7e23cdac352b4936d743a477db5c5a97b9 (patch)
tree65b5a9cad849bb7790cd024b6754ec35cc370ff8 /src/gallium/auxiliary
parent61add3cc3c68b3b1faffc468c2a2b882c267f94b (diff)
gallivm: (trivial) don't pass sampler_unit variable down to filtering funcs
The only reason this was needed was because the fetch texel function had to get the (dynamic) border color, but this is now done much earlier. Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c57
1 files changed, 21 insertions, 36 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
index 26a65d08f8a..9719bb06c45 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c
@@ -73,7 +73,6 @@
*/
static void
lp_build_sample_texel_soa(struct lp_build_sample_context *bld,
- unsigned sampler_unit,
LLVMValueRef width,
LLVMValueRef height,
LLVMValueRef depth,
@@ -696,7 +695,6 @@ lp_build_sample_comparefunc(struct lp_build_sample_context *bld,
*/
static void
lp_build_sample_image_nearest(struct lp_build_sample_context *bld,
- unsigned sampler_unit,
LLVMValueRef size,
LLVMValueRef row_stride_vec,
LLVMValueRef img_stride_vec,
@@ -764,7 +762,7 @@ lp_build_sample_image_nearest(struct lp_build_sample_context *bld,
/*
* Get texture colors.
*/
- lp_build_sample_texel_soa(bld, sampler_unit,
+ lp_build_sample_texel_soa(bld,
width_vec, height_vec, depth_vec,
x, y, z,
row_stride_vec, img_stride_vec,
@@ -832,7 +830,6 @@ lp_build_masklerp2d(struct lp_build_context *bld,
*/
static void
lp_build_sample_image_linear(struct lp_build_sample_context *bld,
- unsigned sampler_unit,
LLVMValueRef size,
LLVMValueRef linear_mask,
LLVMValueRef row_stride_vec,
@@ -938,12 +935,12 @@ lp_build_sample_image_linear(struct lp_build_sample_context *bld,
* Get texture colors.
*/
/* get x0/x1 texels */
- lp_build_sample_texel_soa(bld, sampler_unit,
+ lp_build_sample_texel_soa(bld,
width_vec, height_vec, depth_vec,
x0, y0, z0,
row_stride_vec, img_stride_vec,
data_ptr, mipoffsets, neighbors[0][0]);
- lp_build_sample_texel_soa(bld, sampler_unit,
+ lp_build_sample_texel_soa(bld,
width_vec, height_vec, depth_vec,
x1, y0, z0,
row_stride_vec, img_stride_vec,
@@ -974,12 +971,12 @@ lp_build_sample_image_linear(struct lp_build_sample_context *bld,
LLVMValueRef colors0[4];
/* get x0/x1 texels at y1 */
- lp_build_sample_texel_soa(bld, sampler_unit,
+ lp_build_sample_texel_soa(bld,
width_vec, height_vec, depth_vec,
x0, y1, z0,
row_stride_vec, img_stride_vec,
data_ptr, mipoffsets, neighbors[1][0]);
- lp_build_sample_texel_soa(bld, sampler_unit,
+ lp_build_sample_texel_soa(bld,
width_vec, height_vec, depth_vec,
x1, y1, z0,
row_stride_vec, img_stride_vec,
@@ -1013,22 +1010,22 @@ lp_build_sample_image_linear(struct lp_build_sample_context *bld,
LLVMValueRef colors1[4];
/* get x0/x1/y0/y1 texels at z1 */
- lp_build_sample_texel_soa(bld, sampler_unit,
+ lp_build_sample_texel_soa(bld,
width_vec, height_vec, depth_vec,
x0, y0, z1,
row_stride_vec, img_stride_vec,
data_ptr, mipoffsets, neighbors1[0][0]);
- lp_build_sample_texel_soa(bld, sampler_unit,
+ lp_build_sample_texel_soa(bld,
width_vec, height_vec, depth_vec,
x1, y0, z1,
row_stride_vec, img_stride_vec,
data_ptr, mipoffsets, neighbors1[0][1]);
- lp_build_sample_texel_soa(bld, sampler_unit,
+ lp_build_sample_texel_soa(bld,
width_vec, height_vec, depth_vec,
x0, y1, z1,
row_stride_vec, img_stride_vec,
data_ptr, mipoffsets, neighbors1[1][0]);
- lp_build_sample_texel_soa(bld, sampler_unit,
+ lp_build_sample_texel_soa(bld,
width_vec, height_vec, depth_vec,
x1, y1, z1,
row_stride_vec, img_stride_vec,
@@ -1087,7 +1084,6 @@ lp_build_sample_image_linear(struct lp_build_sample_context *bld,
*/
static void
lp_build_sample_mipmap(struct lp_build_sample_context *bld,
- unsigned sampler_unit,
unsigned img_filter,
unsigned mip_filter,
LLVMValueRef *coords,
@@ -1124,16 +1120,14 @@ lp_build_sample_mipmap(struct lp_build_sample_context *bld,
mipoff0 = lp_build_get_mip_offsets(bld, ilevel0);
}
if (img_filter == PIPE_TEX_FILTER_NEAREST) {
- lp_build_sample_image_nearest(bld, sampler_unit,
- size0,
+ lp_build_sample_image_nearest(bld, size0,
row_stride0_vec, img_stride0_vec,
data_ptr0, mipoff0, coords, offsets,
colors0);
}
else {
assert(img_filter == PIPE_TEX_FILTER_LINEAR);
- lp_build_sample_image_linear(bld, sampler_unit,
- size0, NULL,
+ lp_build_sample_image_linear(bld, size0, NULL,
row_stride0_vec, img_stride0_vec,
data_ptr0, mipoff0, coords, offsets,
colors0);
@@ -1188,15 +1182,13 @@ lp_build_sample_mipmap(struct lp_build_sample_context *bld,
mipoff1 = lp_build_get_mip_offsets(bld, ilevel1);
}
if (img_filter == PIPE_TEX_FILTER_NEAREST) {
- lp_build_sample_image_nearest(bld, sampler_unit,
- size1,
+ lp_build_sample_image_nearest(bld, size1,
row_stride1_vec, img_stride1_vec,
data_ptr1, mipoff1, coords, offsets,
colors1);
}
else {
- lp_build_sample_image_linear(bld, sampler_unit,
- size1, NULL,
+ lp_build_sample_image_linear(bld, size1, NULL,
row_stride1_vec, img_stride1_vec,
data_ptr1, mipoff1, coords, offsets,
colors1);
@@ -1233,7 +1225,6 @@ lp_build_sample_mipmap(struct lp_build_sample_context *bld,
*/
static void
lp_build_sample_mipmap_both(struct lp_build_sample_context *bld,
- unsigned sampler_unit,
LLVMValueRef linear_mask,
unsigned mip_filter,
LLVMValueRef *coords,
@@ -1271,8 +1262,7 @@ lp_build_sample_mipmap_both(struct lp_build_sample_context *bld,
mipoff0 = lp_build_get_mip_offsets(bld, ilevel0);
}
- lp_build_sample_image_linear(bld, sampler_unit,
- size0, linear_mask,
+ lp_build_sample_image_linear(bld, size0, linear_mask,
row_stride0_vec, img_stride0_vec,
data_ptr0, mipoff0, coords, offsets,
colors0);
@@ -1316,8 +1306,7 @@ lp_build_sample_mipmap_both(struct lp_build_sample_context *bld,
mipoff1 = lp_build_get_mip_offsets(bld, ilevel1);
}
- lp_build_sample_image_linear(bld, sampler_unit,
- size1, linear_mask,
+ lp_build_sample_image_linear(bld, size1, linear_mask,
row_stride1_vec, img_stride1_vec,
data_ptr1, mipoff1, coords, offsets,
colors1);
@@ -1778,8 +1767,7 @@ lp_build_sample_general(struct lp_build_sample_context *bld,
if (min_filter == mag_filter) {
/* no need to distinguish between minification and magnification */
- lp_build_sample_mipmap(bld, sampler_unit,
- min_filter, mip_filter,
+ lp_build_sample_mipmap(bld, min_filter, mip_filter,
coords, offsets,
ilevel0, ilevel1, lod_fpart,
texels);
@@ -1801,8 +1789,7 @@ lp_build_sample_general(struct lp_build_sample_context *bld,
lp_build_if(&if_ctx, bld->gallivm, lod_positive);
{
/* Use the minification filter */
- lp_build_sample_mipmap(bld, sampler_unit,
- min_filter, mip_filter,
+ lp_build_sample_mipmap(bld, min_filter, mip_filter,
coords, offsets,
ilevel0, ilevel1, lod_fpart,
texels);
@@ -1810,8 +1797,7 @@ lp_build_sample_general(struct lp_build_sample_context *bld,
lp_build_else(&if_ctx);
{
/* Use the magnification filter */
- lp_build_sample_mipmap(bld, sampler_unit,
- mag_filter, PIPE_TEX_MIPFILTER_NONE,
+ lp_build_sample_mipmap(bld, mag_filter, PIPE_TEX_MIPFILTER_NONE,
coords, offsets,
ilevel0, NULL, NULL,
texels);
@@ -1852,8 +1838,7 @@ lp_build_sample_general(struct lp_build_sample_context *bld,
* aren't all that complicated so just always run a combined path
* if at least some pixels require linear.
*/
- lp_build_sample_mipmap_both(bld, sampler_unit,
- linear_mask, mip_filter,
+ lp_build_sample_mipmap_both(bld, linear_mask, mip_filter,
coords, offsets,
ilevel0, ilevel1,
lod_fpart, lod_positive,
@@ -1865,8 +1850,8 @@ lp_build_sample_general(struct lp_build_sample_context *bld,
* All pixels require just nearest filtering, which is way
* cheaper than linear, hence do a separate path for that.
*/
- lp_build_sample_mipmap(bld, sampler_unit,
- PIPE_TEX_FILTER_NEAREST, mip_filter_for_nearest,
+ lp_build_sample_mipmap(bld, PIPE_TEX_FILTER_NEAREST,
+ mip_filter_for_nearest,
coords, offsets,
ilevel0, ilevel1, lod_fpart,
texels);