Lines Matching defs:shader

94    struct ureg_program *shader;
105 shader = ureg_create(TGSI_PROCESSOR_VERTEX);
106 if (!shader)
111 scale = ureg_imm2f(shader,
115 vrect = ureg_DECL_vs_input(shader, VS_I_RECT);
116 vpos = ureg_DECL_vs_input(shader, VS_I_VPOS);
117 block_num = ureg_DECL_vs_input(shader, VS_I_BLOCK_NUM);
119 tmp = ureg_DECL_temporary(shader);
121 o_vpos = ureg_DECL_output(shader, TGSI_SEMANTIC_POSITION, VS_O_VPOS);
124 o_vtex[i] = ureg_DECL_output(shader, TGSI_SEMANTIC_GENERIC, VS_O_VTEX + i);
138 ureg_ADD(shader, ureg_writemask(tmp, TGSI_WRITEMASK_XY), vpos, vrect);
139 ureg_MUL(shader, ureg_writemask(o_vpos, TGSI_WRITEMASK_XY), ureg_src(tmp), scale);
140 ureg_MOV(shader, ureg_writemask(o_vpos, TGSI_WRITEMASK_ZW), ureg_imm1f(shader, 1.0f));
142 ureg_MUL(shader, ureg_writemask(tmp, TGSI_WRITEMASK_XW), ureg_scalar(block_num, TGSI_SWIZZLE_X),
143 ureg_imm1f(shader, 1.0f / zscan->blocks_per_line));
145 ureg_FRC(shader, ureg_writemask(tmp, TGSI_WRITEMASK_Y), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X));
146 ureg_FLR(shader, ureg_writemask(tmp, TGSI_WRITEMASK_W), ureg_src(tmp));
149 ureg_ADD(shader, ureg_writemask(tmp, TGSI_WRITEMASK_X), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_Y),
150 ureg_imm1f(shader, 1.0f / (zscan->blocks_per_line * VL_BLOCK_WIDTH)
153 ureg_MAD(shader, ureg_writemask(o_vtex[i], TGSI_WRITEMASK_X), vrect,
154 ureg_imm1f(shader, 1.0f / zscan->blocks_per_line), ureg_src(tmp));
155 ureg_MOV(shader, ureg_writemask(o_vtex[i], TGSI_WRITEMASK_Y), vrect);
156 ureg_MOV(shader, ureg_writemask(o_vtex[i], TGSI_WRITEMASK_Z), vpos);
157 ureg_MUL(shader, ureg_writemask(o_vtex[i], TGSI_WRITEMASK_W), ureg_src(tmp),
158 ureg_imm1f(shader, (float)zscan->blocks_per_line / zscan->blocks_total));
161 ureg_release_temporary(shader, tmp);
162 ureg_END(shader);
166 return ureg_create_shader_and_destroy(shader, zscan->pipe);
172 struct ureg_program *shader;
182 shader = ureg_create(TGSI_PROCESSOR_FRAGMENT);
183 if (!shader)
190 vtex[i] = ureg_DECL_fs_input(shader, TGSI_SEMANTIC_GENERIC, VS_O_VTEX + i, TGSI_INTERPOLATE_LINEAR);
192 samp_src = ureg_DECL_sampler(shader, 0);
193 samp_scan = ureg_DECL_sampler(shader, 1);
194 samp_quant = ureg_DECL_sampler(shader, 2);
197 tmp[i] = ureg_DECL_temporary(shader);
198 quant = ureg_DECL_temporary(shader);
200 fragment = ureg_DECL_output(shader, TGSI_SEMANTIC_COLOR, 0);
208 ureg_TEX(shader, ureg_writemask(tmp[i], TGSI_WRITEMASK_X), TGSI_TEXTURE_2D, vtex[i], samp_scan);
211 ureg_MOV(shader, ureg_writemask(tmp[i], TGSI_WRITEMASK_Y), ureg_scalar(vtex[i], TGSI_SWIZZLE_W));
214 ureg_TEX(shader, ureg_writemask(tmp[0], TGSI_WRITEMASK_X << i), TGSI_TEXTURE_2D, ureg_src(tmp[i]), samp_src);
215 ureg_TEX(shader, ureg_writemask(quant, TGSI_WRITEMASK_X << i), TGSI_TEXTURE_3D, vtex[i], samp_quant);
218 ureg_MUL(shader, quant, ureg_src(quant), ureg_imm1f(shader, 16.0f));
219 ureg_MUL(shader, fragment, ureg_src(tmp[0]), ureg_src(quant));
222 ureg_release_temporary(shader, tmp[i]);
223 ureg_END(shader);
228 return ureg_create_shader_and_destroy(shader, zscan->pipe);