Lines Matching defs:shader

1035 /* Create fragment shader state. */
1037 const struct pipe_shader_state* shader)
1044 /* Copy state directly into shader. */
1045 fs->state = *shader;
1049 NIR_PASS_V(shader->ir.nir, r300_transform_fs_trig_input);
1050 fs->state.tokens = nir_to_tgsi(shader->ir.nir, pipe->screen);
1057 /* Precompile the fragment shader at creation time to avoid jank at runtime.
1084 r300->fs.size = fs->shader->cb_code_size;
1087 r300->fs_rc_constant_state.size = fs->shader->rc_state_count * 7;
1088 r300->fs_constants.size = fs->shader->externals_count * 4 + 3;
1090 r300->fs_rc_constant_state.size = fs->shader->rc_state_count * 5;
1091 r300->fs_constants.size = fs->shader->externals_count * 4 + 1;
1095 fs->shader->code.constants_remap_table;
1098 /* Bind fragment shader state. */
1099 static void r300_bind_fs_state(struct pipe_context* pipe, void* shader)
1102 struct r300_fragment_shader* fs = (struct r300_fragment_shader*)shader;
1115 /* Delete fragment shader state. */
1116 static void r300_delete_fs_state(struct pipe_context* pipe, void* shader)
1118 struct r300_fragment_shader* fs = (struct r300_fragment_shader*)shader;
1129 FREE(shader);
1495 enum pipe_shader_type shader,
1506 if (shader != PIPE_SHADER_FRAGMENT)
1549 enum pipe_shader_type shader,
1565 if (shader != PIPE_SHADER_FRAGMENT || count > tex_units) {
1599 /* Set the texrect factor in the fragment shader.
1768 if (r300->fs.state && r300_fs(r300)->shader &&
1769 r300_fs(r300)->shader->inputs.wpos != ATTR_UNUSED) {
1940 const struct pipe_shader_state* shader)
1945 /* Copy state directly into shader. */
1946 vs->state = *shader;
1961 NIR_PASS_V(shader->ir.nir, r300_transform_vs_trig_input);
1968 vs->state.tokens = nir_to_tgsi_options(shader->ir.nir, pipe->screen,
1977 vs->first = vs->shader = CALLOC_STRUCT(r300_vertex_shader_code);
1987 static void r300_bind_vs_state(struct pipe_context* pipe, void* shader)
1990 struct r300_vertex_shader* vs = (struct r300_vertex_shader*)shader;
2001 /* The majority of the RS block bits is dependent on the vertex shader. */
2007 r300->vs_state.size = vs->shader->code.length + 9 +
2013 (vs->shader->externals_count ? vs->shader->externals_count * 4 + 3 : 0) +
2014 (vs->shader->immediates_count ? vs->shader->immediates_count * 4 + 3 : 0);
2017 vs->shader->code.constants_remap_table;
2026 static void r300_delete_vs_state(struct pipe_context* pipe, void* shader)
2029 struct r300_vertex_shader* vs = (struct r300_vertex_shader*)shader;
2032 while (vs->shader) {
2033 rc_constants_destroy(&vs->shader->code.constants);
2034 FREE(vs->shader->code.constants_remap_table);
2035 vs->shader = vs->shader->next;
2037 vs->first = vs->shader;
2045 FREE(shader);
2049 enum pipe_shader_type shader, uint index,
2060 switch (shader) {
2083 if (shader == PIPE_SHADER_FRAGMENT ||
2084 (shader == PIPE_SHADER_VERTEX && r300->screen->caps.has_tcl)) {
2088 if (shader == PIPE_SHADER_VERTEX) {
2098 r300->vs_const_base += vs->shader->code.constants.Count;
2100 r300->vs_const_base = vs->shader->code.constants.Count;
2109 } else if (shader == PIPE_SHADER_FRAGMENT) {