Lines Matching defs:shader
450 * command stream or shader will issue Cache Flush operation or
917 struct crocus_compiled_shader *shader = ice->shaders.prog[stage];
918 struct brw_stage_prog_data *prog_data = (void *) shader->prog_data;
930 &shader->bt, CROCUS_SURFACE_GROUP_UBO, range->block);
977 /* fragment shader constants */
1008 /* vertex shader constants */
1550 struct crocus_compiled_shader *shader = ice->shaders.prog[MESA_SHADER_FRAGMENT];
1551 struct brw_wm_prog_data *wm_prog_data = (void *) shader->prog_data;
1567 * when a dual src blend shader is in use. Setup dummy blending.
1569 struct crocus_compiled_shader *shader = ice->shaders.prog[MESA_SHADER_FRAGMENT];
1570 struct brw_wm_prog_data *wm_prog_data = (void *) shader->prog_data;
1634 * setting it when dual color blending without an appropriate shader.
2738 /* swizzling handled in shader code */
2779 * 8 or 16-bit formats, and emit shader instructions to recover
3534 struct crocus_compiled_shader *shader = ice->shaders.prog[stage];
3535 if (!shader || shader->num_system_values == 0)
3538 assert(shader->num_cbufs > 0);
3540 unsigned sysval_cbuf_index = shader->num_cbufs - 1;
3542 unsigned upload_size = shader->num_system_values * sizeof(uint32_t);
3549 for (int i = 0; i < shader->num_system_values; i++) {
3550 uint32_t sysval = shader->system_values[i];
4266 * 3DSTATE_SO_DECL_LIST is a list of shader outputs we want the streamout
4267 * hardware to record. We can create it entirely based on the shader, with
4270 * 3DSTATE_STREAMOUT is an annoying mix of shader-based information and
4271 * state-based settings. We capture the shader-related ones here, and merge
4496 * shader did not write to it. This means that either:
4503 * (b) This attribute is read by the fragment shader but not written by
4504 * the vertex shader, so its value is undefined. Therefore the
4508 * previous shader stage.
4868 #define KSP(ice, shader) ro_bo((ice)->shaders.cache_bo, (shader)->offset);
4871 KSP(const struct crocus_context *ice, const struct crocus_compiled_shader *shader)
4873 return shader->offset;
4885 pkt.KernelStartPointer = KSP(ice, shader); \
4886 pkt.BindingTableEntryCount = shader->bt.size_bytes / 4; \
5322 * entirely; we'll have to rely on the geometry shader to detect
5375 struct crocus_compiled_shader *shader = ff_gs ? ice->shaders.ff_gs_prog : ice->shaders.prog[stage];
5377 if (!shader)
5380 struct crocus_binding_table *bt = &shader->bt;
5382 uint32_t *surf_offsets = shader->surf_offset;
5398 struct crocus_compiled_shader *shader = ice->shaders.prog[MESA_SHADER_FRAGMENT];
5399 struct brw_wm_prog_data *wm_prog_data = (void *) shader->prog_data;
5654 struct crocus_compiled_shader *shader = ice->shaders.prog[stage];
5655 struct brw_stage_prog_data *prog_data = (void *) shader->prog_data;
5673 &shader->bt, CROCUS_SURFACE_GROUP_UBO, range->block);
5718 struct crocus_compiled_shader *shader = ice->shaders.prog[stage];
5719 struct brw_stage_prog_data *prog_data = shader ? (void *) shader->prog_data : NULL;
6280 struct crocus_compiled_shader *shader = ice->shaders.prog[stage];
6282 if (!shader)
6433 struct crocus_compiled_shader *shader = ice->shaders.prog[MESA_SHADER_FRAGMENT];
6434 if ((stage_dirty & CROCUS_STAGE_DIRTY_FS) && shader) {
6435 struct brw_stage_prog_data *prog_data = shader->prog_data;
6436 struct brw_wm_prog_data *wm_prog_data = (void *) shader->prog_data;
6457 ps.KernelStartPointer0 = KSP(ice, shader) +
6459 ps.KernelStartPointer1 = KSP(ice, shader) +
6461 ps.KernelStartPointer2 = KSP(ice, shader) +
6468 ps.BindingTableEntryCount = shader->bt.size_bytes / 4;
6525 * gives us with the "Accesses UAV" bit set for at least one shader stage
6530 * a shader invocation is expected to see the memory writes performed by
6540 * determine whether the hardware skips execution of the fragment shader
6746 struct crocus_compiled_shader *shader = ice->shaders.prog[MESA_SHADER_VERTEX];
6747 const struct brw_vue_prog_data *vue_prog_data = brw_vue_prog_data(shader->prog_data);
6818 struct crocus_compiled_shader *shader = ice->shaders.prog[MESA_SHADER_GEOMETRY];
6819 bool active = GFX_VER >= 6 && shader;
6822 if (shader)
6854 const struct brw_gs_prog_data *gs_prog_data = brw_gs_prog_data(shader->prog_data);
6855 const struct brw_vue_prog_data *vue_prog_data = brw_vue_prog_data(shader->prog_data);
6877 * strip to be delivered to the geometry shader in an order that does
6880 * the geometry shader sees triangles:
6993 struct crocus_compiled_shader *shader = ice->shaders.prog[MESA_SHADER_TESS_CTRL];
6995 if (shader) {
6996 const struct brw_tcs_prog_data *tcs_prog_data = brw_tcs_prog_data(shader->prog_data);
6997 const struct brw_vue_prog_data *vue_prog_data = brw_vue_prog_data(shader->prog_data);
7013 struct crocus_compiled_shader *shader = ice->shaders.prog[MESA_SHADER_TESS_EVAL];
7014 if (shader) {
7015 const struct brw_tes_prog_data *tes_prog_data = brw_tes_prog_data(shader->prog_data);
7016 const struct brw_vue_prog_data *vue_prog_data = brw_vue_prog_data(shader->prog_data);
7175 /* On gen4, we only have one shader kernel */
7374 struct crocus_compiled_shader *shader = ice->shaders.prog[MESA_SHADER_FRAGMENT];
7377 struct brw_wm_prog_data *wm_prog_data = (void *) shader->prog_data;
8054 struct crocus_compiled_shader *shader =
8056 struct brw_stage_prog_data *prog_data = shader->prog_data;
8163 const uint64_t ksp = KSP(ice,shader) + brw_cs_prog_data_prog_offset(cs_prog_data, dispatch.simd_size);
8168 idd.BindingTableEntryCount = MIN2(shader->bt.size_bytes / 4, 31);