Home | History | Annotate | Download | only in r600

Lines Matching full:shader

123 	struct r600_pipe_compute *shader = CALLOC_STRUCT(r600_pipe_compute);
136 shader->ctx = (struct r600_context*)ctx;
137 shader->resources = (struct evergreen_compute_resource*)
140 shader->local_size = cso->req_local_mem; ///TODO: assert it
141 shader->private_size = cso->req_private_mem;
142 shader->input_size = cso->req_input_mem;
145 shader->mod = llvm_parse_bitcode(code, header->num_bytes);
147 r600_compute_shader_create(ctx_, shader->mod, &shader->bc);
149 shader->shader_code_bo = r600_compute_buffer_alloc_vram(ctx->screen,
150 shader->bc.ndw * 4);
152 p = ctx->ws->buffer_map(shader->shader_code_bo->cs_buf, ctx->cs,
155 memcpy(p, shader->bc.bytecode, shader->bc.ndw * 4);
156 ctx->ws->buffer_unmap(shader->shader_code_bo->cs_buf);
157 return shader;
162 struct r600_pipe_compute *shader = (struct r600_pipe_compute *)state;
164 free(shader->resources);
165 free(shader);
174 ctx->cs_shader_state.shader = (struct r600_pipe_compute *)state;
195 struct r600_pipe_compute *shader = ctx->cs_shader_state.shader;
203 if (shader->input_size == 0) {
207 if (!shader->kernel_param) {
208 unsigned buffer_size = shader->input_size;
212 shader->kernel_param = r600_compute_buffer_alloc_vram(
217 shader->kernel_param->cs_buf, ctx->cs, PIPE_TRANSFER_WRITE);
234 memcpy(kernel_parameters_start, input, shader->input_size);
237 (shader->input_size / 4); i++) {
242 ctx->ws->buffer_unmap(shader->kernel_param->cs_buf);
246 (struct pipe_resource*)shader->kernel_param);
248 evergreen_set_const_cache(shader, 0, shader->kernel_param,
249 shader->input_size, 0);
326 ctx->cs_shader_state.shader->resources;
348 /* Emit compute shader state */
409 COMPUTE_DBG("shader started\n");
430 struct r600_pipe_compute *shader = state->shader;
434 va = r600_resource_va(&rctx->screen->screen, &shader->shader_code_bo->b.b);
439 S_0288D4_NUM_GPRS(shader->bc.ngpr)
440 | S_0288D4_STACK_SIZE(shader->bc.nstack));
444 r600_write_value(cs, r600_context_bo_reloc(rctx, shader->shader_code_bo,
484 evergreen_set_rat(ctx->cs_shader_state.shader, i+1,
510 shader, resource[i], i+2);
528 ctx->cs_shader_state.shader, samplers[i], i);
561 evergreen_set_rat(ctx->cs_shader_state.shader, 0, pool->bo, 0, pool->size_in_dw * 4);
571 * packet requires that the shader type bit be set, we must initialize all
718 * to have the loop counter in your shader code. We don't currently use
720 * shader and use a break instruction to exit loops. However, the