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); |