Lines Matching defs:shader
90 assert(ctx->shader[PIPE_SHADER_VERTEX]);
182 /* Otherwise, we need to grab a shader */
191 /* Upload the shader, sharing a BO */
194 PIPE_SHADER_FRAGMENT, "Blend shader");
210 struct pan_blend_shader_variant *shader =
219 assert((offset + shader->binary.size) < 4096);
220 memcpy((*bo)->ptr.cpu + offset, shader->binary.data, shader->binary.size);
221 *shader_offset += shader->binary.size;
224 return ((*bo)->ptr.gpu + offset) | shader->first_tag;
245 enum pipe_shader_type shader,
255 pipe_resource_reference(&ctx->images[shader][i].resource, NULL);
258 ctx->image_mask[shader] &= ~(((1ull << count) - 1) << start_slot);
265 SET_BIT(ctx->image_mask[shader], 1 << (start_slot + i), image->resource);
268 util_copy_image_view(&ctx->images[shader][start_slot+i], NULL);
281 util_copy_image_view(&ctx->images[shader][start_slot+i], image);
286 SET_BIT(ctx->image_mask[shader], 1 << (start_slot + count + i), NULL);
287 util_copy_image_view(&ctx->images[shader][start_slot+count+i], NULL);
325 /* Precompile for shader-db if we need to */
371 enum pipe_shader_type shader,
378 ctx->dirty_shader[shader] |= PAN_DIRTY_STAGE_SAMPLER;
380 ctx->sampler_count[shader] = sampler ? num_sampler : 0;
382 memcpy(ctx->samplers[shader], sampler, num_sampler * sizeof (void *));
390 /* We don't currently have vertex shader variants */
397 struct panfrost_shader_variants *vs = ctx->shader[MESA_SHADER_VERTEX];
433 * Fix an uncompiled shader's stream output info, and produce a bitmask
440 * compile a specific shader variant. So, we remap these and simply store
487 * creating an unbounded number of shader variants. */
525 ctx->shader[type] = hwcso;
538 /* No shader variants for compute */
543 if (type == PIPE_SHADER_FRAGMENT && !ctx->shader[PIPE_SHADER_VERTEX])
547 if (!ctx->shader[type])
552 struct panfrost_shader_variants *variants = ctx->shader[type];
617 enum pipe_shader_type shader, uint index, bool take_ownership,
621 struct panfrost_constant_buffer *pbuf = &ctx->constant_buffer[shader];
633 ctx->dirty_shader[shader] |= PAN_DIRTY_STAGE_CONST;
649 enum pipe_shader_type shader,
656 ctx->dirty_shader[shader] |= PAN_DIRTY_STAGE_TEXTURE;
669 pipe_sampler_view_reference((struct pipe_sampler_view **)&ctx->sampler_views[shader][p],
671 ctx->sampler_views[shader][i] = (struct panfrost_sampler_view *)view;
673 pipe_sampler_view_reference((struct pipe_sampler_view **)&ctx->sampler_views[shader][p],
680 pipe_sampler_view_reference((struct pipe_sampler_view **)&ctx->sampler_views[shader][p],
686 if (ctx->sampler_view_count[shader] > start_slot + num_views + unbind_num_trailing_slots)
693 if (ctx->sampler_views[shader][i])
698 ctx->sampler_view_count[shader] = new_nr;
704 enum pipe_shader_type shader,
711 util_set_shader_buffers_mask(ctx->ssbo[shader], &ctx->ssbo_mask[shader],
714 ctx->dirty_shader[shader] |= PAN_DIRTY_STAGE_SSBO;