Vulkan: Resolve Builtin Uniform(Block). #105128
|
@ -85,6 +85,20 @@ void VKShaderInterface::init(const shader::ShaderCreateInfo &info)
|
|||
|
||||
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.*/
|
||||
descriptor_set_locations_ = Array<VKDescriptorSet::Location>(input_tot_len);
|
||||
uint32_t descriptor_set_location = 0;
|
||||
|
|
Loading…
Reference in New Issue