Vulkan: Resolve Builtin Uniform(Block). #105128
|
@ -85,6 +85,20 @@ void VKShaderInterface::init(const shader::ShaderCreateInfo &info)
|
||||||
|
|
||||||
sort_inputs();
|
sort_inputs();
|
||||||
|
|
||||||
|
/* Builtin Uniforms */
|
||||||
|
for (int32_t u_int = 0; u_int < GPU_NUM_UNIFORMS; u_int++) {
|
||||||
|
GPUUniformBuiltin u = static_cast<GPUUniformBuiltin>(u_int);
|
||||||
|
const ShaderInput *uni = this->uniform_get(builtin_uniform_name(u));
|
||||||
|
builtins_[u] = (uni != nullptr) ? uni->location : -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Builtin Uniforms Blocks */
|
||||||
|
for (int32_t u_int = 0; u_int < GPU_NUM_UNIFORM_BLOCKS; u_int++) {
|
||||||
|
GPUUniformBlockBuiltin u = static_cast<GPUUniformBlockBuiltin>(u_int);
|
||||||
|
const ShaderInput *block = this->ubo_get(builtin_uniform_block_name(u));
|
||||||
|
builtin_blocks_[u] = (block != nullptr) ? block->binding : -1;
|
||||||
|
}
|
||||||
|
|
||||||
/* Determine the descriptor set locations after the inputs have been sorted.*/
|
/* Determine the descriptor set locations after the inputs have been sorted.*/
|
||||||
descriptor_set_locations_ = Array<VKDescriptorSet::Location>(input_tot_len);
|
descriptor_set_locations_ = Array<VKDescriptorSet::Location>(input_tot_len);
|
||||||
uint32_t descriptor_set_location = 0;
|
uint32_t descriptor_set_location = 0;
|
||||||
|
|
Loading…
Reference in New Issue