Lines Matching refs:shader

58    struct ureg_program *shader;
64 shader = ureg_create(TGSI_PROCESSOR_VERTEX);
65 if (!shader)
68 vpos = ureg_DECL_vs_input(shader, 0);
69 vtex = ureg_DECL_vs_input(shader, 1);
70 color = ureg_DECL_vs_input(shader, 2);
71 tmp = ureg_DECL_temporary(shader);
72 o_vpos = ureg_DECL_output(shader, TGSI_SEMANTIC_POSITION, VS_O_VPOS);
73 o_color = ureg_DECL_output(shader, TGSI_SEMANTIC_COLOR, VS_O_COLOR);
74 o_vtex = ureg_DECL_output(shader, TGSI_SEMANTIC_GENERIC, VS_O_VTEX);
75 o_vtop = ureg_DECL_output(shader, TGSI_SEMANTIC_GENERIC, VS_O_VTOP);
76 o_vbottom = ureg_DECL_output(shader, TGSI_SEMANTIC_GENERIC, VS_O_VBOTTOM);
83 ureg_MOV(shader, o_vpos, vpos);
84 ureg_MOV(shader, o_vtex, vtex);
85 ureg_MOV(shader, o_color, color);
101 ureg_MUL(shader, ureg_writemask(tmp, TGSI_WRITEMASK_X),
102 ureg_scalar(vtex, TGSI_SWIZZLE_W), ureg_imm1f(shader, 0.5f));
103 ureg_MUL(shader, ureg_writemask(tmp, TGSI_WRITEMASK_Y),
104 ureg_scalar(vtex, TGSI_SWIZZLE_W), ureg_imm1f(shader, 0.25f));
106 ureg_MOV(shader, ureg_writemask(o_vtop, TGSI_WRITEMASK_X), vtex);
107 ureg_MAD(shader, ureg_writemask(o_vtop, TGSI_WRITEMASK_Y), ureg_scalar(vtex, TGSI_SWIZZLE_Y),
108 ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X), ureg_imm1f(shader, 0.25f));
109 ureg_MAD(shader, ureg_writemask(o_vtop, TGSI_WRITEMASK_Z), ureg_scalar(vtex, TGSI_SWIZZLE_Y),
110 ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_Y), ureg_imm1f(shader, 0.25f));
111 ureg_RCP(shader, ureg_writemask(o_vtop, TGSI_WRITEMASK_W),
114 ureg_MOV(shader, ureg_writemask(o_vbottom, TGSI_WRITEMASK_X), vtex);
115 ureg_MAD(shader, ureg_writemask(o_vbottom, TGSI_WRITEMASK_Y), ureg_scalar(vtex, TGSI_SWIZZLE_Y),
116 ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X), ureg_imm1f(shader, -0.25f));
117 ureg_MAD(shader, ureg_writemask(o_vbottom, TGSI_WRITEMASK_Z), ureg_scalar(vtex, TGSI_SWIZZLE_Y),
118 ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_Y), ureg_imm1f(shader, -0.25f));
119 ureg_RCP(shader, ureg_writemask(o_vbottom, TGSI_WRITEMASK_W),
122 ureg_END(shader);
124 return ureg_create_shader_and_destroy(shader, c->pipe);
130 struct ureg_program *shader;
138 shader = ureg_create(TGSI_PROCESSOR_FRAGMENT);
139 if (!shader)
142 tc = ureg_DECL_fs_input(shader, TGSI_SEMANTIC_GENERIC, VS_O_VTEX, TGSI_INTERPOLATE_LINEAR);
144 csc[i] = ureg_DECL_constant(shader, i);
145 sampler[i] = ureg_DECL_sampler(shader, i);
147 texel = ureg_DECL_temporary(shader);
148 fragment = ureg_DECL_output(shader, TGSI_SEMANTIC_COLOR, 0);
155 ureg_TEX(shader, ureg_writemask(texel, TGSI_WRITEMASK_X << i), TGSI_TEXTURE_3D, tc, sampler[i]);
157 ureg_MOV(shader, ureg_writemask(texel, TGSI_WRITEMASK_W), ureg_imm1f(shader, 1.0f));
160 ureg_DP4(shader, ureg_writemask(fragment, TGSI_WRITEMASK_X << i), csc[i], ureg_src(texel));
162 ureg_MOV(shader, ureg_writemask(fragment, TGSI_WRITEMASK_W), ureg_imm1f(shader, 1.0f));
164 ureg_release_temporary(shader, texel);
165 ureg_END(shader);
167 return ureg_create_shader_and_destroy(shader, c->pipe);
173 struct ureg_program *shader;
182 shader = ureg_create(TGSI_PROCESSOR_FRAGMENT);
183 if (!shader)
186 i_tc[0] = ureg_DECL_fs_input(shader, TGSI_SEMANTIC_GENERIC, VS_O_VTOP, TGSI_INTERPOLATE_LINEAR);
187 i_tc[1] = ureg_DECL_fs_input(shader, TGSI_SEMANTIC_GENERIC, VS_O_VBOTTOM, TGSI_INTERPOLATE_LINEAR);
190 csc[i] = ureg_DECL_constant(shader, i);
191 sampler[i] = ureg_DECL_sampler(shader, i);
195 t_tc[i] = ureg_DECL_temporary(shader);
196 t_texel[i] = ureg_DECL_temporary(shader);
198 o_fragment = ureg_DECL_output(shader, TGSI_SEMANTIC_COLOR, 0);
205 ureg_MOV(shader, ureg_writemask(t_tc[i], TGSI_WRITEMASK_X), i_tc[i]);
206 ureg_ROUND(shader, ureg_writemask(t_tc[i], TGSI_WRITEMASK_YZ), i_tc[i]);
207 ureg_MOV(shader, ureg_writemask(t_tc[i], TGSI_WRITEMASK_W),
208 ureg_imm1f(shader, i ? 0.75f : 0.25f));
209 ureg_ADD(shader, ureg_writemask(t_tc[i], TGSI_WRITEMASK_YZ),
210 ureg_src(t_tc[i]), ureg_imm1f(shader, 0.5f));
211 ureg_MUL(shader, ureg_writemask(t_tc[i], TGSI_WRITEMASK_Y),
213 ureg_MUL(shader, ureg_writemask(t_tc[i], TGSI_WRITEMASK_Z),
227 ureg_TEX(shader, ureg_writemask(t_texel[i], TGSI_WRITEMASK_X << j),
234 ureg_ROUND(shader, ureg_writemask(t_tc[0], TGSI_WRITEMASK_YZ), i_tc[0]);
235 ureg_ADD(shader, ureg_writemask(t_tc[0], TGSI_WRITEMASK_YZ),
237 ureg_MUL(shader, ureg_writemask(t_tc[0], TGSI_WRITEMASK_XY),
238 ureg_abs(ureg_src(t_tc[0])), ureg_imm1f(shader, 2.0f));
239 ureg_LRP(shader, t_texel[0], ureg_swizzle(ureg_src(t_tc[0]),
246 ureg_MOV(shader, ureg_writemask(t_texel[0], TGSI_WRITEMASK_W), ureg_imm1f(shader, 1.0f));
248 ureg_DP4(shader, ureg_writemask(o_fragment, TGSI_WRITEMASK_X << i), csc[i], ureg_src(t_texel[0]));
250 ureg_MOV(shader, ureg_writemask(o_fragment, TGSI_WRITEMASK_W), ureg_imm1f(shader, 1.0f));
253 ureg_release_temporary(shader, t_texel[i]);
254 ureg_release_temporary(shader, t_tc[i]);
257 ureg_END(shader);
259 return ureg_create_shader_and_destroy(shader, c->pipe);
265 struct ureg_program *shader;
274 shader = ureg_create(TGSI_PROCESSOR_FRAGMENT);
275 if (!shader)
279 csc[i] = ureg_DECL_constant(shader, i);
281 tc = ureg_DECL_fs_input(shader, TGSI_SEMANTIC_GENERIC, VS_O_VTEX, TGSI_INTERPOLATE_LINEAR);
282 sampler = ureg_DECL_sampler(shader, 0);
283 palette = ureg_DECL_sampler(shader, 1);
285 texel = ureg_DECL_temporary(shader);
286 fragment = ureg_DECL_output(shader, TGSI_SEMANTIC_COLOR, 0);
293 ureg_TEX(shader, texel, TGSI_TEXTURE_2D, tc, sampler);
294 ureg_MOV(shader, ureg_writemask(fragment, TGSI_WRITEMASK_W), ureg_src(texel));
297 ureg_TEX(shader, texel, TGSI_TEXTURE_1D, ureg_src(texel), palette);
299 ureg_DP4(shader, ureg_writemask(fragment, TGSI_WRITEMASK_X << i), csc[i], ureg_src(texel));
301 ureg_TEX(shader, ureg_writemask(fragment, TGSI_WRITEMASK_XYZ),
305 ureg_release_temporary(shader, texel);
306 ureg_END(shader);
308 return ureg_create_shader_and_destroy(shader, c->pipe);
314 struct ureg_program *shader;
318 shader = ureg_create(TGSI_PROCESSOR_FRAGMENT);
319 if (!shader)
322 tc = ureg_DECL_fs_input(shader, TGSI_SEMANTIC_GENERIC, VS_O_VTEX, TGSI_INTERPOLATE_LINEAR);
323 color = ureg_DECL_fs_input(shader, TGSI_SEMANTIC_COLOR, VS_O_COLOR, TGSI_INTERPOLATE_LINEAR);
324 sampler = ureg_DECL_sampler(shader, 0);
325 texel = ureg_DECL_temporary(shader);
326 fragment = ureg_DECL_output(shader, TGSI_SEMANTIC_COLOR, 0);
331 ureg_TEX(shader, texel, TGSI_TEXTURE_2D, tc, sampler);
332 ureg_MUL(shader, fragment, ureg_src(texel), color);
333 ureg_END(shader);
335 return ureg_create_shader_and_destroy(shader, c->pipe);
345 debug_printf("Unable to create vertex shader.\n");
351 debug_printf("Unable to create YCbCr-to-RGB fragment shader.\n");
357 debug_printf("Unable to create YCbCr-to-RGB weave fragment shader.\n");
363 debug_printf("Unable to create YUV-Palette-to-RGB fragment shader.\n");
369 debug_printf("Unable to create RGB-Palette-to-RGB fragment shader.\n");
375 debug_printf("Unable to create RGB-to-RGB fragment shader.\n");
1065 * Create our fragment shader's constant buffer