|
1063 | 1063 | id<MTLRenderCommandEncoder> __unsafe_unretained enc = p_state.encoder; |
1064 | 1064 | id<MTLDevice> __unsafe_unretained device = enc.device; |
1065 | 1065 |
|
1066 | | - BoundUniformSet &bus = bound_uniform_set(p_shader, device, p_state.resource_usage); |
| 1066 | + BoundUniformSet &bus = bound_uniform_set(p_shader, device, p_state.resource_usage, p_set_index); |
1067 | 1067 |
|
1068 | 1068 | // Set the buffer for the vertex stage. |
1069 | 1069 | { |
|
1275 | 1275 | id<MTLComputeCommandEncoder> enc = p_state.encoder; |
1276 | 1276 | id<MTLDevice> device = enc.device; |
1277 | 1277 |
|
1278 | | - BoundUniformSet &bus = bound_uniform_set(p_shader, device, p_state.resource_usage); |
| 1278 | + BoundUniformSet &bus = bound_uniform_set(p_shader, device, p_state.resource_usage, p_set_index); |
1279 | 1279 |
|
1280 | 1280 | uint32_t const *offset = set_info.offsets.getptr(RDD::SHADER_STAGE_COMPUTE); |
1281 | 1281 | if (offset) { |
|
1417 | 1417 | } |
1418 | 1418 | } |
1419 | 1419 |
|
1420 | | -BoundUniformSet &MDUniformSet::bound_uniform_set(MDShader *p_shader, id<MTLDevice> p_device, ResourceUsageMap &p_resource_usage) { |
| 1420 | +BoundUniformSet &MDUniformSet::bound_uniform_set(MDShader *p_shader, id<MTLDevice> p_device, ResourceUsageMap &p_resource_usage, uint32_t p_set_index) { |
1421 | 1421 | BoundUniformSet *sus = bound_uniforms.getptr(p_shader); |
1422 | 1422 | if (sus != nullptr) { |
1423 | 1423 | sus->merge_into(p_resource_usage); |
1424 | 1424 | return *sus; |
1425 | 1425 | } |
1426 | 1426 |
|
1427 | | - UniformSet const &set = p_shader->sets[index]; |
| 1427 | + UniformSet const &set = p_shader->sets[p_set_index]; |
1428 | 1428 |
|
1429 | 1429 | HashMap<id<MTLResource>, StageResourceUsage> bound_resources; |
1430 | 1430 | auto add_usage = [&bound_resources](id<MTLResource> __unsafe_unretained res, RDD::ShaderStage stage, MTLResourceUsage usage) { |
|
0 commit comments