Lines Matching refs:shaders
26 * This file contains the driver interface for compiling shaders.
29 * compiled shaders are stored.
162 struct crocus_sampler_view *texture = ice->state.shaders[stage].textures[s];
174 screen->vtbl.fill_clamp_mask(ice->state.shaders[stage].samplers[s], s, key->gl_clamp_mask);
1101 if (ice->shaders.uncompiled[MESA_SHADER_GEOMETRY])
1104 if (ice->shaders.uncompiled[MESA_SHADER_TESS_EVAL])
1277 ice->shaders.cache_bo_map,
1292 struct crocus_shader_state *shs = &ice->state.shaders[MESA_SHADER_VERTEX];
1294 ice->shaders.uncompiled[MESA_SHADER_VERTEX];
1304 struct crocus_compiled_shader *old = ice->shaders.prog[CROCUS_CACHE_VS];
1315 ice->shaders.prog[CROCUS_CACHE_VS] = shader;
1356 const struct crocus_uncompiled_shader *ish = ice->shaders.uncompiled[stage];
1504 ice->shaders.cache_bo_map,
1519 struct crocus_shader_state *shs = &ice->state.shaders[MESA_SHADER_TESS_CTRL];
1521 ice->shaders.uncompiled[MESA_SHADER_TESS_CTRL];
1543 struct crocus_compiled_shader *old = ice->shaders.prog[CROCUS_CACHE_TCS];
1554 ice->shaders.prog[CROCUS_CACHE_TCS] = shader;
1648 ice->shaders.cache_bo_map,
1663 struct crocus_shader_state *shs = &ice->state.shaders[MESA_SHADER_TESS_EVAL];
1665 ice->shaders.uncompiled[MESA_SHADER_TESS_EVAL];
1676 struct crocus_compiled_shader *old = ice->shaders.prog[CROCUS_CACHE_TES];
1687 ice->shaders.prog[CROCUS_CACHE_TES] = shader;
1698 ice->state.shaders[MESA_SHADER_TESS_EVAL].sysvals_need_upload = true;
1789 ice->shaders.cache_bo_map,
1804 struct crocus_shader_state *shs = &ice->state.shaders[MESA_SHADER_GEOMETRY];
1806 ice->shaders.uncompiled[MESA_SHADER_GEOMETRY];
1807 struct crocus_compiled_shader *old = ice->shaders.prog[CROCUS_CACHE_GS];
1831 ice->shaders.prog[CROCUS_CACHE_GS] = shader;
1921 ice->shaders.cache_bo_map,
1938 struct crocus_shader_state *shs = &ice->state.shaders[MESA_SHADER_FRAGMENT];
1940 ice->shaders.uncompiled[MESA_SHADER_FRAGMENT];
1949 key.input_slots_valid = ice->shaders.last_vue_map->slots_valid;
1951 struct crocus_compiled_shader *old = ice->shaders.prog[CROCUS_CACHE_FS];
1959 shader = crocus_compile_fs(ice, ish, &key, ice->shaders.last_vue_map);
1964 ice->shaders.prog[CROCUS_CACHE_FS] = shader;
1996 struct brw_vue_map *old_map = ice->shaders.last_vue_map;
2025 ice->shaders.last_vue_map = &vue_prog_data->vue_map;
2032 struct crocus_compiled_shader *shader = ice->shaders.prog[stage];
2037 struct crocus_shader_state *shs = &ice->state.shaders[stage];
2061 if (!ice->shaders.prog[stage])
2064 return (void *) ice->shaders.prog[stage]->prog_data;
2080 ice->shaders.last_vue_map, &program_size);
2103 struct crocus_compiled_shader *old = ice->shaders.clip_prog;
2106 const struct brw_wm_prog_data *wm_prog_data = brw_wm_prog_data(ice->shaders.prog[MESA_SHADER_FRAGMENT]->prog_data);
2115 key.attrs = ice->shaders.last_vue_map->slots_valid;
2217 ice->shaders.clip_prog = shader;
2234 ice->shaders.last_vue_map, &program_size);
2257 struct crocus_compiled_shader *old = ice->shaders.sf_prog;
2260 key.attrs = ice->shaders.last_vue_map->slots_valid;
2280 const struct brw_wm_prog_data *wm_prog_data = brw_wm_prog_data(ice->shaders.prog[MESA_SHADER_FRAGMENT]->prog_data);
2310 ice->shaders.sf_prog = shader;
2327 ice->shaders.last_vue_map, &program_size);
2360 struct crocus_compiled_shader *old = ice->shaders.ff_gs_prog;
2365 key.attrs = ice->shaders.last_vue_map->slots_valid;
2383 ice->shaders.uncompiled[MESA_SHADER_VERTEX];
2404 ice->shaders.ff_gs_prog = shader;
2406 const struct brw_ff_gs_prog_data *gs_prog_data = (struct brw_ff_gs_prog_data *)ice->shaders.ff_gs_prog->prog_data;
2419 * shaders are bound. It will also flag any dirty state triggered by
2420 * swapping out those shaders.
2437 ice->shaders.uncompiled[MESA_SHADER_TESS_EVAL];
2442 ice->shaders.prog[CROCUS_CACHE_TCS] = NULL;
2443 ice->shaders.prog[CROCUS_CACHE_TES] = NULL;
2459 ice->shaders.prog[MESA_SHADER_GEOMETRY];
2461 ice->shaders.prog[MESA_SHADER_TESS_EVAL];
2477 if (ice->shaders.output_topology_is_points_or_lines != points_or_lines) {
2479 ice->shaders.output_topology_is_points_or_lines = points_or_lines;
2484 if (!ice->shaders.prog[MESA_SHADER_VERTEX])
2488 struct crocus_compiled_shader *shader = ice->shaders.prog[last_stage];
2489 struct crocus_uncompiled_shader *ish = ice->shaders.uncompiled[last_stage];
2506 !ice->shaders.prog[MESA_SHADER_GEOMETRY])
2596 ice->shaders.cache_bo_map,
2606 struct crocus_shader_state *shs = &ice->state.shaders[MESA_SHADER_COMPUTE];
2608 ice->shaders.uncompiled[MESA_SHADER_COMPUTE];
2618 struct crocus_compiled_shader *old = ice->shaders.prog[CROCUS_CACHE_CS];
2629 ice->shaders.prog[CROCUS_CACHE_CS] = shader;
2675 struct crocus_bo **bop = &ice->shaders.scratch_bos[encoded_size][stage];
2731 * isomorphic shaders when hashing, increasing cache hits.
2954 if (ice->shaders.uncompiled[stage] == ish) {
2955 ice->shaders.uncompiled[stage] = NULL;
3026 ice->shaders.uncompiled[stage] = ish;
3078 if (!!state != !!ice->shaders.uncompiled[MESA_SHADER_TESS_EVAL])
3090 if (!!state != !!ice->shaders.uncompiled[MESA_SHADER_GEOMETRY])
3103 ice->shaders.uncompiled[MESA_SHADER_FRAGMENT];