Lines Matching defs:shader
712 enum pipe_shader_type shader,
734 ctx->samplers[shader][start_slot + i] = sampler;
735 dxil_wrap_sampler_state &wrap = ctx->tex_wrap_states[shader][start_slot + i];
744 ctx->tex_compare_func[shader][start_slot + i] = (enum compare_func)sampler->compare_func;
750 ctx->num_samplers[shader] = start_slot + num_samplers;
751 ctx->shader_dirty[shader] |= D3D12_SHADER_DIRTY_SAMPLERS;
1063 struct d3d12_shader_selector *shader)
1065 d3d12_gfx_pipeline_state_cache_invalidate_shader(ctx, stage, shader);
1067 /* Make sure the pipeline state no longer reference the deleted shader */
1068 struct d3d12_shader *iter = shader->first;
1077 d3d12_shader_free(shader);
1082 struct d3d12_shader_selector *shader)
1085 ctx->gfx_stages[stage] = shader;
1090 const struct pipe_shader_state *shader)
1092 return d3d12_create_shader(d3d12_context(pctx), PIPE_SHADER_VERTEX, shader);
1113 const struct pipe_shader_state *shader)
1115 return d3d12_create_shader(d3d12_context(pctx), PIPE_SHADER_FRAGMENT, shader);
1136 const struct pipe_shader_state *shader)
1138 return d3d12_create_shader(d3d12_context(pctx), PIPE_SHADER_GEOMETRY, shader);
1157 const struct pipe_shader_state *shader)
1159 return d3d12_create_shader(d3d12_context(pctx), PIPE_SHADER_TESS_CTRL, shader);
1178 const struct pipe_shader_state *shader)
1180 return d3d12_create_shader(d3d12_context(pctx), PIPE_SHADER_TESS_EVAL, shader);
1199 const struct pipe_compute_state *shader)
1201 return d3d12_create_compute_shader(d3d12_context(pctx), shader);
1214 struct d3d12_shader_selector *shader = (struct d3d12_shader_selector *)cs;
1215 d3d12_compute_pipeline_state_cache_invalidate_shader(ctx, shader);
1217 /* Make sure the pipeline state no longer reference the deleted shader */
1218 struct d3d12_shader *iter = shader->first;
1227 d3d12_shader_free(shader);
1374 enum pipe_shader_type shader,
1376 assert(res->bind_counts[shader][D3D12_RESOURCE_BINDING_TYPE_CBV] > 0);
1377 res->bind_counts[shader][D3D12_RESOURCE_BINDING_TYPE_CBV]--;
1382 enum pipe_shader_type shader,
1384 res->bind_counts[shader][D3D12_RESOURCE_BINDING_TYPE_CBV]++;
1389 enum pipe_shader_type shader, uint index,
1394 struct d3d12_resource *old_buf = d3d12_resource(ctx->cbufs[shader][index].buffer);
1396 d3d12_decrement_constant_buffer_bind_count(ctx, shader, old_buf);
1403 buf->user_buffer, &offset, &ctx->cbufs[shader][index].buffer);
1404 d3d12_increment_constant_buffer_bind_count(ctx, shader,
1405 d3d12_resource(ctx->cbufs[shader][index].buffer));
1409 d3d12_increment_constant_buffer_bind_count(ctx, shader, d3d12_resource(buffer));
1412 pipe_resource_reference(&ctx->cbufs[shader][index].buffer, NULL);
1413 ctx->cbufs[shader][index].buffer = buffer;
1415 pipe_resource_reference(&ctx->cbufs[shader][index].buffer, buffer);
1419 ctx->cbufs[shader][index].buffer_offset = offset;
1420 ctx->cbufs[shader][index].buffer_size = buf->buffer_size;
1421 ctx->cbufs[shader][index].user_buffer = NULL;
1424 pipe_resource_reference(&ctx->cbufs[shader][index].buffer, NULL);
1425 ctx->cbufs[shader][index].buffer_offset = 0;
1426 ctx->cbufs[shader][index].buffer_size = 0;
1427 ctx->cbufs[shader][index].user_buffer = NULL;
1429 ctx->shader_dirty[shader] |= D3D12_SHADER_DIRTY_CONSTBUF;
1605 enum pipe_shader_type shader,
1607 assert(res->bind_counts[shader][D3D12_RESOURCE_BINDING_TYPE_SSBO] > 0);
1608 res->bind_counts[shader][D3D12_RESOURCE_BINDING_TYPE_SSBO]--;
1613 enum pipe_shader_type shader,
1615 res->bind_counts[shader][D3D12_RESOURCE_BINDING_TYPE_SSBO]++;
1620 enum pipe_shader_type shader,
1627 struct pipe_shader_buffer *slot = &ctx->ssbo_views[shader][i + start_slot];
1629 d3d12_decrement_ssbo_bind_count(ctx, shader, d3d12_resource(slot->buffer));
1637 d3d12_increment_ssbo_bind_count(ctx, shader, d3d12_resource(buffers[i].buffer));
1643 ctx->num_ssbo_views[shader] = MAX2(ctx->num_ssbo_views[shader], count + start_slot);
1645 ctx->num_ssbo_views[shader] = 0;
1647 if (ctx->ssbo_views[shader][i].buffer) {
1648 ctx->num_ssbo_views[shader] = i;
1653 ctx->shader_dirty[shader] |= D3D12_SHADER_DIRTY_SSBO;
1658 enum pipe_shader_type shader,
1660 assert(res->bind_counts[shader][D3D12_RESOURCE_BINDING_TYPE_IMAGE] > 0);
1661 res->bind_counts[shader][D3D12_RESOURCE_BINDING_TYPE_IMAGE]--;
1666 enum pipe_shader_type shader,
1668 res->bind_counts[shader][D3D12_RESOURCE_BINDING_TYPE_IMAGE]++;
1708 unreachable("Unexpected shader image resource format");
1714 enum pipe_shader_type shader,
1721 struct pipe_image_view *slot = &ctx->image_views[shader][i + start_slot];
1723 d3d12_decrement_image_bind_count(ctx, shader, d3d12_resource(slot->resource));
1727 ctx->image_view_emulation_formats[shader][i] = PIPE_FORMAT_NONE;
1731 d3d12_increment_image_bind_count(ctx, shader, d3d12_resource(images[i].resource));
1737 /* Can't use D3D casting, have to use shader lowering instead */
1738 ctx->image_view_emulation_formats[shader][i] =
1746 ctx->num_image_views[shader] = MAX2(ctx->num_image_views[shader], count + start_slot);
1748 ctx->num_image_views[shader] = 0;
1750 if (ctx->image_views[shader][i].resource) {
1751 ctx->num_image_views[shader] = i;
1756 ctx->shader_dirty[shader] |= D3D12_SHADER_DIRTY_IMAGE;
1761 // For each shader type, if the resource is currently bound as CBV, SRV, or UAV
2612 * a fragment shader is first clamped to [0, 1] and then converted to
2631 * shader writes a non-implicit value to gl_FragDepth. In all other