Lines Matching refs:shaders

26  * This file contains the driver interface for compiling shaders.
29 * compiled shaders are stored.
1170 unsigned last_allocated_size = ice->shaders.urb.size[stage];
1179 (ice->shaders.urb.constrained && last_allocated_size > needed_size)) {
1192 if (ice->shaders.uncompiled[MESA_SHADER_GEOMETRY])
1195 if (ice->shaders.uncompiled[MESA_SHADER_TESS_EVAL])
1238 * concurrently appending shaders to it, so we need to lock here.
1399 struct iris_shader_state *shs = &ice->state.shaders[MESA_SHADER_VERTEX];
1400 struct u_upload_mgr *uploader = ice->shaders.uploader_driver;
1402 ice->shaders.uncompiled[MESA_SHADER_VERTEX];
1407 struct iris_compiled_shader *old = ice->shaders.prog[IRIS_CACHE_VS];
1421 iris_shader_variant_reference(&ice->shaders.prog[MESA_SHADER_VERTEX],
1441 const struct iris_uncompiled_shader *ish = ice->shaders.uncompiled[stage];
1600 struct iris_shader_state *shs = &ice->state.shaders[MESA_SHADER_TESS_CTRL];
1602 ice->shaders.uncompiled[MESA_SHADER_TESS_CTRL];
1604 struct u_upload_mgr *uploader = ice->shaders.uploader_driver;
1623 struct iris_compiled_shader *old = ice->shaders.prog[IRIS_CACHE_TCS];
1636 shader = iris_create_shader_variant(screen, ice->shaders.cache,
1650 iris_compile_tcs(screen, ice->shaders.cache, uploader, &ice->dbg, tcs,
1658 iris_shader_variant_reference(&ice->shaders.prog[MESA_SHADER_TESS_CTRL],
1767 struct u_upload_mgr *uploader = ice->shaders.uploader_driver;
1768 struct iris_shader_state *shs = &ice->state.shaders[MESA_SHADER_TESS_EVAL];
1770 ice->shaders.uncompiled[MESA_SHADER_TESS_EVAL];
1776 struct iris_compiled_shader *old = ice->shaders.prog[IRIS_CACHE_TES];
1790 iris_shader_variant_reference(&ice->shaders.prog[MESA_SHADER_TESS_EVAL],
1806 ice->state.shaders[MESA_SHADER_TESS_EVAL].sysvals_need_upload = true;
1904 struct iris_shader_state *shs = &ice->state.shaders[MESA_SHADER_GEOMETRY];
1905 struct u_upload_mgr *uploader = ice->shaders.uploader_driver;
1907 ice->shaders.uncompiled[MESA_SHADER_GEOMETRY];
1908 struct iris_compiled_shader *old = ice->shaders.prog[IRIS_CACHE_GS];
1931 iris_shader_variant_reference(&ice->shaders.prog[MESA_SHADER_GEOMETRY],
2040 struct iris_shader_state *shs = &ice->state.shaders[MESA_SHADER_FRAGMENT];
2041 struct u_upload_mgr *uploader = ice->shaders.uploader_driver;
2043 ice->shaders.uncompiled[MESA_SHADER_FRAGMENT];
2049 &brw_vue_prog_data(ice->shaders.last_vue_shader->prog_data)->vue_map;
2054 struct iris_compiled_shader *old = ice->shaders.prog[IRIS_CACHE_FS];
2071 iris_shader_variant_reference(&ice->shaders.prog[MESA_SHADER_FRAGMENT],
2095 struct brw_vue_map *old_map = !ice->shaders.last_vue_shader ? NULL :
2096 &brw_vue_prog_data(ice->shaders.last_vue_shader->prog_data)->vue_map;
2115 iris_shader_variant_reference(&ice->shaders.last_vue_shader, shader);
2122 struct iris_compiled_shader *shader = ice->shaders.prog[stage];
2127 struct iris_shader_state *shs = &ice->state.shaders[stage];
2152 * shaders are bound. It will also flag any dirty state triggered by
2153 * swapping out those shaders.
2163 ice->shaders.uncompiled[MESA_SHADER_TESS_EVAL];
2168 iris_shader_variant_reference(&ice->shaders.prog[MESA_SHADER_TESS_CTRL], NULL);
2169 iris_shader_variant_reference(&ice->shaders.prog[MESA_SHADER_TESS_EVAL], NULL);
2175 if (ice->shaders.urb.constrained)
2188 ice->shaders.prog[MESA_SHADER_GEOMETRY];
2190 ice->shaders.prog[MESA_SHADER_TESS_EVAL];
2206 if (ice->shaders.output_topology_is_points_or_lines != points_or_lines) {
2208 ice->shaders.output_topology_is_points_or_lines = points_or_lines;
2214 struct iris_compiled_shader *shader = ice->shaders.prog[last_stage];
2215 struct iris_uncompiled_shader *ish = ice->shaders.uncompiled[last_stage];
2308 struct iris_shader_state *shs = &ice->state.shaders[MESA_SHADER_COMPUTE];
2309 struct u_upload_mgr *uploader = ice->shaders.uploader_driver;
2311 ice->shaders.uncompiled[MESA_SHADER_COMPUTE];
2316 struct iris_compiled_shader *old = ice->shaders.prog[IRIS_CACHE_CS];
2331 iris_shader_variant_reference(&ice->shaders.prog[MESA_SHADER_COMPUTE],
2376 assert(encoded_size < ARRAY_SIZE(ice->shaders.scratch_bos));
2387 struct iris_bo **bop = &ice->shaders.scratch_bos[encoded_size][stage];
2409 assert(encoded_size < ARRAY_SIZE(ice->shaders.scratch_surfs));
2412 struct iris_state_ref *ref = &ice->shaders.scratch_surfs[encoded_size];
2473 * isomorphic shaders when hashing, increasing cache hits.
2491 struct u_upload_mgr *uploader = ice->shaders.uploader_unsync;
2514 * shaders and kernels. We also tend to hard-code COMPUTE everywhere so
2697 struct u_upload_mgr *uploader = ice->shaders.uploader_unsync;
2766 if (ice->shaders.uncompiled[stage] == ish) {
2767 ice->shaders.uncompiled[stage] = NULL;
2797 ice->shaders.uncompiled[stage] = ish;
2869 if (!!state != !!ice->shaders.uncompiled[MESA_SHADER_TESS_EVAL])
2882 if (!!state != !!ice->shaders.uncompiled[MESA_SHADER_GEOMETRY])
2895 ice->shaders.uncompiled[MESA_SHADER_FRAGMENT];