Subversion Repositories Kolibri OS

Rev

Rev 4358 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4358 Rev 4401
Line 85... Line 85...
85
		return NULL;
85
		return NULL;
Line 86... Line 86...
86
 
86
 
Line 87... Line 87...
87
	so->base = *cso;
87
	so->base = *cso;
-
 
88
 
88
 
89
	so->texsamp0 =
89
	so->texsamp0 =
90
			COND(!cso->normalized_coords, A3XX_TEX_SAMP_0_UNNORM_COORDS) |
90
			A3XX_TEX_SAMP_0_XY_MAG(tex_filter(cso->mag_img_filter)) |
91
			A3XX_TEX_SAMP_0_XY_MAG(tex_filter(cso->mag_img_filter)) |
91
			A3XX_TEX_SAMP_0_XY_MIN(tex_filter(cso->min_img_filter)) |
92
			A3XX_TEX_SAMP_0_XY_MIN(tex_filter(cso->min_img_filter)) |
92
			A3XX_TEX_SAMP_0_WRAP_S(tex_clamp(cso->wrap_s)) |
93
			A3XX_TEX_SAMP_0_WRAP_S(tex_clamp(cso->wrap_s)) |
93
			A3XX_TEX_SAMP_0_WRAP_T(tex_clamp(cso->wrap_t)) |
94
			A3XX_TEX_SAMP_0_WRAP_T(tex_clamp(cso->wrap_t)) |
Line 94... Line 95...
94
			A3XX_TEX_SAMP_0_WRAP_R(tex_clamp(cso->wrap_r));
95
			A3XX_TEX_SAMP_0_WRAP_R(tex_clamp(cso->wrap_r));
95
	so->texsamp1 = 0x00000000;  /* ??? */
96
	so->texsamp1 = 0x00000000;  /* ??? */
Line -... Line 97...
-
 
97
 
-
 
98
	return so;
-
 
99
}
-
 
100
 
-
 
101
static enum a3xx_tex_type
-
 
102
tex_type(unsigned target)
-
 
103
{
-
 
104
	switch (target) {
-
 
105
	default:
-
 
106
		assert(0);
-
 
107
	case PIPE_BUFFER:
-
 
108
	case PIPE_TEXTURE_1D:
-
 
109
	case PIPE_TEXTURE_1D_ARRAY:
-
 
110
		return A3XX_TEX_1D;
-
 
111
	case PIPE_TEXTURE_RECT:
-
 
112
	case PIPE_TEXTURE_2D:
-
 
113
	case PIPE_TEXTURE_2D_ARRAY:
-
 
114
		return A3XX_TEX_2D;
-
 
115
	case PIPE_TEXTURE_3D:
-
 
116
		return A3XX_TEX_3D;
-
 
117
	case PIPE_TEXTURE_CUBE:
-
 
118
	case PIPE_TEXTURE_CUBE_ARRAY:
96
 
119
		return A3XX_TEX_CUBE;
97
	return so;
120
	}
98
}
121
}
99
 
122
 
100
static struct pipe_sampler_view *
123
static struct pipe_sampler_view *
Line 114... Line 137...
114
	so->base.context = pctx;
137
	so->base.context = pctx;
Line 115... Line 138...
115
 
138
 
Line 116... Line 139...
116
	so->tex_resource =  rsc;
139
	so->tex_resource =  rsc;
117
 
140
 
118
	so->texconst0 =
141
	so->texconst0 =
119
			0x40000000 | /* ??? */
142
			A3XX_TEX_CONST_0_TYPE(tex_type(prsc->target)) |
120
			A3XX_TEX_CONST_0_FMT(fd3_pipe2tex(cso->format)) |
143
			A3XX_TEX_CONST_0_FMT(fd3_pipe2tex(cso->format)) |
121
			fd3_tex_swiz(cso->format, cso->swizzle_r, cso->swizzle_g,
144
			fd3_tex_swiz(cso->format, cso->swizzle_r, cso->swizzle_g,
122
						cso->swizzle_b, cso->swizzle_a);
145
						cso->swizzle_b, cso->swizzle_a);