Lines Matching full:shader
989 /* Create fragment shader state. */
991 const struct pipe_shader_state* shader)
997 /* Copy state directly into shader. */
998 fs->state = *shader;
999 fs->state.tokens = tgsi_dup_tokens(shader->tokens);
1011 r300->fs.size = fs->shader->cb_code_size;
1014 r300->fs_rc_constant_state.size = fs->shader->rc_state_count * 7;
1015 r300->fs_constants.size = fs->shader->externals_count * 4 + 3;
1017 r300->fs_rc_constant_state.size = fs->shader->rc_state_count * 5;
1018 r300->fs_constants.size = fs->shader->externals_count * 4 + 1;
1022 fs->shader->code.constants_remap_table;
1025 /* Bind fragment shader state. */
1026 static void r300_bind_fs_state(struct pipe_context* pipe, void* shader)
1029 struct r300_fragment_shader* fs = (struct r300_fragment_shader*)shader;
1042 /* Delete fragment shader state. */
1043 static void r300_delete_fs_state(struct pipe_context* pipe, void* shader)
1045 struct r300_fragment_shader* fs = (struct r300_fragment_shader*)shader;
1056 FREE(shader);
1486 /* Set the texrect factor in the fragment shader.
1641 if (r300->fs.state && r300_fs(r300)->shader &&
1642 r300_fs(r300)->shader->inputs.wpos != ATTR_UNUSED) {
1833 const struct pipe_shader_state* shader)
1838 /* Copy state directly into shader. */
1839 vs->state = *shader;
1840 vs->state.tokens = tgsi_dup_tokens(shader->tokens);
1852 static void r300_bind_vs_state(struct pipe_context* pipe, void* shader)
1855 struct r300_vertex_shader* vs = (struct r300_vertex_shader*)shader;
1866 /* The majority of the RS block bits is dependent on the vertex shader. */
1891 static void r300_delete_vs_state(struct pipe_context* pipe, void* shader)
1894 struct r300_vertex_shader* vs = (struct r300_vertex_shader*)shader;
1906 FREE(shader);
1910 uint shader, uint index,
1920 switch (shader) {
1943 if (shader == PIPE_SHADER_FRAGMENT ||
1944 (shader == PIPE_SHADER_VERTEX && r300->screen->caps.has_tcl)) {
1948 if (shader == PIPE_SHADER_VERTEX) {
1970 } else if (shader == PIPE_SHADER_FRAGMENT) {